@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
|
@@ -1,350 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
Button,
|
|
5
|
-
Card,
|
|
6
|
-
PageTransition,
|
|
7
|
-
MobileContainer,
|
|
8
|
-
MobileHero,
|
|
9
|
-
ResponsiveGrid,
|
|
10
|
-
NetworkAwareContent,
|
|
11
|
-
OfflineWrapper,
|
|
12
|
-
SwipeableCard,
|
|
13
|
-
PullToRefresh,
|
|
14
|
-
LazyImage,
|
|
15
|
-
useNetworkInfo,
|
|
16
|
-
useOfflineState
|
|
17
|
-
} from '@digilogiclabs/saas-factory-ui'
|
|
18
|
-
import { ArrowRight, Zap, Shield, Rocket, CheckCircle, LogOut, User, Wifi, WifiOff, CreditCard, Smartphone } from 'lucide-react'
|
|
19
|
-
import { useAuth } from '@digilogiclabs/app-sdk'
|
|
1
|
+
import { ArrowRight, Zap, Shield, CreditCard, CheckCircle } from 'lucide-react'
|
|
20
2
|
import Link from 'next/link'
|
|
21
|
-
import { useState } from 'react'
|
|
22
|
-
|
|
23
|
-
export default function Home() {
|
|
24
|
-
const { user, signOut, loading } = useAuth()
|
|
25
|
-
const networkInfo = useNetworkInfo()
|
|
26
|
-
const isOnline = useOfflineState()
|
|
27
|
-
const [isRefreshing, setIsRefreshing] = useState(false)
|
|
28
|
-
|
|
29
|
-
const projectName = "{{titleCaseName}}"
|
|
30
|
-
const projectDescription = "{{description}}"
|
|
31
|
-
|
|
32
|
-
const gridConfig = {
|
|
33
|
-
columns_1_2: { base: 1, md: 2 },
|
|
34
|
-
columns_1_3: { base: 1, md: 3 },
|
|
35
|
-
columns_1_sm2: { base: 1, sm: 2 },
|
|
36
|
-
columns_1_sm2_md3: { base: 1, sm: 2, md: 3 },
|
|
37
|
-
columns_1_sm2_md4: { base: 1, sm: 2, md: 4 },
|
|
38
|
-
columns_2: { base: 2 },
|
|
39
|
-
columns_2_md3: { base: 2, md: 3 },
|
|
40
|
-
columns_2_2: { base: 2 },
|
|
41
|
-
columns_2_md4: { base: 2, md: 4 }
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const heroConfig = {
|
|
45
|
-
badge: {
|
|
46
|
-
text: "🚀 Complete SaaS Solution",
|
|
47
|
-
variant: "secondary" as const,
|
|
48
|
-
icon: <CheckCircle className="w-4 h-4" />
|
|
49
|
-
},
|
|
50
|
-
title: {
|
|
51
|
-
text: `Welcome to ${projectName}`,
|
|
52
|
-
highlight: projectName,
|
|
53
|
-
size: "xl" as const
|
|
54
|
-
},
|
|
55
|
-
description: `${projectDescription}. Everything you need to launch your SaaS business with secure authentication, seamless payments, and beautiful mobile-first design.`
|
|
56
|
-
}
|
|
57
3
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
}
|
|
4
|
+
const FEATURES = [
|
|
5
|
+
{ icon: Zap, title: 'Lightning Fast', description: 'Built with Next.js 15 and optimized for performance out of the box.', color: 'text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30' },
|
|
6
|
+
{ icon: Shield, title: 'Secure Authentication', description: 'Complete auth flow with Supabase — login, signup, OAuth, and session management.', color: 'text-emerald-600 dark:text-emerald-400 bg-emerald-100 dark:bg-emerald-900/30' },
|
|
7
|
+
{ icon: CreditCard, title: 'Stripe Payments', description: 'Integrated billing with subscriptions, checkout, and webhook handling.', color: 'text-purple-600 dark:text-purple-400 bg-purple-100 dark:bg-purple-900/30' },
|
|
8
|
+
]
|
|
65
9
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
10
|
+
const PRICING = [
|
|
11
|
+
{ name: 'Starter', price: '$9', features: ['Up to 1,000 users', 'Basic analytics', 'Email support', 'API access'], cta: 'Start Free Trial', featured: false },
|
|
12
|
+
{ name: 'Pro', price: '$29', features: ['Unlimited users', 'Advanced analytics', 'Priority support', 'Custom domains', 'Team management'], cta: 'Get Started', featured: true },
|
|
13
|
+
{ name: 'Enterprise', price: '$99', features: ['Everything in Pro', 'SSO/SAML', 'Dedicated support', 'SLA guarantee', 'Custom integrations'], cta: 'Contact Sales', featured: false },
|
|
14
|
+
]
|
|
72
15
|
|
|
16
|
+
export default function Home() {
|
|
73
17
|
return (
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<div className="absolute top-1/5 right-1/5 w-64 h-64 bg-primary/50 rounded-full mix-blend-multiply filter blur-3xl animate-pulse dark:bg-primary/70"></div>
|
|
95
|
-
<div className="absolute bottom-1/3 left-1/4 w-80 h-80 bg-secondary/50 rounded-full mix-blend-multiply filter blur-3xl animate-pulse animation-delay-2000 dark:bg-secondary/70"></div>
|
|
96
|
-
<div className="absolute top-2/3 right-1/3 w-56 h-56 bg-accent/50 rounded-full mix-blend-multiply filter blur-3xl animate-pulse animation-delay-4000 dark:bg-accent/70"></div>
|
|
97
|
-
</div>
|
|
98
|
-
{/* Subtle depth overlay */}
|
|
99
|
-
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-background/2 to-background/5" />
|
|
100
|
-
<div className="relative z-10">
|
|
101
|
-
<MobileContainer className="py-16">
|
|
102
|
-
{/* Network & Auth Status Bar */}
|
|
103
|
-
<div className="flex flex-col sm:flex-row justify-between items-center mb-8 gap-4">
|
|
104
|
-
<div className="flex items-center gap-2 text-sm">
|
|
105
|
-
{isOnline ? (
|
|
106
|
-
<div className="flex items-center gap-2 text-green-600">
|
|
107
|
-
<Wifi className="w-4 h-4" />
|
|
108
|
-
<span>Online</span>
|
|
109
|
-
{networkInfo?.effectiveType && (
|
|
110
|
-
<span className="bg-green-100 text-green-800 px-2 py-1 rounded text-xs">
|
|
111
|
-
{networkInfo.effectiveType.toUpperCase()}
|
|
112
|
-
</span>
|
|
113
|
-
)}
|
|
114
|
-
</div>
|
|
115
|
-
) : (
|
|
116
|
-
<div className="flex items-center gap-2 text-red-600">
|
|
117
|
-
<WifiOff className="w-4 h-4" />
|
|
118
|
-
<span>Offline Mode</span>
|
|
119
|
-
</div>
|
|
120
|
-
)}
|
|
121
|
-
</div>
|
|
18
|
+
<main className="min-h-screen bg-background">
|
|
19
|
+
<section className="mx-auto max-w-5xl px-4 py-24 text-center">
|
|
20
|
+
<div className="inline-flex items-center rounded-full border border-border bg-muted px-3 py-1 text-sm text-muted-foreground mb-6">
|
|
21
|
+
<CreditCard className="mr-1.5 h-3.5 w-3.5" /> Auth + Payments included
|
|
22
|
+
</div>
|
|
23
|
+
<h1 className="text-4xl font-bold tracking-tight text-foreground sm:text-6xl mb-4">
|
|
24
|
+
Build your SaaS, <span className="text-primary">ship faster</span>
|
|
25
|
+
</h1>
|
|
26
|
+
<p className="mx-auto max-w-2xl text-lg text-muted-foreground mb-8">
|
|
27
|
+
A production-ready starter with authentication, Stripe payments, and everything you need to launch.
|
|
28
|
+
</p>
|
|
29
|
+
<div className="flex items-center justify-center gap-4">
|
|
30
|
+
<Link href="/signup" className="inline-flex items-center justify-center rounded-md bg-primary px-8 py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors">
|
|
31
|
+
Get Started <ArrowRight className="ml-2 h-4 w-4" />
|
|
32
|
+
</Link>
|
|
33
|
+
<Link href="/login" className="inline-flex items-center justify-center rounded-md border border-input bg-background px-8 py-3 text-sm font-medium text-foreground hover:bg-accent transition-colors">
|
|
34
|
+
Sign In
|
|
35
|
+
</Link>
|
|
36
|
+
</div>
|
|
37
|
+
</section>
|
|
122
38
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
)
|
|
126
|
-
<div className="
|
|
127
|
-
<div className=
|
|
128
|
-
<
|
|
129
|
-
Welcome, {user.email}
|
|
39
|
+
<section className="mx-auto max-w-5xl px-4 pb-24">
|
|
40
|
+
<div className="grid gap-6 md:grid-cols-3">
|
|
41
|
+
{FEATURES.map((f) => (
|
|
42
|
+
<div key={f.title} className="rounded-xl border border-border bg-card p-6 text-center">
|
|
43
|
+
<div className={`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-lg ${f.color}`}>
|
|
44
|
+
<f.icon className="h-6 w-6" />
|
|
130
45
|
</div>
|
|
131
|
-
<
|
|
132
|
-
|
|
133
|
-
Sign Out
|
|
134
|
-
</Button>
|
|
46
|
+
<h3 className="text-lg font-semibold text-card-foreground mb-2">{f.title}</h3>
|
|
47
|
+
<p className="text-sm text-muted-foreground">{f.description}</p>
|
|
135
48
|
</div>
|
|
136
|
-
)
|
|
137
|
-
<div className="flex gap-2">
|
|
138
|
-
<Link href="/login">
|
|
139
|
-
<Button variant="outline" size="sm">Sign In</Button>
|
|
140
|
-
</Link>
|
|
141
|
-
<Link href="/signup">
|
|
142
|
-
<Button size="sm">Sign Up</Button>
|
|
143
|
-
</Link>
|
|
144
|
-
</div>
|
|
145
|
-
)}
|
|
49
|
+
))}
|
|
146
50
|
</div>
|
|
51
|
+
</section>
|
|
147
52
|
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
<NetworkAwareContent
|
|
172
|
-
showOnSlow={
|
|
173
|
-
<ResponsiveGrid columns={gridConfig.columns_1_2} gap={6} className="mb-16">
|
|
174
|
-
<SwipeableCard
|
|
175
|
-
rightActions={[
|
|
176
|
-
{
|
|
177
|
-
id: 'explore',
|
|
178
|
-
label: 'Explore',
|
|
179
|
-
onAction: () => console.log('Exploring mobile features'),
|
|
180
|
-
color: 'blue'
|
|
181
|
-
}
|
|
182
|
-
]}
|
|
183
|
-
threshold={60}
|
|
184
|
-
hapticFeedback={true}
|
|
185
|
-
showActionLabels={true}
|
|
186
|
-
>
|
|
187
|
-
<Card className="text-center p-6">
|
|
188
|
-
<div className="mx-auto w-12 h-12 bg-blue-100 dark:bg-blue-900 rounded-lg flex items-center justify-center mb-4">
|
|
189
|
-
<Smartphone className="h-6 w-6 text-blue-600 dark:text-blue-400" />
|
|
190
|
-
</div>
|
|
191
|
-
<h3 className="text-lg font-semibold mb-2">Mobile-First UI</h3>
|
|
192
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
193
|
-
Touch-optimized components from @digilogiclabs/saas-factory-ui v0.13.3
|
|
194
|
-
</p>
|
|
195
|
-
</Card>
|
|
196
|
-
</SwipeableCard>
|
|
197
|
-
|
|
198
|
-
<SwipeableCard
|
|
199
|
-
rightActions={[
|
|
200
|
-
{
|
|
201
|
-
id: 'payments',
|
|
202
|
-
label: 'Try Payments',
|
|
203
|
-
onAction: () => window.location.href = '/checkout',
|
|
204
|
-
color: 'green'
|
|
205
|
-
}
|
|
206
|
-
]}
|
|
207
|
-
threshold={60}
|
|
208
|
-
hapticFeedback={true}
|
|
209
|
-
showActionLabels={true}
|
|
210
|
-
>
|
|
211
|
-
<Card className="text-center p-6">
|
|
212
|
-
<div className="mx-auto w-12 h-12 bg-orange-100 dark:bg-orange-900 rounded-lg flex items-center justify-center mb-4">
|
|
213
|
-
<CreditCard className="h-6 w-6 text-orange-600 dark:text-orange-400" />
|
|
214
|
-
</div>
|
|
215
|
-
<h3 className="text-lg font-semibold mb-2">Touch Payments</h3>
|
|
216
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
217
|
-
Mobile-optimized payment flows with swipe gestures
|
|
218
|
-
</p>
|
|
219
|
-
</Card>
|
|
220
|
-
</SwipeableCard>
|
|
221
|
-
</ResponsiveGrid>
|
|
222
|
-
}
|
|
223
|
-
>
|
|
224
|
-
<ResponsiveGrid columns={gridConfig.columns_1_sm2_md4} gap={6} className="mb-16">
|
|
225
|
-
<SwipeableCard
|
|
226
|
-
rightActions={[
|
|
227
|
-
{
|
|
228
|
-
id: 'demo-ui',
|
|
229
|
-
label: 'Try Demo',
|
|
230
|
-
onAction: () => console.log('Demo UI components'),
|
|
231
|
-
color: 'blue'
|
|
232
|
-
}
|
|
233
|
-
]}
|
|
234
|
-
threshold={60}
|
|
235
|
-
hapticFeedback={true}
|
|
236
|
-
showActionLabels={true}
|
|
237
|
-
>
|
|
238
|
-
<Card className="text-center p-6">
|
|
239
|
-
<div className="mx-auto w-12 h-12 bg-blue-100 dark:bg-blue-900 rounded-lg flex items-center justify-center mb-4">
|
|
240
|
-
<Zap className="h-6 w-6 text-blue-600 dark:text-blue-400" />
|
|
241
|
-
</div>
|
|
242
|
-
<h3 className="text-lg font-semibold mb-2">Mobile UI Components</h3>
|
|
243
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
244
|
-
Touch-optimized buttons, cards, and gestures from @digilogiclabs/saas-factory-ui v0.13.3
|
|
245
|
-
</p>
|
|
246
|
-
</Card>
|
|
247
|
-
</SwipeableCard>
|
|
248
|
-
|
|
249
|
-
<SwipeableCard
|
|
250
|
-
rightActions={[
|
|
251
|
-
{
|
|
252
|
-
id: 'auth-demo',
|
|
253
|
-
label: 'Auth Demo',
|
|
254
|
-
onAction: () => window.location.href = '/login',
|
|
255
|
-
color: 'green'
|
|
256
|
-
}
|
|
257
|
-
]}
|
|
258
|
-
threshold={60}
|
|
259
|
-
hapticFeedback={true}
|
|
260
|
-
showActionLabels={true}
|
|
261
|
-
>
|
|
262
|
-
<Card className="text-center p-6">
|
|
263
|
-
<div className="mx-auto w-12 h-12 bg-green-100 dark:bg-green-900 rounded-lg flex items-center justify-center mb-4">
|
|
264
|
-
<Shield className="h-6 w-6 text-green-600 dark:text-green-400" />
|
|
265
|
-
</div>
|
|
266
|
-
<h3 className="text-lg font-semibold mb-2">Cross-Device Auth</h3>
|
|
267
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
268
|
-
Secure authentication across all devices with @digilogiclabs/saas-factory-auth v1.0.0
|
|
269
|
-
</p>
|
|
270
|
-
</Card>
|
|
271
|
-
</SwipeableCard>
|
|
272
|
-
|
|
273
|
-
<SwipeableCard
|
|
274
|
-
rightActions={[
|
|
275
|
-
{
|
|
276
|
-
id: 'performance',
|
|
277
|
-
label: 'See Performance',
|
|
278
|
-
onAction: () => console.log('Performance demo'),
|
|
279
|
-
color: 'purple'
|
|
280
|
-
}
|
|
281
|
-
]}
|
|
282
|
-
threshold={60}
|
|
283
|
-
hapticFeedback={true}
|
|
284
|
-
showActionLabels={true}
|
|
285
|
-
>
|
|
286
|
-
<Card className="text-center p-6">
|
|
287
|
-
<div className="mx-auto w-12 h-12 bg-purple-100 dark:bg-purple-900 rounded-lg flex items-center justify-center mb-4">
|
|
288
|
-
<Rocket className="h-6 w-6 text-purple-600 dark:text-purple-400" />
|
|
289
|
-
</div>
|
|
290
|
-
<h3 className="text-lg font-semibold mb-2">Performance First</h3>
|
|
291
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
292
|
-
Network-aware components with offline support and lazy loading
|
|
293
|
-
</p>
|
|
294
|
-
</Card>
|
|
295
|
-
</SwipeableCard>
|
|
296
|
-
|
|
297
|
-
<SwipeableCard
|
|
298
|
-
rightActions={[
|
|
299
|
-
{
|
|
300
|
-
id: 'checkout',
|
|
301
|
-
label: 'View Checkout',
|
|
302
|
-
onAction: () => window.location.href = '/checkout',
|
|
303
|
-
color: 'orange'
|
|
304
|
-
}
|
|
305
|
-
]}
|
|
306
|
-
threshold={60}
|
|
307
|
-
hapticFeedback={true}
|
|
308
|
-
showActionLabels={true}
|
|
309
|
-
>
|
|
310
|
-
<Card className="text-center p-6">
|
|
311
|
-
<div className="mx-auto w-12 h-12 bg-orange-100 dark:bg-orange-900 rounded-lg flex items-center justify-center mb-4">
|
|
312
|
-
<CreditCard className="h-6 w-6 text-orange-600 dark:text-orange-400" />
|
|
313
|
-
</div>
|
|
314
|
-
<h3 className="text-lg font-semibold mb-2">Mobile Payments</h3>
|
|
315
|
-
<p className="text-sm text-gray-600 dark:text-gray-300">
|
|
316
|
-
Touch-optimized payment processing with @digilogiclabs/saas-factory-payments v1.0.0
|
|
317
|
-
</p>
|
|
318
|
-
</Card>
|
|
319
|
-
</SwipeableCard>
|
|
320
|
-
</ResponsiveGrid>
|
|
321
|
-
</NetworkAwareContent>
|
|
322
|
-
|
|
323
|
-
{/* Button Variants Showcase */}
|
|
324
|
-
<Card className="max-w-4xl mx-auto p-8">
|
|
325
|
-
<div className="text-center mb-6">
|
|
326
|
-
<h2 className="text-2xl font-bold mb-2">Full SaaS Package Integration</h2>
|
|
327
|
-
<p className="text-gray-600 dark:text-gray-300">
|
|
328
|
-
Complete integration of UI, Auth, and Payments packages
|
|
329
|
-
</p>
|
|
330
|
-
</div>
|
|
331
|
-
<div className="flex flex-wrap justify-center gap-4 mb-6">
|
|
332
|
-
<Button>Default Button</Button>
|
|
333
|
-
<Button variant="secondary">Secondary Button</Button>
|
|
334
|
-
<Button variant="outline">Outline Button</Button>
|
|
335
|
-
<Button disabled>Disabled Button</Button>
|
|
336
|
-
</div>
|
|
337
|
-
<div className="text-center">
|
|
338
|
-
<p className="text-sm text-gray-500">
|
|
339
|
-
All mobile-optimized components from @digilogiclabs/saas-factory-ui v0.13.3 + auth v1.0.0 + payments v1.0.0
|
|
340
|
-
</p>
|
|
341
|
-
</div>
|
|
342
|
-
</Card>
|
|
343
|
-
</MobileContainer>
|
|
53
|
+
<section className="mx-auto max-w-5xl px-4 pb-24">
|
|
54
|
+
<div className="text-center mb-12">
|
|
55
|
+
<h2 className="text-3xl font-bold text-foreground mb-2">Simple Pricing</h2>
|
|
56
|
+
<p className="text-muted-foreground">Choose the plan that fits your needs.</p>
|
|
57
|
+
</div>
|
|
58
|
+
<div className="grid gap-6 md:grid-cols-3">
|
|
59
|
+
{PRICING.map((plan) => (
|
|
60
|
+
<div key={plan.name} className={`rounded-xl border p-6 ${plan.featured ? 'border-primary bg-card shadow-lg ring-1 ring-primary' : 'border-border bg-card'}`}>
|
|
61
|
+
<h3 className="text-lg font-semibold text-card-foreground">{plan.name}</h3>
|
|
62
|
+
<div className="mt-2 mb-4">
|
|
63
|
+
<span className="text-4xl font-bold text-foreground">{plan.price}</span>
|
|
64
|
+
<span className="text-muted-foreground">/month</span>
|
|
65
|
+
</div>
|
|
66
|
+
<ul className="space-y-2 mb-6">
|
|
67
|
+
{plan.features.map((feat) => (
|
|
68
|
+
<li key={feat} className="flex items-center gap-2 text-sm text-muted-foreground">
|
|
69
|
+
<CheckCircle className="h-4 w-4 text-primary shrink-0" /> {feat}
|
|
70
|
+
</li>
|
|
71
|
+
))}
|
|
72
|
+
</ul>
|
|
73
|
+
<Link href="/checkout" className={`inline-flex w-full items-center justify-center rounded-md px-4 py-2 text-sm font-medium transition-colors ${plan.featured ? 'bg-primary text-primary-foreground hover:bg-primary/90' : 'border border-input bg-background text-foreground hover:bg-accent'}`}>
|
|
74
|
+
{plan.cta}
|
|
75
|
+
</Link>
|
|
344
76
|
</div>
|
|
345
|
-
|
|
346
|
-
</
|
|
347
|
-
</
|
|
348
|
-
</
|
|
77
|
+
))}
|
|
78
|
+
</div>
|
|
79
|
+
</section>
|
|
80
|
+
</main>
|
|
349
81
|
)
|
|
350
82
|
}
|