@digilogiclabs/create-saas-app 2.11.0 → 2.12.1

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.
Files changed (413) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli/index.js +1 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/generators/template-generator.d.ts +0 -2
  6. package/dist/generators/template-generator.d.ts.map +1 -1
  7. package/dist/generators/template-generator.js +18 -17
  8. package/dist/generators/template-generator.js.map +1 -1
  9. package/dist/templates/mobile/base/template/App.tsx +7 -4
  10. package/dist/templates/mobile/base/template/app/checkout.tsx +5 -2
  11. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +6 -2
  12. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +7 -3
  13. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +5 -2
  14. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +7 -2
  15. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -4
  16. package/dist/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +6 -3
  17. package/dist/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +6 -3
  18. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +6 -2
  19. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +7 -3
  20. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +5 -2
  21. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +7 -2
  22. package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +2 -4
  23. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +6 -3
  24. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +6 -3
  25. package/dist/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
  26. package/dist/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
  27. package/dist/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
  28. package/dist/templates/shared/config/web/next.config.mjs +0 -1
  29. package/dist/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
  30. package/dist/templates/shared/design/web/src/components/ui/button.tsx +56 -0
  31. package/dist/templates/shared/email/web/src/lib/email/client.ts +1 -1
  32. package/dist/templates/shared/error-pages/web/src/app/error.tsx +13 -11
  33. package/dist/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
  34. package/dist/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
  35. package/dist/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
  36. package/dist/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
  37. package/dist/templates/shared/loading/web/components/skeleton.tsx +4 -4
  38. package/dist/templates/shared/mock/web/.env.local +55 -0
  39. package/dist/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
  40. package/dist/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
  41. package/dist/templates/shared/mock/web/src/lib/mock.ts +147 -0
  42. package/dist/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
  43. package/dist/templates/shared/redis/web/src/lib/redis.ts +1 -1
  44. package/dist/templates/web/ai-platform/template/package.json +0 -1
  45. package/dist/templates/web/ai-platform/template/src/app/chat/page.tsx +5 -2
  46. package/dist/templates/web/ai-platform/template/src/app/playground/page.tsx +5 -2
  47. package/dist/templates/web/ai-platform/template/src/components/providers/app-providers.tsx +2 -5
  48. package/dist/templates/web/base/template/eslint.config.mjs +14 -0
  49. package/dist/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
  50. package/dist/templates/web/base/template/src/app/checkout/page.tsx +76 -103
  51. package/dist/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
  52. package/dist/templates/web/base/template/src/app/layout.tsx +40 -38
  53. package/dist/templates/web/base/template/src/app/login/page.tsx +116 -66
  54. package/dist/templates/web/base/template/src/app/page.tsx +97 -193
  55. package/dist/templates/web/base/template/src/app/settings/page.tsx +154 -0
  56. package/dist/templates/web/base/template/src/app/signup/page.tsx +117 -66
  57. package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
  58. package/dist/templates/web/base/template/src/components/shared/header.tsx +229 -63
  59. package/dist/templates/web/iot-dashboard/template/package.json +0 -1
  60. package/dist/templates/web/iot-dashboard/template/src/components/providers/app-providers.tsx +2 -5
  61. package/dist/templates/web/marketplace/template/package.json +0 -1
  62. package/dist/templates/web/marketplace/template/src/components/providers/app-providers.tsx +2 -5
  63. package/dist/templates/web/micro-saas/template/package.json +0 -1
  64. package/dist/templates/web/micro-saas/template/src/components/providers/app-providers.tsx +2 -5
  65. package/dist/templates/web/ui-auth/template/eslint.config.mjs +14 -0
  66. package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
  67. package/dist/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
  68. package/dist/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
  69. package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
  70. package/dist/templates/web/ui-auth/template/src/app/page.tsx +106 -306
  71. package/dist/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
  72. package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
  73. package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
  74. package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
  75. package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
  76. package/dist/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
  77. package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
  78. package/dist/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
  79. package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
  80. package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
  81. package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
  82. package/dist/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
  83. package/dist/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
  84. package/dist/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
  85. package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
  86. package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
  87. package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
  88. package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
  89. package/dist/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  90. package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
  91. package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
  92. package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
  93. package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
  94. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
  95. package/dist/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
  96. package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
  97. package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
  98. package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
  99. package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
  100. package/dist/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
  101. package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
  102. package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
  103. package/dist/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
  104. package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
  105. package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
  106. package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
  107. package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
  108. package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
  109. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
  110. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
  111. package/dist/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
  112. package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
  113. package/dist/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
  114. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
  115. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
  116. package/dist/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
  117. package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
  118. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
  119. package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
  120. package/dist/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
  121. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
  122. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
  123. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
  124. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
  125. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
  126. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
  127. package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
  128. package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
  129. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
  130. package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
  131. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
  132. package/dist/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
  133. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
  134. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
  135. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
  136. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
  137. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
  138. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
  139. package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
  140. package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
  141. package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
  142. package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
  143. package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
  144. package/dist/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
  145. package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
  146. package/dist/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
  147. package/dist/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
  148. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
  149. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
  150. package/dist/templates/web/ui-only/template/eslint.config.mjs +14 -0
  151. package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
  152. package/dist/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
  153. package/dist/templates/web/ui-only/template/src/app/page.tsx +69 -91
  154. package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
  155. package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
  156. package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
  157. package/dist/templates/web/ui-package-test/template/package.json +19 -23
  158. package/dist/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
  159. package/dist/templates/web/ui-package-test/template/src/app/globals.css +88 -0
  160. package/dist/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
  161. package/dist/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
  162. package/package.json +1 -1
  163. package/src/templates/mobile/base/template/App.tsx +7 -4
  164. package/src/templates/mobile/base/template/app/checkout.tsx +5 -2
  165. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +6 -2
  166. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +7 -3
  167. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +5 -2
  168. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +7 -2
  169. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -4
  170. package/src/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +6 -3
  171. package/src/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +6 -3
  172. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +6 -2
  173. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +7 -3
  174. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +5 -2
  175. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +7 -2
  176. package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +2 -4
  177. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +6 -3
  178. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +6 -3
  179. package/src/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
  180. package/src/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
  181. package/src/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
  182. package/src/templates/shared/config/web/next.config.mjs +0 -1
  183. package/src/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
  184. package/src/templates/shared/design/web/src/components/ui/button.tsx +56 -0
  185. package/src/templates/shared/email/web/src/lib/email/client.ts +1 -1
  186. package/src/templates/shared/error-pages/web/src/app/error.tsx +13 -11
  187. package/src/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
  188. package/src/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
  189. package/src/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
  190. package/src/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
  191. package/src/templates/shared/loading/web/components/skeleton.tsx +4 -4
  192. package/src/templates/shared/mock/web/.env.local +55 -0
  193. package/src/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
  194. package/src/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
  195. package/src/templates/shared/mock/web/src/lib/mock.ts +147 -0
  196. package/src/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
  197. package/src/templates/shared/redis/web/src/lib/redis.ts +1 -1
  198. package/src/templates/web/ai-platform/template/package.json +0 -1
  199. package/src/templates/web/ai-platform/template/src/app/chat/page.tsx +5 -2
  200. package/src/templates/web/ai-platform/template/src/app/playground/page.tsx +5 -2
  201. package/src/templates/web/ai-platform/template/src/components/providers/app-providers.tsx +2 -5
  202. package/src/templates/web/base/template/eslint.config.mjs +14 -0
  203. package/src/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
  204. package/src/templates/web/base/template/src/app/checkout/page.tsx +76 -103
  205. package/src/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
  206. package/src/templates/web/base/template/src/app/layout.tsx +40 -38
  207. package/src/templates/web/base/template/src/app/login/page.tsx +116 -66
  208. package/src/templates/web/base/template/src/app/page.tsx +97 -193
  209. package/src/templates/web/base/template/src/app/settings/page.tsx +154 -0
  210. package/src/templates/web/base/template/src/app/signup/page.tsx +117 -66
  211. package/src/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
  212. package/src/templates/web/base/template/src/components/shared/header.tsx +229 -63
  213. package/src/templates/web/iot-dashboard/template/package.json +0 -1
  214. package/src/templates/web/iot-dashboard/template/src/components/providers/app-providers.tsx +2 -5
  215. package/src/templates/web/marketplace/template/package.json +0 -1
  216. package/src/templates/web/marketplace/template/src/components/providers/app-providers.tsx +2 -5
  217. package/src/templates/web/micro-saas/template/package.json +0 -1
  218. package/src/templates/web/micro-saas/template/src/components/providers/app-providers.tsx +2 -5
  219. package/src/templates/web/ui-auth/template/eslint.config.mjs +14 -0
  220. package/src/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
  221. package/src/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
  222. package/src/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
  223. package/src/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
  224. package/src/templates/web/ui-auth/template/src/app/page.tsx +106 -306
  225. package/src/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
  226. package/src/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
  227. package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
  228. package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
  229. package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
  230. package/src/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
  231. package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
  232. package/src/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
  233. package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
  234. package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
  235. package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
  236. package/src/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
  237. package/src/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
  238. package/src/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
  239. package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
  240. package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
  241. package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
  242. package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
  243. package/src/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  244. package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
  245. package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
  246. package/src/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
  247. package/src/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
  248. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
  249. package/src/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
  250. package/src/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
  251. package/src/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
  252. package/src/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
  253. package/src/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
  254. package/src/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
  255. package/src/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
  256. package/src/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
  257. package/src/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
  258. package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
  259. package/src/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
  260. package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
  261. package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
  262. package/src/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
  263. package/src/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
  264. package/src/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
  265. package/src/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
  266. package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
  267. package/src/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
  268. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
  269. package/src/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
  270. package/src/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
  271. package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
  272. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
  273. package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
  274. package/src/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
  275. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
  276. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
  277. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
  278. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
  279. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
  280. package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
  281. package/src/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
  282. package/src/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
  283. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
  284. package/src/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
  285. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
  286. package/src/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
  287. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
  288. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
  289. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
  290. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
  291. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
  292. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
  293. package/src/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
  294. package/src/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
  295. package/src/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
  296. package/src/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
  297. package/src/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
  298. package/src/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
  299. package/src/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
  300. package/src/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
  301. package/src/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
  302. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
  303. package/src/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
  304. package/src/templates/web/ui-only/template/eslint.config.mjs +14 -0
  305. package/src/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
  306. package/src/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
  307. package/src/templates/web/ui-only/template/src/app/page.tsx +69 -91
  308. package/src/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
  309. package/src/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
  310. package/src/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
  311. package/src/templates/web/ui-package-test/template/package.json +19 -23
  312. package/src/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
  313. package/src/templates/web/ui-package-test/template/src/app/globals.css +88 -0
  314. package/src/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
  315. package/src/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
  316. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
  317. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
  318. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
  319. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
  320. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
  321. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
  322. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
  323. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
  324. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
  325. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
  326. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
  327. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
  328. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
  329. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
  330. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
  331. package/dist/templates/web/base/template/.eslintrc.js +0 -8
  332. package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
  333. package/dist/templates/web/base/template/src/test/setup.ts +0 -74
  334. package/dist/templates/web/base/template/vitest.config.ts +0 -17
  335. package/dist/templates/web/ui-auth/template/.eslintrc.js +0 -8
  336. package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
  337. package/dist/templates/web/ui-auth/template/src/test/setup.ts +0 -74
  338. package/dist/templates/web/ui-auth/template/vitest.config.ts +0 -17
  339. package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
  340. package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
  341. package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
  342. package/dist/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
  343. package/dist/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
  344. package/dist/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
  345. package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
  346. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
  347. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
  348. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
  349. package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
  350. package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
  351. package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
  352. package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
  353. package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
  354. package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
  355. package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
  356. package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
  357. package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
  358. package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
  359. package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
  360. package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
  361. package/dist/templates/web/ui-only/template/.eslintrc.js +0 -8
  362. package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
  363. package/dist/templates/web/ui-only/template/src/test/setup.ts +0 -74
  364. package/dist/templates/web/ui-only/template/vitest.config.ts +0 -17
  365. package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
  366. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
  367. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
  368. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
  369. package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
  370. package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
  371. package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
  372. package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
  373. package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
  374. package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
  375. package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
  376. package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
  377. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
  378. package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
  379. package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
  380. package/src/templates/web/base/template/.eslintrc.js +0 -8
  381. package/src/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
  382. package/src/templates/web/base/template/src/test/setup.ts +0 -74
  383. package/src/templates/web/base/template/vitest.config.ts +0 -17
  384. package/src/templates/web/ui-auth/template/.eslintrc.js +0 -8
  385. package/src/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
  386. package/src/templates/web/ui-auth/template/src/test/setup.ts +0 -74
  387. package/src/templates/web/ui-auth/template/vitest.config.ts +0 -17
  388. package/src/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
  389. package/src/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
  390. package/src/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
  391. package/src/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
  392. package/src/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
  393. package/src/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
  394. package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
  395. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
  396. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
  397. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
  398. package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
  399. package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
  400. package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
  401. package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
  402. package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
  403. package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
  404. package/src/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
  405. package/src/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
  406. package/src/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
  407. package/src/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
  408. package/src/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
  409. package/src/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
  410. package/src/templates/web/ui-only/template/.eslintrc.js +0 -8
  411. package/src/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
  412. package/src/templates/web/ui-only/template/src/test/setup.ts +0 -74
  413. package/src/templates/web/ui-only/template/vitest.config.ts +0 -17
