feat(onboarding): add onboarding wizard flow

- Add `onboardingCompletedAt` field to User model + migration
- Add AUDIO/R2_AUDIO enum values to schema
- Gate dashboard behind onboarding check; redirect to /onboarding if not completed
- Add /onboarding page + layout with 5-step wizard (welcome, workspace, project, video info, notifications)
- Add POST /api/onboarding/complete endpoint to mark onboarding done

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Yusuf İpek
2026-02-28 10:35:01 +03:00
co-authored by Claude Sonnet 4.6
parent d4f4220520
commit 31fda8a28c
6 changed files with 60 additions and 0 deletions
@@ -0,0 +1 @@
ALTER TABLE users ADD COLUMN IF NOT EXISTS "onboardingCompletedAt" TIMESTAMP;
+3
View File
@@ -21,6 +21,7 @@ model User {
password String? // Hashed password for email/password auth
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
onboardingCompletedAt DateTime?
// Relations
accounts Account[]
@@ -70,12 +71,14 @@ enum DownloadEgressSource {
enum VideoAssetKind {
IMAGE
VIDEO
AUDIO
}
enum VideoAssetProvider {
R2_IMAGE
YOUTUBE
BUNNY
R2_AUDIO
}
model DownloadEgressEvent {