feat(desktop): SaaS [4] 온보딩 — Cloud Sync 티저 step + AppConfig 타입 정리 (빅뱅 Phase 2)

AppConfig 정식화:
- packages/core types.ts: onboardingCompleted: boolean 추가
- ConfigService CONFIG_DEFAULTS 동기화
- 타입 캐스팅 3곳 제거 (AppLayout/OnboardingModal/SettingsModal)

OnboardingModal 6 step 확장:
- 기존: 환영 → 마이크 → 핫키 → Ollama → 완료
- 신규: 환영 → 마이크 → 핫키 → Ollama → Cloud Sync(선택) → 완료
- saasMode === true 일 때만 Cloud Sync step 노출
- Step 내용: tagline + 3 benefit (sync/premium LLM/team share)
  + "설정에서 언제든지 로그인" 안내
- 온보딩 scope 안에서는 로그인 버튼 미노출 — 부담 제로 유지
  (Settings의 CloudSyncSection이 유일한 OAuth 진입점)

i18n:
- ko/en에 onboarding.cloud.* 6개 키 추가
- 나머지 10개 locale은 추후 일괄 (Phase 2 scope 밖)

의도적 제외:
- Supabase profiles.onboarded_at — OAuth provider 설정 전까진 의미 없음
- OAuth 후 환영 페이지 — Phase 4 티어 enforcement와 함께
- STT 모델 선택 — sidecar가 자동 다운로드
This commit is contained in:
윤찬 2026-04-11 10:16:06 +09:00
parent 1a01cea33c
commit f1321df83c
8 changed files with 130 additions and 13 deletions

View file

@ -159,6 +159,12 @@
"onboarding.ollama.desc": "Ollama is required for LLM post-processing like translation and summarization. Voice dictation works without it.",
"onboarding.ollama.download": "Download Ollama",
"onboarding.ollama.modelHint": "After installation, download a model from your terminal",
"onboarding.cloud.title": "Cloud Sync (Optional)",
"onboarding.cloud.tagline": "D3RO works great offline. Sign in whenever you want to unlock more.",
"onboarding.cloud.benefit1": "Sync history & meetings across all your devices",
"onboarding.cloud.benefit2": "Premium LLMs (Claude, GPT-4 class)",
"onboarding.cloud.benefit3": "Team sharing · backups · web app access",
"onboarding.cloud.signInLater": "Sign in later from Settings",
"onboarding.done.title": "You're all set!",
"onboarding.done.descWithKey": "Hold {{key}} and speak — your voice will be converted to text.",
"onboarding.done.descNoKey": "Set a shortcut in Settings to start voice dictation.",