@@ -1,13 +1,6 @@
1
1
  'use client'
2
2
 
3
- import {
4
- Card,
5
- Button,
6
- PageTransition,
7
- MobileContainer,
8
- useAnimationTokens,
9
- useGlassmorphism
10
- } from '@digilogiclabs/saas-factory-ui'
3
+ import { Card, Button } from '@digilogiclabs/saas-factory-ui'
11
4
  import {
12
5
  ArrowLeft,
13
6
  CheckCircle,
@@ -46,8 +39,6 @@ interface DeploymentOption {
46
39
  }
47
40
 
48
41
  export default function DevSetupPage() {
49
- const animations = useAnimationTokens()
50
- const glass = useGlassmorphism()
51
42
  const [copiedItem, setCopiedItem] = useState<string | null>(null)
52
43
  const [activeTab, setActiveTab] = useState<'claude' | 'deployment'>('claude')
53
44
 
@@ -55,9 +46,9 @@ export default function DevSetupPage() {
55
46
  const templateName = "{{ai.enabled ? 'Full-Stack AI Platform' : 'SaaS Platform'}}"
56
47
  const hasAuth = true
57
48
  const hasPayments = true
58
- const hasAI = "{{ai.enabled}}" === "true"
59
- const hasAudio = "{{ai.hasAudio}}" === "true"
60
- const hasVideo = "{{ai.hasVideo}}" === "true"
49
+ const hasAI = String("{{ai.enabled}}") === "true"
50
+ const hasAudio = String("{{ai.hasAudio}}") === "true"
51
+ const hasVideo = String("{{ai.hasVideo}}") === "true"
61
52
 
62
53
  const copyToClipboard = async (text: string, itemName: string) => {
63
54
  await navigator.clipboard.writeText(text)
@@ -76,7 +67,7 @@ export default function DevSetupPage() {
76
67
  {
77
68
  name: "@digilogiclabs/saas-factory-ui",
78
69
  description: "Modern UI components with glassmorphism and responsive design",
79
- key_exports: ["Button", "Card", "MobileContainer", "PageTransition", "ResponsiveGrid"],
70
+ key_exports: ["Button", "Card", "CardContent", "CardHeader", "CardTitle", "Input", "Label"],
80
71
  docs_link: "https://docs.digilogiclabs.com/packages/ui"
81
72
  },
82
73
  ...(hasPayments ? [{
@@ -201,7 +192,7 @@ ${hasVideo ? '- **video_content**: Generated video files and metadata' : ''}
201
192
 
202
193
  ### Authentication Flow
203
194
  ${hasAuth ? `\`\`\`typescript
204
- import { useAuth } from '@digilogiclabs/app-sdk'
195
+
205
196
 
206
197
  export function ProtectedComponent() {
207
198
  const { user, loading } = useAuth()
@@ -218,26 +209,24 @@ export function ProtectedComponent() {
218
209
  import {
219
210
  Card,
220
211
  Button,
221
- PageTransition,
222
- useGlassmorphism
212
+
223
213
  } from '@digilogiclabs/saas-factory-ui'
224
214
 
225
215
  export function ExampleComponent() {
226
- const glass = useGlassmorphism()
227
216
 
228
217
  return (
229
- <PageTransition type="fade">
230
- <Card className={\`\${glass.card} \${glass.border}\`}>
218
+ <div>
219
+ <Card className={\`\rounded-xl bg-card \border border-border\`}>
231
220
  <Button variant="default">Action</Button>
232
221
  </Card>
233
- </PageTransition>
222
+ </div>
234
223
  )
235
224
  }
236
225
  \`\`\`
237
226
 
238
227
  ${hasPayments ? `### Payment Integration
239
228
  \`\`\`typescript
240
- import { usePayments } from '@digilogiclabs/app-sdk'
229
+ import { usePayments } from '@/hooks/usePayments'
241
230
 
242
231
  export function CheckoutPage() {
243
232
  const { createCheckoutSession, loading } = usePayments()
@@ -439,35 +428,35 @@ CMD ["npm", "start"]`
439
428
  ]
440
429
 
441
430
  return (
442
- <PageTransition type="slide" direction="up" duration={300}>
443
- <main className={`min-h-screen ${glass.background.primary} relative overflow-hidden`}>
444
- <div className={`absolute inset-0 ${glass.background.accent} opacity-30`} />
431
+ <div>
432
+ <main className={`min-h-screen bg-background relative overflow-hidden`}>
433
+ <div className={`absolute inset-0 bg-muted opacity-30`} />
445
434
  <div className="relative z-10">
446
- <MobileContainer className="py-8">
435
+ <div className="max-w-4xl mx-auto px-4">
447
436
  {/* Header */}
448
437
  <div className="flex items-center justify-between mb-8">
449
438
  <div className="flex items-center gap-4">
450
- <Link href="/setup" className={`${glass.card} ${glass.border} p-2 rounded-xl ${animations.hover.scale}`}>
439
+ <Link href="/setup" className={`rounded-xl border border-border bg-card p-2 rounded-xl hover:scale-[1.02] transition-transform`}>
451
440
  <ArrowLeft className="w-5 h-5" />
452
441
  </Link>
453
442
  <div>
454
443
  <h1 className="text-2xl font-bold">Development & Deployment</h1>
455
- <p className="text-gray-600 dark:text-gray-300">Claude AI setup and hosting guides</p>
444
+ <p className="text-muted-foreground">Claude AI setup and hosting guides</p>
456
445
  </div>
457
446
  </div>
458
- <div className={`${glass.card} ${glass.border} px-4 py-2 rounded-xl`}>
447
+ <div className={`rounded-xl border border-border bg-card px-4 py-2 rounded-xl`}>
459
448
  <span className="text-sm font-medium">{projectName}</span>
460
449
  </div>
461
450
  </div>
462
451
 
463
452
  {/* Tab Navigation */}
464
- <div className={`${glass.card} ${glass.border} rounded-2xl p-1 mb-8 inline-flex`}>
453
+ <div className={`rounded-xl border border-border bg-card rounded-2xl p-1 mb-8 inline-flex`}>
465
454
  <button
466
455
  onClick={() => setActiveTab('claude')}
467
456
  className={`px-4 py-2 rounded-xl text-sm font-medium transition-all duration-200 ${
468
457
  activeTab === 'claude'
469
458
  ? 'bg-purple-500 text-white shadow-lg'
470
- : 'text-gray-600 dark:text-gray-300 hover:bg-white/10'
459
+ : 'text-muted-foreground hover:bg-white/10'
471
460
  }`}
472
461
  >
473
462
  <Bot className="w-4 h-4 inline mr-2" />
@@ -477,8 +466,8 @@ CMD ["npm", "start"]`
477
466
  onClick={() => setActiveTab('deployment')}
478
467
  className={`px-4 py-2 rounded-xl text-sm font-medium transition-all duration-200 ${
479
468
  activeTab === 'deployment'
480
- ? 'bg-blue-500 text-white shadow-lg'
481
- : 'text-gray-600 dark:text-gray-300 hover:bg-white/10'
469
+ ? 'bg-primary text-primary-foreground shadow-lg'
470
+ : 'text-muted-foreground hover:bg-white/10'
482
471
  }`}
483
472
  >
484
473
  <Rocket className="w-4 h-4 inline mr-2" />
@@ -489,14 +478,14 @@ CMD ["npm", "start"]`
489
478
  {activeTab === 'claude' && (
490
479
  <>
491
480
  {/* Claude AI Development Setup */}
492
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mb-8`}>
481
+ <div className={`rounded-xl border border-border bg-card rounded-2xl p-6 mb-8`}>
493
482
  <div className="flex items-center gap-4 mb-6">
494
483
  <div className={`w-12 h-12 rounded-xl bg-gradient-to-r from-purple-500 to-blue-500 flex items-center justify-center`}>
495
484
  <Bot className="w-6 h-6 text-white" />
496
485
  </div>
497
486
  <div>
498
487
  <h2 className="text-xl font-semibold">Claude AI Development Setup</h2>
499
- <p className="text-gray-600 dark:text-gray-300">Supercharge your development workflow with AI assistance</p>
488
+ <p className="text-muted-foreground">Supercharge your development workflow with AI assistance</p>
500
489
  </div>
501
490
  </div>
502
491
 
@@ -504,17 +493,17 @@ CMD ["npm", "start"]`
504
493
  <div className="text-center p-4 rounded-xl bg-purple-500/10">
505
494
  <Terminal className="w-8 h-8 text-purple-400 mx-auto mb-2" />
506
495
  <div className="font-medium">Claude CLI</div>
507
- <div className="text-sm text-gray-600 dark:text-gray-300">Command-line AI assistant</div>
496
+ <div className="text-sm text-muted-foreground">Command-line AI assistant</div>
508
497
  </div>
509
- <div className="text-center p-4 rounded-xl bg-blue-500/10">
510
- <FileText className="w-8 h-8 text-blue-400 mx-auto mb-2" />
498
+ <div className="text-center p-4 rounded-xl bg-primary/10">
499
+ <FileText className="w-8 h-8 text-primary mx-auto mb-2" />
511
500
  <div className="font-medium">Smart Context</div>
512
- <div className="text-sm text-gray-600 dark:text-gray-300">Project-aware assistance</div>
501
+ <div className="text-sm text-muted-foreground">Project-aware assistance</div>
513
502
  </div>
514
503
  <div className="text-center p-4 rounded-xl bg-green-500/10">
515
504
  <Zap className="w-8 h-8 text-green-400 mx-auto mb-2" />
516
505
  <div className="font-medium">Auto-Setup</div>
517
- <div className="text-sm text-gray-600 dark:text-gray-300">Generated configuration</div>
506
+ <div className="text-sm text-muted-foreground">Generated configuration</div>
518
507
  </div>
519
508
  </div>
520
509
 
@@ -526,14 +515,14 @@ CMD ["npm", "start"]`
526
515
  </div>
527
516
  <div className="flex-1">
528
517
  <h3 className="font-semibold mb-2">Install Claude CLI</h3>
529
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
518
+ <p className="text-sm text-muted-foreground mb-3">
530
519
  Install the Claude CLI to get AI assistance directly in your terminal
531
520
  </p>
532
- <div className="bg-gray-900 rounded-xl p-4">
521
+ <div className="bg-background rounded-xl p-4">
533
522
  <pre className="text-green-400 text-sm">npm install -g @anthropic-ai/claude-cli</pre>
534
523
  <button
535
524
  onClick={() => copyToClipboard('npm install -g @anthropic-ai/claude-cli', 'claude-install')}
536
- className="mt-2 flex items-center gap-2 text-xs text-gray-400 hover:text-white transition-colors"
525
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors"
537
526
  >
538
527
  <Copy className="w-3 h-3" />
539
528
  {copiedItem === 'claude-install' ? 'Copied!' : 'Copy command'}
@@ -549,16 +538,16 @@ CMD ["npm", "start"]`
549
538
  </div>
550
539
  <div className="flex-1">
551
540
  <h3 className="font-semibold mb-2">Create .claude Configuration</h3>
552
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
541
+ <p className="text-sm text-muted-foreground mb-3">
553
542
  Create a .claude file in your project root with this optimized configuration
554
543
  </p>
555
- <div className="bg-gray-900 rounded-xl p-4 overflow-x-auto">
544
+ <div className="bg-background rounded-xl p-4 overflow-x-auto">
556
545
  <pre className="text-green-400 text-xs">
557
546
  {JSON.stringify(claudeConfig, null, 2)}
558
547
  </pre>
559
548
  <button
560
549
  onClick={() => copyToClipboard(JSON.stringify(claudeConfig, null, 2), 'claude-config')}
561
- className="mt-2 flex items-center gap-2 text-xs text-gray-400 hover:text-white transition-colors"
550
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors"
562
551
  >
563
552
  <Copy className="w-3 h-3" />
564
553
  {copiedItem === 'claude-config' ? 'Copied!' : 'Copy .claude configuration'}
@@ -574,18 +563,18 @@ CMD ["npm", "start"]`
574
563
  </div>
575
564
  <div className="flex-1">
576
565
  <h3 className="font-semibold mb-2">Create Context Documentation</h3>
577
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
566
+ <p className="text-sm text-muted-foreground mb-3">
578
567
  Create a context.md file with comprehensive project documentation
579
568
  </p>
580
569
  <details className="mb-3">
581
- <summary className="text-sm text-blue-400 cursor-pointer hover:text-blue-300">
570
+ <summary className="text-sm text-primary cursor-pointer hover:text-primary/80">
582
571
  Show context.md content
583
572
  </summary>
584
- <div className="bg-gray-900 rounded-xl p-4 mt-2 overflow-x-auto max-h-64">
573
+ <div className="bg-background rounded-xl p-4 mt-2 overflow-x-auto max-h-64">
585
574
  <pre className="text-green-400 text-xs whitespace-pre-wrap">{contextContent}</pre>
586
575
  <button
587
576
  onClick={() => copyToClipboard(contextContent, 'context-content')}
588
- className="mt-2 flex items-center gap-2 text-xs text-gray-400 hover:text-white transition-colors"
577
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors"
589
578
  >
590
579
  <Copy className="w-3 h-3" />
591
580
  {copiedItem === 'context-content' ? 'Copied!' : 'Copy context.md content'}
@@ -602,20 +591,20 @@ CMD ["npm", "start"]`
602
591
  </div>
603
592
  <div className="flex-1">
604
593
  <h3 className="font-semibold mb-2">Start Using Claude AI</h3>
605
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
594
+ <p className="text-sm text-muted-foreground mb-3">
606
595
  Common commands to supercharge your development workflow
607
596
  </p>
608
597
  <div className="space-y-3">
609
- <div className="bg-gray-900 rounded-lg p-3">
610
- <div className="text-blue-400 text-sm mb-1">Generate new component:</div>
598
+ <div className="bg-background rounded-lg p-3">
599
+ <div className="text-primary text-sm mb-1">Generate new component:</div>
611
600
  <code className="text-green-400 text-xs">claude &quot;Create a new user profile component with glassmorphism styling&quot;</code>
612
601
  </div>
613
- <div className="bg-gray-900 rounded-lg p-3">
614
- <div className="text-blue-400 text-sm mb-1">Debug issues:</div>
602
+ <div className="bg-background rounded-lg p-3">
603
+ <div className="text-primary text-sm mb-1">Debug issues:</div>
615
604
  <code className="text-green-400 text-xs">claude &quot;Help me debug this authentication error&quot;</code>
616
605
  </div>
617
- <div className="bg-gray-900 rounded-lg p-3">
618
- <div className="text-blue-400 text-sm mb-1">Add features:</div>
606
+ <div className="bg-background rounded-lg p-3">
607
+ <div className="text-primary text-sm mb-1">Add features:</div>
619
608
  <code className="text-green-400 text-xs">claude &quot;Add a dark mode toggle to the header component&quot;</code>
620
609
  </div>
621
610
  </div>
@@ -625,25 +614,25 @@ CMD ["npm", "start"]`
625
614
  </div>
626
615
 
627
616
  {/* Package Documentation Quick Reference */}
628
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mb-8`}>
617
+ <div className={`rounded-xl border border-border bg-card rounded-2xl p-6 mb-8`}>
629
618
  <h3 className="text-lg font-semibold mb-4 flex items-center gap-2">
630
- <Book className="w-5 h-5 text-blue-400" />
619
+ <Book className="w-5 h-5 text-primary" />
631
620
  Package Documentation Quick Reference
632
621
  </h3>
633
622
  <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
634
623
  {packageDocs.map((pkg, index) => (
635
- <div key={index} className={`${glass.card} ${glass.border} rounded-xl p-4`}>
624
+ <div key={index} className={`rounded-xl border border-border bg-card rounded-xl p-4`}>
636
625
  <h4 className="font-semibold text-sm mb-2">{pkg.name}</h4>
637
- <p className="text-xs text-gray-600 dark:text-gray-300 mb-3">{pkg.description}</p>
626
+ <p className="text-xs text-muted-foreground mb-3">{pkg.description}</p>
638
627
  <div className="text-xs">
639
- <div className="text-blue-400 mb-1">Key Exports:</div>
640
- <div className="text-gray-500">{pkg.key_exports.join(', ')}</div>
628
+ <div className="text-primary mb-1">Key Exports:</div>
629
+ <div className="text-muted-foreground">{pkg.key_exports.join(', ')}</div>
641
630
  </div>
642
631
  <a
643
632
  href={pkg.docs_link}
644
633
  target="_blank"
645
634
  rel="noopener noreferrer"
646
- className="inline-flex items-center gap-1 text-xs text-blue-400 hover:text-blue-300 mt-2"
635
+ className="inline-flex items-center gap-1 text-xs text-primary hover:text-primary/80 mt-2"
647
636
  >
648
637
  View Docs <ExternalLink className="w-3 h-3" />
649
638
  </a>
@@ -663,10 +652,10 @@ CMD ["npm", "start"]`
663
652
  {deploymentOptions.map((option, index) => {
664
653
  const OptionIcon = option.icon
665
654
  return (
666
- <div key={index} className={`${glass.card} ${glass.border} rounded-2xl p-6`}>
655
+ <div key={index} className={`rounded-xl border border-border bg-card rounded-2xl p-6`}>
667
656
  <div className="flex items-start justify-between mb-4">
668
657
  <div className="flex items-center gap-4">
669
- <div className={`w-12 h-12 rounded-xl bg-gray-800 flex items-center justify-center`}>
658
+ <div className={`w-12 h-12 rounded-xl bg-card flex items-center justify-center`}>
670
659
  <OptionIcon className="w-6 h-6 text-white" />
671
660
  </div>
672
661
  <div>
@@ -680,8 +669,8 @@ CMD ["npm", "start"]`
680
669
  {option.complexity}
681
670
  </span>
682
671
  </h3>
683
- <p className="text-sm text-gray-600 dark:text-gray-300">{option.description}</p>
684
- <div className="text-xs text-blue-400 mt-1">⏱️ {option.timeEstimate}</div>
672
+ <p className="text-sm text-muted-foreground">{option.description}</p>
673
+ <div className="text-xs text-primary mt-1">⏱️ {option.timeEstimate}</div>
685
674
  </div>
686
675
  </div>
687
676
  </div>
@@ -705,14 +694,14 @@ CMD ["npm", "start"]`
705
694
  <div className="space-y-3">
706
695
  {option.steps.map((step, stepIndex) => (
707
696
  <div key={stepIndex} className="flex gap-3">
708
- <div className="w-6 h-6 rounded-full bg-blue-500 text-white text-xs flex items-center justify-center flex-shrink-0 mt-0.5">
697
+ <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">
709
698
  {stepIndex + 1}
710
699
  </div>
711
700
  <div className="flex-1">
712
701
  <h5 className="font-medium">{step.title}</h5>
713
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-2">{step.description}</p>
702
+ <p className="text-sm text-muted-foreground mb-2">{step.description}</p>
714
703
  {step.code && (
715
- <div className="bg-gray-900 rounded-lg p-3 mt-2">
704
+ <div className="bg-background rounded-lg p-3 mt-2">
716
705
  <pre className="text-green-400 text-xs whitespace-pre-wrap">{step.code}</pre>
717
706
  </div>
718
707
  )}
@@ -721,7 +710,7 @@ CMD ["npm", "start"]`
721
710
  href={step.link}
722
711
  target="_blank"
723
712
  rel="noopener noreferrer"
724
- className="inline-flex items-center gap-1 text-sm text-blue-400 hover:text-blue-300 mt-2"
713
+ className="inline-flex items-center gap-1 text-sm text-primary hover:text-primary/80 mt-2"
725
714
  >
726
715
  Learn More <ExternalLink className="w-3 h-3" />
727
716
  </a>
@@ -737,7 +726,7 @@ CMD ["npm", "start"]`
737
726
  </div>
738
727
 
739
728
  {/* Pre-Deployment Checklist */}
740
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mt-8`}>
729
+ <div className={`rounded-xl border border-border bg-card rounded-2xl p-6 mt-8`}>
741
730
  <h3 className="text-lg font-semibold mb-4 flex items-center gap-2">
742
731
  <CheckCircle className="w-5 h-5 text-green-400" />
743
732
  Pre-Deployment Checklist
@@ -759,11 +748,11 @@ CMD ["npm", "start"]`
759
748
  )}
760
749
  <div className="flex items-center gap-3">
761
750
  <CheckCircle className="w-5 h-5 text-green-400" />
762
- <span>Build succeeds locally: <code className="px-2 py-1 bg-gray-800 rounded">npm run build</code></span>
751
+ <span>Build succeeds locally: <code className="px-2 py-1 bg-card rounded">npm run build</code></span>
763
752
  </div>
764
753
  <div className="flex items-center gap-3">
765
754
  <CheckCircle className="w-5 h-5 text-green-400" />
766
- <span>Tests pass: <code className="px-2 py-1 bg-gray-800 rounded">npm run test</code></span>
755
+ <span>Tests pass: <code className="px-2 py-1 bg-card rounded">npm run test</code></span>
767
756
  </div>
768
757
  <div className="flex items-center gap-3">
769
758
  <CheckCircle className="w-5 h-5 text-green-400" />
@@ -775,27 +764,27 @@ CMD ["npm", "start"]`
775
764
  )}
776
765
 
777
766
  {/* Support Section */}
778
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mt-8 text-center`}>
767
+ <div className={`rounded-xl border border-border bg-card rounded-2xl p-6 mt-8 text-center`}>
779
768
  <h3 className="text-lg font-semibold mb-4">Need Help?</h3>
780
- <p className="text-gray-600 dark:text-gray-300 mb-4">
769
+ <p className="text-muted-foreground mb-4">
781
770
  Our community and support team are here to help with development and deployment.
782
771
  </p>
783
772
  <div className="flex justify-center gap-4">
784
- <Button variant="outline" size="sm" asChild>
773
+ <Button variant="outline" size="sm">
785
774
  <a href="https://discord.gg/digilogiclabs" target="_blank" rel="noopener noreferrer">
786
775
  Join Discord
787
776
  </a>
788
777
  </Button>
789
- <Button size="sm" asChild>
778
+ <Button size="sm">
790
779
  <a href="https://docs.digilogiclabs.com" target="_blank" rel="noopener noreferrer">
791
780
  View Docs
792
781
  </a>
793
782
  </Button>
794
783
  </div>
795
784
  </div>
796
- </MobileContainer>
785
+ </div>
797
786
  </div>
798
787
  </main>
799
- </PageTransition>
788
+ </div>
800
789
  )
801
790
  }
@@ -1,36 +1,38 @@
1
- import type { Metadata } from 'next'
2
- import { Inter } from 'next/font/google'
3
- import './globals.css'
4
- import { AppProviders } from '@/components/providers/app-providers'
5
- import { Header } from '@/components/shared/header'
6
- import { Footer } from '@/components/shared/footer'
7
-
8
- const inter = Inter({ subsets: ['latin'] })
9
-
10
- export const metadata: Metadata = {
11
- title: '{{titleCaseName}}',
12
- description: '{{description}}',
13
- }
14
-
15
- export default function RootLayout({
16
- children,
17
- }: {
18
- children: React.ReactNode
19
- }) {
20
- return (
21
- <html lang="en" suppressHydrationWarning>
22
- <body className={`${inter.className} min-h-screen flex flex-col`}>
23
- <AppProviders>
24
- <a href="#main-content" className="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-[90] focus:px-4 focus:py-2 focus:bg-primary focus:text-primary-foreground focus:rounded-lg focus:outline-none">
25
- Skip to content
26
- </a>
27
- <Header />
28
- <main id="main-content" className="flex-1">
29
- {children}
30
- </main>
31
- <Footer />
32
- </AppProviders>
33
- </body>
34
- </html>
35
- )
36
- }
1
+ import type { Metadata } from 'next'
2
+ import { Inter } from 'next/font/google'
3
+ import './globals.css'
4
+ import { AppProviders } from '@/components/providers/app-providers'
5
+ import { Header } from '@/components/shared/header'
6
+ import { MockBanner } from '@/components/mock-banner'
7
+ import { Footer } from '@/components/shared/footer'
8
+
9
+ const inter = Inter({ subsets: ['latin'] })
10
+
11
+ export const metadata: Metadata = {
12
+ title: '{{titleCaseName}}',
13
+ description: '{{description}}',
14
+ }
15
+
16
+ export default function RootLayout({
17
+ children,
18
+ }: {
19
+ children: React.ReactNode
20
+ }) {
21
+ return (
22
+ <html lang="en" suppressHydrationWarning>
23
+ <body className={`${inter.className} min-h-screen flex flex-col`}>
24
+ <AppProviders>
25
+ <MockBanner />
26
+ <a href="#main-content" className="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-[90] focus:px-4 focus:py-2 focus:bg-primary focus:text-primary-foreground focus:rounded-lg focus:outline-none">
27
+ Skip to content
28
+ </a>
29
+ <Header />
30
+ <main id="main-content" className="flex-1">
31
+ {children}
32
+ </main>
33
+ <Footer />
34
+ </AppProviders>
35
+ </body>
36
+ </html>
37
+ )
38
+ }
@@ -2,35 +2,35 @@ import { Card } from '@digilogiclabs/saas-factory-ui'
2
2
 
3
3
  export default function LoginLoading() {
4
4
  return (
5
- <div className="flex items-center justify-center min-h-screen bg-gray-100 dark:bg-gray-900">
5
+ <div className="flex items-center justify-center min-h-screen bg-muted">
6
6
  <Card className="w-full max-w-md p-8">
7
7
  <div className="animate-pulse space-y-6">
8
8
  {/* Title skeleton */}
9
- <div className="h-8 bg-gray-200 dark:bg-gray-700 rounded-md mx-auto w-32"></div>
9
+ <div className="h-8 bg-muted rounded-md mx-auto w-32"></div>
10
10
 
11
11
  {/* Form skeleton */}
12
12
  <div className="space-y-4">
13
13
  {/* Email field */}
14
14
  <div>
15
- <div className="h-4 bg-gray-200 dark:bg-gray-700 rounded w-16 mb-2"></div>
16
- <div className="h-10 bg-gray-200 dark:bg-gray-700 rounded"></div>
15
+ <div className="h-4 bg-muted rounded w-16 mb-2"></div>
16
+ <div className="h-10 bg-muted rounded"></div>
17
17
  </div>
18
18
 
19
19
  {/* Password field */}
20
20
  <div>
21
- <div className="h-4 bg-gray-200 dark:bg-gray-700 rounded w-20 mb-2"></div>
22
- <div className="h-10 bg-gray-200 dark:bg-gray-700 rounded"></div>
21
+ <div className="h-4 bg-muted rounded w-20 mb-2"></div>
22
+ <div className="h-10 bg-muted rounded"></div>
23
23
  </div>
24
24
 
25
25
  {/* Sign in button */}
26
- <div className="h-10 bg-blue-200 dark:bg-blue-800 rounded"></div>
26
+ <div className="h-10 bg-primary/50 rounded"></div>
27
27
 
28
28
  {/* OAuth button */}
29
- <div className="h-10 bg-gray-200 dark:bg-gray-700 rounded"></div>
29
+ <div className="h-10 bg-muted rounded"></div>
30
30
  </div>
31
31
 
32
32
  {/* Sign up link */}
33
- <div className="h-4 bg-gray-200 dark:bg-gray-700 rounded w-48 mx-auto"></div>
33
+ <div className="h-4 bg-muted rounded w-48 mx-auto"></div>
34
34
  </div>
35
35
  </Card>
36
36
  </div>
@@ -1,109 +1,9 @@
1
- 'use client';
2
-
3
- import React, { useState } from 'react';
4
- import { Button, Card, Input, Label } from '@digilogiclabs/saas-factory-ui';
5
- import { useAuth } from '@digilogiclabs/app-sdk';
6
- import { useRouter } from 'next/navigation';
1
+ import { LoginForm } from '@/components/client/login-form'
7
2
 
8
3
  export default function LoginPage() {
9
- const [email, setEmail] = useState('');
10
- const [password, setPassword] = useState('');
11
- const { signIn, signInWithOAuth, loading, error, user } = useAuth();
12
- const router = useRouter();
13
-
14
- // Redirect if already logged in
15
- React.useEffect(() => {
16
- if (user) {
17
- router.push('/');
18
- }
19
- }, [user, router]);
20
-
21
- const handleLogin = async (e: React.FormEvent) => {
22
- e.preventDefault();
23
- try {
24
- await signIn(email, password);
25
- router.push('/');
26
- } catch (err) {
27
- console.error('Login error:', err);
28
- }
29
- };
30
-
31
- const handleGoogleLogin = async () => {
32
- try {
33
- await signInWithOAuth('google');
34
- } catch (err) {
35
- console.error('Google login error:', err);
36
- }
37
- };
38
-
39
- if (loading) {
40
- return (
41
- <div className="flex items-center justify-center min-h-screen bg-gray-100">
42
- <div>Loading...</div>
43
- </div>
44
- );
45
- }
46
-
47
4
  return (
48
- <div className="flex items-center justify-center min-h-screen bg-gray-100">
49
- <Card className="w-full max-w-md p-8">
50
- <h1 className="text-2xl font-bold text-center mb-6">Sign In</h1>
51
-
52
- {error && (
53
- <div className="mb-4 p-3 bg-red-100 border border-red-400 text-red-700 rounded">
54
- {error.message}
55
- </div>
56
- )}
57
-
58
- <form onSubmit={handleLogin} className="space-y-4">
59
- <div>
60
- <Label htmlFor="email">Email</Label>
61
- <Input
62
- id="email"
63
- type="email"
64
- value={email}
65
- onChange={(e) => setEmail(e.target.value)}
66
- placeholder="Enter your email"
67
- required
68
- disabled={loading}
69
- />
70
- </div>
71
- <div>
72
- <Label htmlFor="password">Password</Label>
73
- <Input
74
- id="password"
75
- type="password"
76
- value={password}
77
- onChange={(e) => setPassword(e.target.value)}
78
- placeholder="Enter your password"
79
- required
80
- disabled={loading}
81
- />
82
- </div>
83
- <Button type="submit" className="w-full" disabled={loading}>
84
- {loading ? 'Signing In...' : 'Sign In'}
85
- </Button>
86
- <Button
87
- type="button"
88
- variant="outline"
89
- className="w-full"
90
- onClick={handleGoogleLogin}
91
- disabled={loading}
92
- >
93
- Sign in with Google
94
- </Button>
95
- </form>
96
-
97
- <div className="mt-4 text-center">
98
- <p className="text-sm text-gray-600">
99
- Don&apos;t have an account?{' '}
100
- <a href="/signup" className="text-blue-600 hover:underline">
101
- Sign up
102
- </a>
103
- </p>
104
- </div>
105
- </Card>
5
+ <div className="flex min-h-screen items-center justify-center bg-background px-4">
6
+ <LoginForm />
106
7
  </div>
107
- );
8
+ )
108
9
  }
109
-