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:
parent
1a01cea33c
commit
f1321df83c
8 changed files with 130 additions and 13 deletions
|
|
@ -208,6 +208,37 @@ OAuth provider도 아직 Supabase에 설정 안 된 상태. 강제 게이트는
|
|||
- `~/Library/Application Support/d3ro-voice/users/${uuid}/d3ro.db` 파일 생성 확인
|
||||
- 기존 `d3ro-voice.db`가 있는 환경에서 archive rename 동작 확인
|
||||
|
||||
### SaaS [4] 회원가입 / 온보딩 (Phase 2, 2026-04-11)
|
||||
|
||||
> 기존 `OnboardingModal`을 로컬 모드 entry point에 맞게 정리 + Cloud Sync 티저 step 추가.
|
||||
|
||||
- **AppConfig 타입 정식화**
|
||||
- `packages/core/src/types.ts` `AppConfig`에 `onboardingCompleted: boolean` 추가
|
||||
- `ConfigService.CONFIG_DEFAULTS`에 `onboardingCompleted: false` 추가
|
||||
- 타입 캐스팅(`as keyof AppConfig`, `as never`) 3곳 제거:
|
||||
- `AppLayout.tsx` 첫 실행 감지: `cfg.onboardingCompleted` 직접 접근
|
||||
- `OnboardingModal.tsx` handleFinish: `key: 'onboardingCompleted'` 리터럴
|
||||
- `SettingsModal.tsx` "온보딩 다시 보기" 버튼: 동일
|
||||
- **온보딩 Step 확장 (5 → 6 step)**
|
||||
- 기존 flow: 환영 → 마이크 → 핫키 → Ollama → 완료
|
||||
- 새 flow: 환영 → 마이크 → 핫키 → Ollama → **Cloud Sync(선택)** → 완료
|
||||
- Cloud Sync step은 `saasMode === true`일 때만 노출:
|
||||
- `getState()`로 saasMode 조회
|
||||
- Ollama "다음" → `nextAfterOllama()`: saasMode면 step 4, 아니면 step 5로 분기
|
||||
- Cloud Sync step 내용: tagline + 3개 benefit (동기화/Premium LLM/팀공유) + "설정에서 언제든지 로그인" 안내. **로그인 버튼 없음 — onboarding scope 밖** (Settings의 CloudSyncSection이 유일한 OAuth 진입점).
|
||||
- **i18n ko/en 키 추가** (`packages/i18n/src/locales/`):
|
||||
- `onboarding.cloud.title` / `tagline` / `benefit1~3` / `signInLater`
|
||||
- 나머지 10개 locale은 fallback (Phase 2 scope 밖, 추후 일괄)
|
||||
- **검증**
|
||||
- desktop `tsc --noEmit` ✅
|
||||
- desktop `npm run build` ✅ (renderer 2,129kB, +3kB)
|
||||
- 수동 검증 대기: Settings → About → "온보딩 다시 보기" 눌러서 신규 시퀀스 확인
|
||||
- **Phase 2에서 의도적으로 뺀 것** (추후 사이클)
|
||||
- Supabase `profiles.onboarded_at` 컬럼 — OAuth provider(Google) 설정 전까진 의미 없음
|
||||
- OAuth 로그인 후 "환영" 페이지 — provider 연결 후 Phase 4와 함께
|
||||
- STT 모델 선택 step — faster-whisper sidecar가 첫 사용 시 자동 다운로드하므로 불필요
|
||||
- 온보딩 키의 나머지 10개 locale 번역
|
||||
|
||||
### SaaS [3.5] 로컬 모드 = entry point (Phase 1.5, 2026-04-11)
|
||||
|
||||
> 비즈니스 모델: 무료 로컬 모드 = onboarding funnel 입구 (킬러 피처),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue