@digilogiclabs/create-saas-app 2.11.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/template-generator.d.ts.map +1 -1
- package/dist/generators/template-generator.js +15 -8
- package/dist/generators/template-generator.js.map +1 -1
- package/dist/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
- package/dist/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
- package/dist/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
- package/dist/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
- package/dist/templates/shared/design/web/src/components/ui/button.tsx +56 -0
- package/dist/templates/shared/email/web/src/lib/email/client.ts +1 -1
- package/dist/templates/shared/error-pages/web/src/app/error.tsx +13 -11
- package/dist/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
- package/dist/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
- package/dist/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
- package/dist/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
- package/dist/templates/shared/loading/web/components/skeleton.tsx +4 -4
- package/dist/templates/shared/mock/web/.env.local +55 -0
- package/dist/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
- package/dist/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
- package/dist/templates/shared/mock/web/src/lib/mock.ts +147 -0
- package/dist/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
- package/dist/templates/shared/redis/web/src/lib/redis.ts +1 -1
- package/dist/templates/web/base/template/eslint.config.mjs +14 -0
- package/dist/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
- package/dist/templates/web/base/template/src/app/checkout/page.tsx +76 -103
- package/dist/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
- package/dist/templates/web/base/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/base/template/src/app/login/page.tsx +116 -66
- package/dist/templates/web/base/template/src/app/page.tsx +97 -193
- package/dist/templates/web/base/template/src/app/settings/page.tsx +154 -0
- package/dist/templates/web/base/template/src/app/signup/page.tsx +117 -66
- package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/base/template/src/components/shared/header.tsx +229 -63
- package/dist/templates/web/ui-auth/template/eslint.config.mjs +14 -0
- package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
- package/dist/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
- package/dist/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
- package/dist/templates/web/ui-auth/template/src/app/page.tsx +106 -306
- package/dist/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
- package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
- package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
- package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
- package/dist/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
- package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
- package/dist/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
- package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
- package/dist/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
- package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
- package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
- package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
- package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
- package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
- package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
- package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
- package/dist/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
- package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
- package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
- package/dist/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
- package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
- package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
- package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
- package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
- package/dist/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
- package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
- package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
- package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
- package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
- package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
- package/dist/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
- package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
- package/dist/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
- package/dist/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
- package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
- package/dist/templates/web/ui-only/template/eslint.config.mjs +14 -0
- package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
- package/dist/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
- package/dist/templates/web/ui-only/template/src/app/page.tsx +69 -91
- package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
- package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
- package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
- package/dist/templates/web/ui-package-test/template/package.json +19 -23
- package/dist/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
- package/dist/templates/web/ui-package-test/template/src/app/globals.css +88 -0
- package/dist/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
- package/dist/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
- package/package.json +1 -1
- package/src/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
- package/src/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
- package/src/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
- package/src/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
- package/src/templates/shared/design/web/src/components/ui/button.tsx +56 -0
- package/src/templates/shared/email/web/src/lib/email/client.ts +1 -1
- package/src/templates/shared/error-pages/web/src/app/error.tsx +13 -11
- package/src/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
- package/src/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
- package/src/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
- package/src/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
- package/src/templates/shared/loading/web/components/skeleton.tsx +4 -4
- package/src/templates/shared/mock/web/.env.local +55 -0
- package/src/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
- package/src/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
- package/src/templates/shared/mock/web/src/lib/mock.ts +147 -0
- package/src/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
- package/src/templates/shared/redis/web/src/lib/redis.ts +1 -1
- package/src/templates/web/base/template/eslint.config.mjs +14 -0
- package/src/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
- package/src/templates/web/base/template/src/app/checkout/page.tsx +76 -103
- package/src/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
- package/src/templates/web/base/template/src/app/layout.tsx +40 -38
- package/src/templates/web/base/template/src/app/login/page.tsx +116 -66
- package/src/templates/web/base/template/src/app/page.tsx +97 -193
- package/src/templates/web/base/template/src/app/settings/page.tsx +154 -0
- package/src/templates/web/base/template/src/app/signup/page.tsx +117 -66
- package/src/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/base/template/src/components/shared/header.tsx +229 -63
- package/src/templates/web/ui-auth/template/eslint.config.mjs +14 -0
- package/src/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
- package/src/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
- package/src/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
- package/src/templates/web/ui-auth/template/src/app/page.tsx +106 -306
- package/src/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
- package/src/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
- package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
- package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
- package/src/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
- package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
- package/src/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
- package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
- package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
- package/src/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
- package/src/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
- package/src/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
- package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
- package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
- package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
- package/src/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
- package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
- package/src/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
- package/src/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
- package/src/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
- package/src/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
- package/src/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
- package/src/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
- package/src/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
- package/src/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
- package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
- package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
- package/src/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
- package/src/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
- package/src/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
- package/src/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
- package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
- package/src/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
- package/src/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
- package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
- package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
- package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
- package/src/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
- package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
- package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
- package/src/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
- package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
- package/src/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
- package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
- package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
- package/src/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
- package/src/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
- package/src/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
- package/src/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
- package/src/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
- package/src/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
- package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
- package/src/templates/web/ui-only/template/eslint.config.mjs +14 -0
- package/src/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
- package/src/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
- package/src/templates/web/ui-only/template/src/app/page.tsx +69 -91
- package/src/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
- package/src/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
- package/src/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
- package/src/templates/web/ui-package-test/template/package.json +19 -23
- package/src/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
- package/src/templates/web/ui-package-test/template/src/app/globals.css +88 -0
- package/src/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
- package/src/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
- package/dist/templates/web/base/template/.eslintrc.js +0 -8
- package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/base/template/src/test/setup.ts +0 -74
- package/dist/templates/web/base/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth/template/.eslintrc.js +0 -8
- package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
- package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
- package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
- package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
- package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
- package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
- package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-only/template/.eslintrc.js +0 -8
- package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-only/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-only/template/vitest.config.ts +0 -17
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
- package/src/templates/web/base/template/.eslintrc.js +0 -8
- package/src/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/base/template/src/test/setup.ts +0 -74
- package/src/templates/web/base/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth/template/.eslintrc.js +0 -8
- package/src/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
- package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
- package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
- package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
- package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
- package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
- package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
- package/src/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-only/template/.eslintrc.js +0 -8
- package/src/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-only/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-only/template/vitest.config.ts +0 -17
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
Card,
|
|
7
7
|
Input,
|
|
8
8
|
Label,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
|
|
10
|
+
|
|
11
11
|
Tabs,
|
|
12
12
|
TabsList,
|
|
13
13
|
TabsTrigger,
|
|
14
14
|
TabsContent
|
|
15
15
|
} from '@digilogiclabs/saas-factory-ui'
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
import { useRouter } from 'next/navigation'
|
|
18
18
|
import {
|
|
19
19
|
User,
|
|
@@ -28,12 +28,13 @@ import {
|
|
|
28
28
|
import Link from 'next/link'
|
|
29
29
|
|
|
30
30
|
export default function SettingsPage() {
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
const router = useRouter()
|
|
33
33
|
const [activeTab, setActiveTab] = useState('profile')
|
|
34
34
|
const [isLoading, setIsLoading] = useState(false)
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
// TODO: Add auth check
|
|
37
|
+
if (false) {
|
|
37
38
|
router.push('/login')
|
|
38
39
|
return null
|
|
39
40
|
}
|
|
@@ -48,9 +49,9 @@ export default function SettingsPage() {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
return (
|
|
51
|
-
<
|
|
52
|
+
<div>
|
|
52
53
|
<main className="min-h-screen bg-gradient-to-br from-primary/5 via-background to-secondary/5">
|
|
53
|
-
<
|
|
54
|
+
<div className="max-w-4xl mx-auto px-4">
|
|
54
55
|
{/* Header */}
|
|
55
56
|
<div className="flex items-center justify-between mb-8">
|
|
56
57
|
<div className="flex items-center gap-4">
|
|
@@ -59,7 +60,7 @@ export default function SettingsPage() {
|
|
|
59
60
|
</Link>
|
|
60
61
|
<div>
|
|
61
62
|
<h1 className="text-2xl font-bold">Settings</h1>
|
|
62
|
-
<p className="text-
|
|
63
|
+
<p className="text-muted-foreground">Manage your account and preferences</p>
|
|
63
64
|
</div>
|
|
64
65
|
</div>
|
|
65
66
|
</div>
|
|
@@ -98,7 +99,7 @@ export default function SettingsPage() {
|
|
|
98
99
|
<form onSubmit={(e) => handleSaveSettings(e, 'profile')} className="space-y-6">
|
|
99
100
|
<div>
|
|
100
101
|
<h3 className="text-lg font-semibold mb-1">Personal Information</h3>
|
|
101
|
-
<p className="text-sm text-
|
|
102
|
+
<p className="text-sm text-muted-foreground mb-4">Update your basic profile information</p>
|
|
102
103
|
<div className="space-y-4">
|
|
103
104
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
104
105
|
<div>
|
|
@@ -112,8 +113,8 @@ export default function SettingsPage() {
|
|
|
112
113
|
</div>
|
|
113
114
|
<div>
|
|
114
115
|
<Label htmlFor="email">Email Address</Label>
|
|
115
|
-
<Input id="email" name="email" type="email" placeholder="Enter your email" defaultValue=
|
|
116
|
-
<p className="text-xs text-
|
|
116
|
+
<Input id="email" name="email" type="email" placeholder="Enter your email" defaultValue="" required />
|
|
117
|
+
<p className="text-xs text-muted-foreground mt-1">Changing your email will require verification</p>
|
|
117
118
|
</div>
|
|
118
119
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
119
120
|
<div>
|
|
@@ -134,7 +135,7 @@ export default function SettingsPage() {
|
|
|
134
135
|
|
|
135
136
|
<div>
|
|
136
137
|
<h3 className="text-lg font-semibold mb-1">Contact Information</h3>
|
|
137
|
-
<p className="text-sm text-
|
|
138
|
+
<p className="text-sm text-muted-foreground mb-4">How we can reach you</p>
|
|
138
139
|
<div className="space-y-4">
|
|
139
140
|
<div>
|
|
140
141
|
<Label htmlFor="phone">Phone Number</Label>
|
|
@@ -170,7 +171,7 @@ export default function SettingsPage() {
|
|
|
170
171
|
<form onSubmit={(e) => handleSaveSettings(e, 'security')} className="space-y-6">
|
|
171
172
|
<div>
|
|
172
173
|
<h3 className="text-lg font-semibold mb-1">Password & Authentication</h3>
|
|
173
|
-
<p className="text-sm text-
|
|
174
|
+
<p className="text-sm text-muted-foreground mb-4">Manage your login credentials</p>
|
|
174
175
|
<div className="space-y-4">
|
|
175
176
|
<div>
|
|
176
177
|
<Label htmlFor="currentPassword">Current Password</Label>
|
|
@@ -179,7 +180,7 @@ export default function SettingsPage() {
|
|
|
179
180
|
<div>
|
|
180
181
|
<Label htmlFor="newPassword">New Password</Label>
|
|
181
182
|
<Input id="newPassword" name="newPassword" type="password" placeholder="Enter a new password" />
|
|
182
|
-
<p className="text-xs text-
|
|
183
|
+
<p className="text-xs text-muted-foreground mt-1">Password must be at least 8 characters with uppercase, lowercase, and number</p>
|
|
183
184
|
</div>
|
|
184
185
|
<div>
|
|
185
186
|
<Label htmlFor="confirmNewPassword">Confirm New Password</Label>
|
|
@@ -190,7 +191,7 @@ export default function SettingsPage() {
|
|
|
190
191
|
|
|
191
192
|
<div>
|
|
192
193
|
<h3 className="text-lg font-semibold mb-1">Two-Factor Authentication</h3>
|
|
193
|
-
<p className="text-sm text-
|
|
194
|
+
<p className="text-sm text-muted-foreground mb-4">Add an extra layer of security</p>
|
|
194
195
|
<div className="space-y-3">
|
|
195
196
|
<label className="flex items-center gap-2">
|
|
196
197
|
<input type="checkbox" name="enableTwoFactor" className="rounded" />
|
|
@@ -215,12 +216,12 @@ export default function SettingsPage() {
|
|
|
215
216
|
|
|
216
217
|
<div>
|
|
217
218
|
<h3 className="text-lg font-semibold mb-1">Login Sessions</h3>
|
|
218
|
-
<p className="text-sm text-
|
|
219
|
+
<p className="text-sm text-muted-foreground mb-4">Manage your active sessions</p>
|
|
219
220
|
<div className="p-4 border rounded-lg mb-4">
|
|
220
221
|
<div className="flex justify-between items-start">
|
|
221
222
|
<div>
|
|
222
223
|
<div className="font-medium">Current Session</div>
|
|
223
|
-
<div className="text-sm text-
|
|
224
|
+
<div className="text-sm text-muted-foreground">
|
|
224
225
|
Chrome on Mac • Active now
|
|
225
226
|
</div>
|
|
226
227
|
</div>
|
|
@@ -246,7 +247,7 @@ export default function SettingsPage() {
|
|
|
246
247
|
<form onSubmit={(e) => handleSaveSettings(e, 'ai')} className="space-y-6">
|
|
247
248
|
<div>
|
|
248
249
|
<h3 className="text-lg font-semibold mb-1">AI Model Preferences</h3>
|
|
249
|
-
<p className="text-sm text-
|
|
250
|
+
<p className="text-sm text-muted-foreground mb-4">Configure your preferred AI models and behavior</p>
|
|
250
251
|
<div className="space-y-4">
|
|
251
252
|
<div>
|
|
252
253
|
<Label htmlFor="defaultTextModel">Default Text Model</Label>
|
|
@@ -260,7 +261,7 @@ export default function SettingsPage() {
|
|
|
260
261
|
<div>
|
|
261
262
|
<Label htmlFor="creativityLevel">Creativity Level</Label>
|
|
262
263
|
<input type="range" id="creativityLevel" name="creativityLevel" min={0} max={100} defaultValue={70} className="w-full" />
|
|
263
|
-
<p className="text-xs text-
|
|
264
|
+
<p className="text-xs text-muted-foreground mt-1">Lower values are more conservative, higher values are more creative</p>
|
|
264
265
|
</div>
|
|
265
266
|
<div>
|
|
266
267
|
<Label htmlFor="responseLength">Default Response Length</Label>
|
|
@@ -276,12 +277,12 @@ export default function SettingsPage() {
|
|
|
276
277
|
|
|
277
278
|
<div>
|
|
278
279
|
<h3 className="text-lg font-semibold mb-1">Usage & Limits</h3>
|
|
279
|
-
<p className="text-sm text-
|
|
280
|
+
<p className="text-sm text-muted-foreground mb-4">Manage your AI usage preferences</p>
|
|
280
281
|
<div className="space-y-4">
|
|
281
282
|
<div>
|
|
282
283
|
<Label htmlFor="monthlyLimit">Monthly Request Limit</Label>
|
|
283
284
|
<Input id="monthlyLimit" name="monthlyLimit" type="number" min={0} defaultValue={0} placeholder="Enter limit (0 for unlimited)" />
|
|
284
|
-
<p className="text-xs text-
|
|
285
|
+
<p className="text-xs text-muted-foreground mt-1">Set a limit to control your usage and costs</p>
|
|
285
286
|
</div>
|
|
286
287
|
<label className="flex items-center gap-2">
|
|
287
288
|
<input type="checkbox" name="lowUsageAlerts" defaultChecked className="rounded" />
|
|
@@ -304,7 +305,7 @@ export default function SettingsPage() {
|
|
|
304
305
|
<form onSubmit={(e) => handleSaveSettings(e, 'notifications')} className="space-y-6">
|
|
305
306
|
<div>
|
|
306
307
|
<h3 className="text-lg font-semibold mb-1">Email Notifications</h3>
|
|
307
|
-
<p className="text-sm text-
|
|
308
|
+
<p className="text-sm text-muted-foreground mb-4">Choose what emails you want to receive</p>
|
|
308
309
|
<div className="space-y-3">
|
|
309
310
|
{[
|
|
310
311
|
{ value: 'account', label: 'Account & Security Updates', checked: true },
|
|
@@ -332,7 +333,7 @@ export default function SettingsPage() {
|
|
|
332
333
|
|
|
333
334
|
<div>
|
|
334
335
|
<h3 className="text-lg font-semibold mb-1">Push Notifications</h3>
|
|
335
|
-
<p className="text-sm text-
|
|
336
|
+
<p className="text-sm text-muted-foreground mb-4">Browser and mobile push notifications</p>
|
|
336
337
|
<div className="space-y-3">
|
|
337
338
|
<label className="flex items-center gap-2">
|
|
338
339
|
<input type="checkbox" name="pushNotifications" defaultChecked className="rounded" />
|
|
@@ -365,7 +366,7 @@ export default function SettingsPage() {
|
|
|
365
366
|
|
|
366
367
|
{/* Appearance placeholder */}
|
|
367
368
|
<TabsContent value="appearance" className="p-6">
|
|
368
|
-
<div className="text-center py-12 text-
|
|
369
|
+
<div className="text-center py-12 text-muted-foreground">
|
|
369
370
|
<Palette className="w-12 h-12 mx-auto mb-4 opacity-50" />
|
|
370
371
|
<h3 className="text-lg font-semibold mb-2">Appearance Settings</h3>
|
|
371
372
|
<p>Theme and display preferences coming soon.</p>
|
|
@@ -374,7 +375,7 @@ export default function SettingsPage() {
|
|
|
374
375
|
|
|
375
376
|
{/* Team placeholder */}
|
|
376
377
|
<TabsContent value="team" className="p-6">
|
|
377
|
-
<div className="text-center py-12 text-
|
|
378
|
+
<div className="text-center py-12 text-muted-foreground">
|
|
378
379
|
<Users className="w-12 h-12 mx-auto mb-4 opacity-50" />
|
|
379
380
|
<h3 className="text-lg font-semibold mb-2">Team Settings</h3>
|
|
380
381
|
<p>Team management and collaboration settings coming soon.</p>
|
|
@@ -382,8 +383,8 @@ export default function SettingsPage() {
|
|
|
382
383
|
</TabsContent>
|
|
383
384
|
</Tabs>
|
|
384
385
|
</Card>
|
|
385
|
-
</
|
|
386
|
+
</div>
|
|
386
387
|
</main>
|
|
387
|
-
</
|
|
388
|
+
</div>
|
|
388
389
|
)
|
|
389
390
|
}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Button,
|
|
6
|
-
PageTransition,
|
|
7
|
-
MobileContainer,
|
|
8
|
-
ResponsiveGrid,
|
|
9
|
-
useAnimationTokens,
|
|
10
|
-
useGlassmorphism
|
|
11
|
-
} from '@digilogiclabs/saas-factory-ui'
|
|
3
|
+
|
|
4
|
+
// UI components from saas-factory-ui available: Button, Card, Input, Label, etc.
|
|
12
5
|
import {
|
|
13
6
|
ArrowLeft,
|
|
14
7
|
CheckCircle,
|
|
@@ -51,9 +44,6 @@ interface ServiceConfig {
|
|
|
51
44
|
}
|
|
52
45
|
|
|
53
46
|
export default function SetupPage() {
|
|
54
|
-
const animations = useAnimationTokens()
|
|
55
|
-
const glass = useGlassmorphism()
|
|
56
|
-
|
|
57
47
|
// Static glassmorphism classes to avoid template literal corruption
|
|
58
48
|
const glassCard = "bg-white/10 backdrop-blur-lg border border-white/20"
|
|
59
49
|
const glassCardRounded = "bg-white/10 backdrop-blur-lg border border-white/20 rounded-2xl"
|
|
@@ -141,7 +131,7 @@ CREATE POLICY "Users can view own conversations" ON ai_conversations FOR ALL USI
|
|
|
141
131
|
{
|
|
142
132
|
name: "Stripe (Payments)",
|
|
143
133
|
status: 'required',
|
|
144
|
-
icon:
|
|
134
|
+
icon: CreditCard,
|
|
145
135
|
description: "Payment processing for subscriptions, one-time payments, and billing management.",
|
|
146
136
|
setupSteps: [
|
|
147
137
|
{
|
|
@@ -168,7 +158,6 @@ const payload = await request.text()
|
|
|
168
158
|
|
|
169
159
|
try {
|
|
170
160
|
const event = stripe.webhooks.constructEvent(payload, sig, endpointSecret)
|
|
171
|
-
|
|
172
161
|
switch (event.type) {
|
|
173
162
|
case 'customer.subscription.created':
|
|
174
163
|
case 'customer.subscription.updated':
|
|
@@ -209,7 +198,7 @@ try {
|
|
|
209
198
|
{
|
|
210
199
|
name: "OpenAI (AI Provider)",
|
|
211
200
|
status: 'required',
|
|
212
|
-
icon:
|
|
201
|
+
icon: Brain,
|
|
213
202
|
description: "Primary AI provider for text generation, chat, and other AI capabilities.",
|
|
214
203
|
setupSteps: [
|
|
215
204
|
{
|
|
@@ -330,7 +319,7 @@ const response = await openai.chat.completions.create({
|
|
|
330
319
|
case 'required': return 'text-red-400'
|
|
331
320
|
case 'optional': return 'text-yellow-400'
|
|
332
321
|
case 'configured': return 'text-green-400'
|
|
333
|
-
default: return 'text-
|
|
322
|
+
default: return 'text-muted-foreground'
|
|
334
323
|
}
|
|
335
324
|
}
|
|
336
325
|
|
|
@@ -344,20 +333,20 @@ const response = await openai.chat.completions.create({
|
|
|
344
333
|
}
|
|
345
334
|
|
|
346
335
|
return (
|
|
347
|
-
<
|
|
336
|
+
<div>
|
|
348
337
|
<main className={`min-h-screen ${glassBackground} relative overflow-hidden`}>
|
|
349
338
|
<div className="absolute inset-0 bg-gradient-to-tr from-purple-500/10 to-blue-500/10 opacity-30" />
|
|
350
339
|
<div className="relative z-10">
|
|
351
|
-
<
|
|
340
|
+
<div className="max-w-4xl mx-auto px-4">
|
|
352
341
|
{/* Header */}
|
|
353
342
|
<div className="flex items-center justify-between mb-8">
|
|
354
343
|
<div className="flex items-center gap-4">
|
|
355
|
-
<Link href="/" className={`${glassCard} p-2 rounded-xl
|
|
344
|
+
<Link href="/" className={`${glassCard} p-2 rounded-xl hover:scale-[1.02] transition-transform`}>
|
|
356
345
|
<ArrowLeft className="w-5 h-5" />
|
|
357
346
|
</Link>
|
|
358
347
|
<div>
|
|
359
348
|
<h1 className="text-2xl font-bold">Setup Guide</h1>
|
|
360
|
-
<p className="text-
|
|
349
|
+
<p className="text-muted-foreground">{templateName}</p>
|
|
361
350
|
</div>
|
|
362
351
|
</div>
|
|
363
352
|
<div className={`${glassCard} px-4 py-2 rounded-xl`}>
|
|
@@ -373,7 +362,7 @@ const response = await openai.chat.completions.create({
|
|
|
373
362
|
</div>
|
|
374
363
|
<div>
|
|
375
364
|
<h2 className="text-xl font-semibold">{templateName}</h2>
|
|
376
|
-
<p className="text-
|
|
365
|
+
<p className="text-muted-foreground">{templateDescription}</p>
|
|
377
366
|
</div>
|
|
378
367
|
</div>
|
|
379
368
|
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mt-6">
|
|
@@ -421,7 +410,7 @@ const response = await openai.chat.completions.create({
|
|
|
421
410
|
</div>
|
|
422
411
|
<div className="flex items-center gap-3">
|
|
423
412
|
<CheckCircle className="w-5 h-5 text-green-400" />
|
|
424
|
-
<span>5. Run <code className="px-2 py-1 bg-
|
|
413
|
+
<span>5. Run <code className="px-2 py-1 bg-card rounded text-green-400">npm run dev</code> to start developing</span>
|
|
425
414
|
</div>
|
|
426
415
|
</div>
|
|
427
416
|
</div>
|
|
@@ -429,13 +418,13 @@ const response = await openai.chat.completions.create({
|
|
|
429
418
|
{/* Environment Variables */}
|
|
430
419
|
<div className={`${glassCardRounded} p-6 mb-8`}>
|
|
431
420
|
<h3 className="text-lg font-semibold mb-4 flex items-center gap-2">
|
|
432
|
-
<Key className="w-5 h-5 text-
|
|
421
|
+
<Key className="w-5 h-5 text-primary" />
|
|
433
422
|
Environment Variables
|
|
434
423
|
</h3>
|
|
435
|
-
<p className="text-sm text-
|
|
436
|
-
Copy these to your <code className="px-2 py-1 bg-
|
|
424
|
+
<p className="text-sm text-muted-foreground mb-4">
|
|
425
|
+
Copy these to your <code className="px-2 py-1 bg-card rounded">.env.local</code> file:
|
|
437
426
|
</p>
|
|
438
|
-
<div className="bg-
|
|
427
|
+
<div className="bg-background rounded-xl p-4 overflow-x-auto">
|
|
439
428
|
<pre className="text-sm text-green-400">
|
|
440
429
|
{allEnvVars.map(envVar => (
|
|
441
430
|
`${envVar.name}=${envVar.example}${envVar.required ? ' # Required' : ' # Optional'}`
|
|
@@ -446,7 +435,7 @@ const response = await openai.chat.completions.create({
|
|
|
446
435
|
allEnvVars.map(envVar => `${envVar.name}=${envVar.example}`).join('\n'),
|
|
447
436
|
'all-env-vars'
|
|
448
437
|
)}
|
|
449
|
-
className="mt-3 flex items-center gap-2 text-xs text-
|
|
438
|
+
className="mt-3 flex items-center gap-2 text-xs text-muted-foreground hover:text-white transition-colors"
|
|
450
439
|
>
|
|
451
440
|
<Copy className="w-4 h-4" />
|
|
452
441
|
{copiedVar === 'all-env-vars' ? 'Copied!' : 'Copy all environment variables'}
|
|
@@ -457,7 +446,7 @@ const response = await openai.chat.completions.create({
|
|
|
457
446
|
{/* Services Configuration */}
|
|
458
447
|
<div className="space-y-6">
|
|
459
448
|
<h3 className="text-lg font-semibold flex items-center gap-2">
|
|
460
|
-
<Settings className="w-5 h-5 text-
|
|
449
|
+
<Settings className="w-5 h-5 text-muted-foreground" />
|
|
461
450
|
Service Configuration
|
|
462
451
|
</h3>
|
|
463
452
|
|
|
@@ -469,7 +458,7 @@ const response = await openai.chat.completions.create({
|
|
|
469
458
|
<div key={service.name} className={`${glassCardRounded} p-6`}>
|
|
470
459
|
<div className="flex items-start justify-between mb-4">
|
|
471
460
|
<div className="flex items-center gap-3">
|
|
472
|
-
<div className={`w-10 h-10 rounded-xl bg-
|
|
461
|
+
<div className={`w-10 h-10 rounded-xl bg-card flex items-center justify-center`}>
|
|
473
462
|
<ServiceIcon className="w-5 h-5 text-white" />
|
|
474
463
|
</div>
|
|
475
464
|
<div>
|
|
@@ -477,7 +466,7 @@ const response = await openai.chat.completions.create({
|
|
|
477
466
|
{service.name}
|
|
478
467
|
<StatusIcon className={`w-4 h-4 ${getStatusColor(service.status)}`} />
|
|
479
468
|
</h4>
|
|
480
|
-
<p className="text-sm text-
|
|
469
|
+
<p className="text-sm text-muted-foreground">{service.description}</p>
|
|
481
470
|
</div>
|
|
482
471
|
</div>
|
|
483
472
|
<span className={`px-3 py-1 rounded-full text-xs font-medium ${
|
|
@@ -495,28 +484,28 @@ const response = await openai.chat.completions.create({
|
|
|
495
484
|
<div className="space-y-3">
|
|
496
485
|
{service.setupSteps.map((step, stepIndex) => (
|
|
497
486
|
<div key={stepIndex} className="flex gap-3">
|
|
498
|
-
<div className="w-6 h-6 rounded-full bg-
|
|
487
|
+
<div className="w-6 h-6 rounded-full bg-primary text-primary-foreground text-xs flex items-center justify-center flex-shrink-0 mt-0.5">
|
|
499
488
|
{stepIndex + 1}
|
|
500
489
|
</div>
|
|
501
490
|
<div className="flex-1">
|
|
502
491
|
<h6 className="font-medium">{step.title}</h6>
|
|
503
|
-
<p className="text-sm text-
|
|
492
|
+
<p className="text-sm text-muted-foreground">{step.description}</p>
|
|
504
493
|
{step.link && (
|
|
505
494
|
<a
|
|
506
495
|
href={step.link}
|
|
507
496
|
target="_blank"
|
|
508
497
|
rel="noopener noreferrer"
|
|
509
|
-
className="inline-flex items-center gap-1 text-sm text-
|
|
498
|
+
className="inline-flex items-center gap-1 text-sm text-primary hover:text-primary/80 mt-1"
|
|
510
499
|
>
|
|
511
500
|
Open Dashboard <ExternalLink className="w-3 h-3" />
|
|
512
501
|
</a>
|
|
513
502
|
)}
|
|
514
503
|
{step.code && (
|
|
515
504
|
<details className="mt-2">
|
|
516
|
-
<summary className="text-sm text-
|
|
505
|
+
<summary className="text-sm text-primary cursor-pointer hover:text-primary/80">
|
|
517
506
|
Show code example
|
|
518
507
|
</summary>
|
|
519
|
-
<pre className="bg-
|
|
508
|
+
<pre className="bg-background rounded-lg p-3 mt-2 text-xs overflow-x-auto">
|
|
520
509
|
<code className="text-green-400">{step.code}</code>
|
|
521
510
|
</pre>
|
|
522
511
|
</details>
|
|
@@ -532,25 +521,25 @@ const response = await openai.chat.completions.create({
|
|
|
532
521
|
<h5 className="font-semibold mb-3">Environment Variables:</h5>
|
|
533
522
|
<div className="space-y-2">
|
|
534
523
|
{service.envVars.map((envVar, envIndex) => (
|
|
535
|
-
<div key={envIndex} className="bg-
|
|
524
|
+
<div key={envIndex} className="bg-card/50 rounded-lg p-3">
|
|
536
525
|
<div className="flex items-center justify-between mb-1">
|
|
537
|
-
<code className="text-
|
|
526
|
+
<code className="text-primary font-mono text-sm">{envVar.name}</code>
|
|
538
527
|
<div className="flex items-center gap-2">
|
|
539
528
|
<span className={`px-2 py-1 rounded text-xs ${
|
|
540
|
-
envVar.required ? 'bg-red-500/20 text-red-400' : 'bg-
|
|
529
|
+
envVar.required ? 'bg-red-500/20 text-red-400' : 'bg-muted-foreground/20 text-muted-foreground'
|
|
541
530
|
}`}>
|
|
542
531
|
{envVar.required ? 'Required' : 'Optional'}
|
|
543
532
|
</span>
|
|
544
533
|
<button
|
|
545
534
|
onClick={() => copyToClipboard(`${envVar.name}=${envVar.example}`, envVar.name)}
|
|
546
|
-
className="p-1 hover:bg-
|
|
535
|
+
className="p-1 hover:bg-muted rounded transition-colors"
|
|
547
536
|
>
|
|
548
537
|
<Copy className="w-3 h-3" />
|
|
549
538
|
</button>
|
|
550
539
|
</div>
|
|
551
540
|
</div>
|
|
552
|
-
<p className="text-xs text-
|
|
553
|
-
<code className="text-xs text-
|
|
541
|
+
<p className="text-xs text-muted-foreground mb-2">{envVar.description}</p>
|
|
542
|
+
<code className="text-xs text-muted-foreground font-mono">{envVar.example}</code>
|
|
554
543
|
{copiedVar === envVar.name && (
|
|
555
544
|
<span className="text-xs text-green-400 ml-2">Copied!</span>
|
|
556
545
|
)}
|
|
@@ -569,25 +558,25 @@ const response = await openai.chat.completions.create({
|
|
|
569
558
|
<Zap className="w-5 h-5 text-yellow-400" />
|
|
570
559
|
Next Steps
|
|
571
560
|
</h3>
|
|
572
|
-
<p className="text-
|
|
561
|
+
<p className="text-muted-foreground mb-6">
|
|
573
562
|
Once you've configured your services, set up your development workflow and deploy your application.
|
|
574
563
|
</p>
|
|
575
564
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
576
565
|
<Link
|
|
577
566
|
href="/dev-setup"
|
|
578
|
-
className={`${glassCard} p-4 rounded-xl
|
|
567
|
+
className={`${glassCard} p-4 rounded-xl hover:scale-[1.02] transition-transform block`}
|
|
579
568
|
>
|
|
580
569
|
<Code2 className="w-8 h-8 text-purple-400 mb-2" />
|
|
581
570
|
<h4 className="font-medium">Development & Deployment</h4>
|
|
582
|
-
<p className="text-sm text-
|
|
571
|
+
<p className="text-sm text-muted-foreground">Claude AI setup and hosting guides</p>
|
|
583
572
|
</Link>
|
|
584
573
|
<Link
|
|
585
574
|
href="/"
|
|
586
|
-
className={`${glassCard} p-4 rounded-xl
|
|
575
|
+
className={`${glassCard} p-4 rounded-xl hover:scale-[1.02] transition-transform block`}
|
|
587
576
|
>
|
|
588
|
-
<Zap className="w-8 h-8 text-
|
|
577
|
+
<Zap className="w-8 h-8 text-primary mb-2" />
|
|
589
578
|
<h4 className="font-medium">Start Building</h4>
|
|
590
|
-
<p className="text-sm text-
|
|
579
|
+
<p className="text-sm text-muted-foreground">Go to your application and start coding</p>
|
|
591
580
|
</Link>
|
|
592
581
|
</div>
|
|
593
582
|
</div>
|
|
@@ -601,45 +590,41 @@ const response = await openai.chat.completions.create({
|
|
|
601
590
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
602
591
|
<a
|
|
603
592
|
href="https://docs.digilogiclabs.com"
|
|
604
|
-
className={`${glassCard} p-4 rounded-xl
|
|
593
|
+
className={`${glassCard} p-4 rounded-xl hover:scale-[1.02] transition-transform block`}
|
|
605
594
|
>
|
|
606
|
-
<FileText className="w-8 h-8 text-
|
|
595
|
+
<FileText className="w-8 h-8 text-primary mb-2" />
|
|
607
596
|
<h4 className="font-medium">Documentation</h4>
|
|
608
|
-
<p className="text-sm text-
|
|
597
|
+
<p className="text-sm text-muted-foreground">Complete guides and API reference</p>
|
|
609
598
|
</a>
|
|
610
599
|
<a
|
|
611
600
|
href="https://github.com/digilogiclabs/examples"
|
|
612
|
-
className={`${glassCard} p-4 rounded-xl
|
|
601
|
+
className={`${glassCard} p-4 rounded-xl hover:scale-[1.02] transition-transform block`}
|
|
613
602
|
>
|
|
614
603
|
<Code2 className="w-8 h-8 text-purple-400 mb-2" />
|
|
615
604
|
<h4 className="font-medium">Examples</h4>
|
|
616
|
-
<p className="text-sm text-
|
|
605
|
+
<p className="text-sm text-muted-foreground">Sample projects and code snippets</p>
|
|
617
606
|
</a>
|
|
618
607
|
</div>
|
|
619
608
|
</div>
|
|
620
609
|
|
|
621
610
|
{/* Support */}
|
|
622
|
-
<div className={
|
|
611
|
+
<div className={`rounded-xl border border-border bg-card rounded-2xl p-6 mt-8 text-center`}>
|
|
623
612
|
<h3 className="text-lg font-semibold mb-4">Need Help?</h3>
|
|
624
|
-
<p className="text-
|
|
613
|
+
<p className="text-muted-foreground mb-4">
|
|
625
614
|
Our community and support team are here to help you get started.
|
|
626
615
|
</p>
|
|
627
616
|
<div className="flex justify-center gap-4">
|
|
628
|
-
<
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
<a href="https://docs.digilogiclabs.com/support" target="_blank" rel="noopener noreferrer">
|
|
635
|
-
Get Support
|
|
636
|
-
</a>
|
|
637
|
-
</Button>
|
|
617
|
+
<a href="https://discord.gg/digilogiclabs" target="_blank" rel="noopener noreferrer" className="inline-flex items-center justify-center rounded-md border border-input bg-background px-3 py-1.5 text-sm font-medium text-foreground hover:bg-accent transition-colors">
|
|
618
|
+
Join Discord
|
|
619
|
+
</a>
|
|
620
|
+
<a href="https://docs.digilogiclabs.com/support" target="_blank" rel="noopener noreferrer" className="inline-flex items-center justify-center rounded-md bg-primary px-3 py-1.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors">
|
|
621
|
+
Get Support
|
|
622
|
+
</a>
|
|
638
623
|
</div>
|
|
639
624
|
</div>
|
|
640
|
-
</
|
|
625
|
+
</div>
|
|
641
626
|
</div>
|
|
642
627
|
</main>
|
|
643
|
-
</
|
|
628
|
+
</div>
|
|
644
629
|
)
|
|
645
630
|
}
|
package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx
CHANGED
|
@@ -1,52 +1,37 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { Button } from '@digilogiclabs/saas-factory-ui'
|
|
4
|
-
import { LogOut, User } from 'lucide-react'
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
</
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</div>
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<div className="flex gap-2">
|
|
44
|
-
<Link href="/login">
|
|
45
|
-
<Button variant="outline" size="sm">Sign In</Button>
|
|
46
|
-
</Link>
|
|
47
|
-
<Link href="/signup">
|
|
48
|
-
<Button size="sm">Sign Up</Button>
|
|
49
|
-
</Link>
|
|
50
|
-
</div>
|
|
51
|
-
)
|
|
52
|
-
}
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { Button } from '@digilogiclabs/saas-factory-ui'
|
|
4
|
+
import { LogOut, User } from 'lucide-react'
|
|
5
|
+
import Link from 'next/link'
|
|
6
|
+
|
|
7
|
+
export function AuthStatus() {
|
|
8
|
+
// TODO: Replace with your auth hook or server session check
|
|
9
|
+
const user = null as { email?: string } | null
|
|
10
|
+
|
|
11
|
+
if (!user) {
|
|
12
|
+
return (
|
|
13
|
+
<div className="flex items-center gap-2">
|
|
14
|
+
<Button variant="ghost" size="sm">
|
|
15
|
+
<Link href="/login">Sign In</Link>
|
|
16
|
+
</Button>
|
|
17
|
+
<Button size="sm">
|
|
18
|
+
<Link href="/signup">Sign Up</Link>
|
|
19
|
+
</Button>
|
|
20
|
+
</div>
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div className="flex items-center gap-3">
|
|
26
|
+
<div className="flex items-center gap-2 text-sm text-muted-foreground">
|
|
27
|
+
<User className="h-4 w-4" />
|
|
28
|
+
<span>{user.email}</span>
|
|
29
|
+
</div>
|
|
30
|
+
<Button variant="ghost" size="sm">
|
|
31
|
+
<Link href="/api/auth/signout">
|
|
32
|
+
<LogOut className="h-4 w-4" />
|
|
33
|
+
</Link>
|
|
34
|
+
</Button>
|
|
35
|
+
</div>
|
|
36
|
+
)
|
|
37
|
+
}
|