@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,12 +1,8 @@
1
1
  'use client'
2
2
 
3
- import {
4
- Card,
5
- Button,
6
- PageTransition,
7
- MobileContainer,
8
- useAnimationTokens,
9
- useGlassmorphism
3
+ import {
4
+ Card,
5
+ Button
10
6
  } from '@digilogiclabs/saas-factory-ui'
11
7
  import {
12
8
  ArrowLeft,
@@ -46,8 +42,6 @@ interface DeploymentOption {
46
42
  }
47
43
 
48
44
  export default function DevSetupPage() {
49
- const animations = useAnimationTokens()
50
- const glass = useGlassmorphism()
51
45
  const [copiedItem, setCopiedItem] = useState<string | null>(null)
52
46
  const [activeTab, setActiveTab] = useState<'claude' | 'deployment'>('claude')
53
47
 
@@ -55,9 +49,9 @@ export default function DevSetupPage() {
55
49
  const templateName = "{{ai.enabled ? 'Full-Stack AI Platform' : 'SaaS Platform'}}"
56
50
  const hasAuth = true
57
51
  const hasPayments = true
58
- const hasAI = "{{ai.enabled}}" === "true"
59
- const hasAudio = "{{ai.hasAudio}}" === "true"
60
- const hasVideo = "{{ai.hasVideo}}" === "true"
52
+ const hasAI = String("{{ai.enabled}}") === "true"
53
+ const hasAudio = String("{{ai.hasAudio}}") === "true"
54
+ const hasVideo = String("{{ai.hasVideo}}") === "true"
61
55
 
62
56
  const copyToClipboard = async (text: string, itemName: string) => {
63
57
  await navigator.clipboard.writeText(text)
@@ -75,8 +69,8 @@ export default function DevSetupPage() {
75
69
  }] : []),
76
70
  {
77
71
  name: "@digilogiclabs/saas-factory-ui",
78
- description: "Modern UI components with glassmorphism and responsive design",
79
- key_exports: ["Button", "Card", "MobileContainer", "PageTransition", "ResponsiveGrid"],
72
+ description: "Modern UI components with design tokens and responsive design",
73
+ key_exports: ["Button", "Card", "CardHeader", "CardTitle", "CardContent", "Badge"],
80
74
  docs_link: "https://docs.digilogiclabs.com/packages/ui"
81
75
  },
82
76
  ...(hasPayments ? [{
@@ -121,7 +115,7 @@ export default function DevSetupPage() {
121
115
  ## Project Architecture
122
116
  - **Framework**: Next.js 15.3 with App Router
123
117
  - **Database**: Supabase (PostgreSQL with real-time features)
124
- - **Styling**: Tailwind CSS v4 with glassmorphism design system
118
+ - **Styling**: Tailwind CSS v4 with design tokens
125
119
  ${hasAuth ? '- **Authentication**: Supabase Auth with @digilogiclabs/saas-factory-auth' : ''}
126
120
  ${hasPayments ? '- **Payments**: Stripe integration with @digilogiclabs/saas-factory-payments' : ''}
127
121
  ${hasAI ? '- **AI Platform**: Multi-modal AI with @digilogiclabs/saas-factory-ai' : ''}
@@ -133,7 +127,7 @@ ${packageDocs.map(pkg => `- **${pkg.name}**: ${pkg.description}`).join('\n')}
133
127
  1. Follow Next.js 15 best practices with Server Components by default
134
128
  2. Use TypeScript strictly - all components should be typed
135
129
  3. Implement proper error boundaries and loading states
136
- 4. Follow the glassmorphism design system from saas-factory-ui
130
+ 4. Use semantic design tokens (bg-background, text-foreground, bg-card, border-border)
137
131
  5. Use Server Actions for mutations and API routes for complex logic
138
132
  ${hasAuth ? '6. Always check authentication state with useAuth hook' : ''}
139
133
  ${hasPayments ? '7. Handle payment states and subscription status properly' : ''}
@@ -163,7 +157,7 @@ This project is a ${templateName} built with modern technologies and Digi Logic
163
157
  ### Core Technologies
164
158
  - **Next.js 15.3**: App Router, Server Components, Server Actions
165
159
  - **TypeScript**: Strict typing throughout
166
- - **Tailwind CSS v4**: Design tokens, glassmorphism system
160
+ - **Tailwind CSS v4**: Design tokens, semantic color system
167
161
  - **Supabase**: Database, authentication, real-time features
168
162
 
169
163
  ### Package Integration
@@ -201,7 +195,7 @@ ${hasVideo ? '- **video_content**: Generated video files and metadata' : ''}
201
195
 
202
196
  ### Authentication Flow
203
197
  ${hasAuth ? `\`\`\`typescript
204
- import { useAuth } from '@digilogiclabs/app-sdk'
198
+ import { useAuth } from '@/hooks/useAuth'
205
199
 
206
200
  export function ProtectedComponent() {
207
201
  const { user, loading } = useAuth()
@@ -215,29 +209,25 @@ export function ProtectedComponent() {
215
209
 
216
210
  ### UI Components
217
211
  \`\`\`typescript
218
- import {
219
- Card,
220
- Button,
221
- PageTransition,
222
- useGlassmorphism
223
- } from '@digilogiclabs/saas-factory-ui'
212
+ import { Card, CardHeader, CardTitle, CardContent, Button } from '@digilogiclabs/saas-factory-ui'
224
213
 
225
214
  export function ExampleComponent() {
226
- const glass = useGlassmorphism()
227
-
228
215
  return (
229
- <PageTransition type="fade">
230
- <Card className={\`\${glass.card} \${glass.border}\`}>
216
+ <Card>
217
+ <CardHeader>
218
+ <CardTitle>Title</CardTitle>
219
+ </CardHeader>
220
+ <CardContent>
231
221
  <Button variant="default">Action</Button>
232
- </Card>
233
- </PageTransition>
222
+ </CardContent>
223
+ </Card>
234
224
  )
235
225
  }
236
226
  \`\`\`
237
227
 
238
228
  ${hasPayments ? `### Payment Integration
239
229
  \`\`\`typescript
240
- import { usePayments } from '@digilogiclabs/app-sdk'
230
+ import { usePayments } from '@/hooks/usePayments'
241
231
 
242
232
  export function CheckoutPage() {
243
233
  const { createCheckoutSession, loading } = usePayments()
@@ -439,35 +429,35 @@ CMD ["npm", "start"]`
439
429
  ]
440
430
 
441
431
  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`} />
432
+ <div>
433
+ <main className="min-h-screen bg-background text-foreground relative overflow-hidden">
434
+ <div className="absolute inset-0 bg-muted opacity-30" />
445
435
  <div className="relative z-10">
446
- <MobileContainer className="py-8">
436
+ <div className="max-w-4xl mx-auto px-4 py-8">
447
437
  {/* Header */}
448
438
  <div className="flex items-center justify-between mb-8">
449
439
  <div className="flex items-center gap-4">
450
- <Link href="/setup" className={`${glass.card} ${glass.border} p-2 rounded-xl ${animations.hover.scale}`}>
440
+ <Link href="/setup" className="border border-border bg-card p-2 rounded-xl hover:scale-[1.02] transition-transform">
451
441
  <ArrowLeft className="w-5 h-5" />
452
442
  </Link>
453
443
  <div>
454
444
  <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>
445
+ <p className="text-muted-foreground">Claude AI setup and hosting guides</p>
456
446
  </div>
457
447
  </div>
458
- <div className={`${glass.card} ${glass.border} px-4 py-2 rounded-xl`}>
448
+ <div className={`border border-border bg-card px-4 py-2 rounded-xl`}>
459
449
  <span className="text-sm font-medium">{projectName}</span>
460
450
  </div>
461
451
  </div>
462
452
 
463
453
  {/* Tab Navigation */}
464
- <div className={`${glass.card} ${glass.border} rounded-2xl p-1 mb-8 inline-flex`}>
454
+ <div className={`border border-border bg-card rounded-2xl p-1 mb-8 inline-flex`}>
465
455
  <button
466
456
  onClick={() => setActiveTab('claude')}
467
457
  className={`px-4 py-2 rounded-xl text-sm font-medium transition-all duration-200 ${
468
458
  activeTab === 'claude'
469
459
  ? 'bg-purple-500 text-white shadow-lg'
470
- : 'text-gray-600 dark:text-gray-300 hover:bg-white/10'
460
+ : 'text-muted-foreground hover:bg-white/10'
471
461
  }`}
472
462
  >
473
463
  <Bot className="w-4 h-4 inline mr-2" />
@@ -477,8 +467,8 @@ CMD ["npm", "start"]`
477
467
  onClick={() => setActiveTab('deployment')}
478
468
  className={`px-4 py-2 rounded-xl text-sm font-medium transition-all duration-200 ${
479
469
  activeTab === 'deployment'
480
- ? 'bg-blue-500 text-white shadow-lg'
481
- : 'text-gray-600 dark:text-gray-300 hover:bg-white/10'
470
+ ? 'bg-primary text-primary-foreground shadow-lg'
471
+ : 'text-muted-foreground hover:bg-white/10'
482
472
  }`}
483
473
  >
484
474
  <Rocket className="w-4 h-4 inline mr-2" />
@@ -489,14 +479,14 @@ CMD ["npm", "start"]`
489
479
  {activeTab === 'claude' && (
490
480
  <>
491
481
  {/* Claude AI Development Setup */}
492
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mb-8`}>
482
+ <div className={`border border-border bg-card rounded-2xl p-6 mb-8`}>
493
483
  <div className="flex items-center gap-4 mb-6">
494
484
  <div className={`w-12 h-12 rounded-xl bg-gradient-to-r from-purple-500 to-blue-500 flex items-center justify-center`}>
495
485
  <Bot className="w-6 h-6 text-white" />
496
486
  </div>
497
487
  <div>
498
488
  <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>
489
+ <p className="text-muted-foreground">Supercharge your development workflow with AI assistance</p>
500
490
  </div>
501
491
  </div>
502
492
 
@@ -504,17 +494,17 @@ CMD ["npm", "start"]`
504
494
  <div className="text-center p-4 rounded-xl bg-purple-500/10">
505
495
  <Terminal className="w-8 h-8 text-purple-400 mx-auto mb-2" />
506
496
  <div className="font-medium">Claude CLI</div>
507
- <div className="text-sm text-gray-600 dark:text-gray-300">Command-line AI assistant</div>
497
+ <div className="text-sm text-muted-foreground">Command-line AI assistant</div>
508
498
  </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" />
499
+ <div className="text-center p-4 rounded-xl bg-primary/10">
500
+ <FileText className="w-8 h-8 text-primary mx-auto mb-2" />
511
501
  <div className="font-medium">Smart Context</div>
512
- <div className="text-sm text-gray-600 dark:text-gray-300">Project-aware assistance</div>
502
+ <div className="text-sm text-muted-foreground">Project-aware assistance</div>
513
503
  </div>
514
504
  <div className="text-center p-4 rounded-xl bg-green-500/10">
515
505
  <Zap className="w-8 h-8 text-green-400 mx-auto mb-2" />
516
506
  <div className="font-medium">Auto-Setup</div>
517
- <div className="text-sm text-gray-600 dark:text-gray-300">Generated configuration</div>
507
+ <div className="text-sm text-muted-foreground">Generated configuration</div>
518
508
  </div>
519
509
  </div>
520
510
 
@@ -526,14 +516,14 @@ CMD ["npm", "start"]`
526
516
  </div>
527
517
  <div className="flex-1">
528
518
  <h3 className="font-semibold mb-2">Install Claude CLI</h3>
529
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
519
+ <p className="text-sm text-muted-foreground mb-3">
530
520
  Install the Claude CLI to get AI assistance directly in your terminal
531
521
  </p>
532
- <div className="bg-gray-900 rounded-xl p-4">
522
+ <div className="bg-background rounded-xl p-4">
533
523
  <pre className="text-green-400 text-sm">npm install -g @anthropic-ai/claude-cli</pre>
534
524
  <button
535
525
  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"
526
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-white transition-colors"
537
527
  >
538
528
  <Copy className="w-3 h-3" />
539
529
  {copiedItem === 'claude-install' ? 'Copied!' : 'Copy command'}
@@ -549,16 +539,16 @@ CMD ["npm", "start"]`
549
539
  </div>
550
540
  <div className="flex-1">
551
541
  <h3 className="font-semibold mb-2">Create .claude Configuration</h3>
552
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
542
+ <p className="text-sm text-muted-foreground mb-3">
553
543
  Create a .claude file in your project root with this optimized configuration
554
544
  </p>
555
- <div className="bg-gray-900 rounded-xl p-4 overflow-x-auto">
545
+ <div className="bg-background rounded-xl p-4 overflow-x-auto">
556
546
  <pre className="text-green-400 text-xs">
557
547
  {JSON.stringify(claudeConfig, null, 2)}
558
548
  </pre>
559
549
  <button
560
550
  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"
551
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-white transition-colors"
562
552
  >
563
553
  <Copy className="w-3 h-3" />
564
554
  {copiedItem === 'claude-config' ? 'Copied!' : 'Copy .claude configuration'}
@@ -574,18 +564,18 @@ CMD ["npm", "start"]`
574
564
  </div>
575
565
  <div className="flex-1">
576
566
  <h3 className="font-semibold mb-2">Create Context Documentation</h3>
577
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
567
+ <p className="text-sm text-muted-foreground mb-3">
578
568
  Create a context.md file with comprehensive project documentation
579
569
  </p>
580
570
  <details className="mb-3">
581
- <summary className="text-sm text-blue-400 cursor-pointer hover:text-blue-300">
571
+ <summary className="text-sm text-primary cursor-pointer hover:text-primary/80">
582
572
  Show context.md content
583
573
  </summary>
584
- <div className="bg-gray-900 rounded-xl p-4 mt-2 overflow-x-auto max-h-64">
574
+ <div className="bg-background rounded-xl p-4 mt-2 overflow-x-auto max-h-64">
585
575
  <pre className="text-green-400 text-xs whitespace-pre-wrap">{contextContent}</pre>
586
576
  <button
587
577
  onClick={() => copyToClipboard(contextContent, 'context-content')}
588
- className="mt-2 flex items-center gap-2 text-xs text-gray-400 hover:text-white transition-colors"
578
+ className="mt-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-white transition-colors"
589
579
  >
590
580
  <Copy className="w-3 h-3" />
591
581
  {copiedItem === 'context-content' ? 'Copied!' : 'Copy context.md content'}
@@ -602,20 +592,20 @@ CMD ["npm", "start"]`
602
592
  </div>
603
593
  <div className="flex-1">
604
594
  <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">
595
+ <p className="text-sm text-muted-foreground mb-3">
606
596
  Common commands to supercharge your development workflow
607
597
  </p>
608
598
  <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>
611
- <code className="text-green-400 text-xs">claude &quot;Create a new user profile component with glassmorphism styling&quot;</code>
599
+ <div className="bg-background rounded-lg p-3">
600
+ <div className="text-primary text-sm mb-1">Generate new component:</div>
601
+ <code className="text-green-400 text-xs">claude &quot;Create a new user profile component with Tailwind styling&quot;</code>
612
602
  </div>
613
- <div className="bg-gray-900 rounded-lg p-3">
614
- <div className="text-blue-400 text-sm mb-1">Debug issues:</div>
603
+ <div className="bg-background rounded-lg p-3">
604
+ <div className="text-primary text-sm mb-1">Debug issues:</div>
615
605
  <code className="text-green-400 text-xs">claude &quot;Help me debug this authentication error&quot;</code>
616
606
  </div>
617
- <div className="bg-gray-900 rounded-lg p-3">
618
- <div className="text-blue-400 text-sm mb-1">Add features:</div>
607
+ <div className="bg-background rounded-lg p-3">
608
+ <div className="text-primary text-sm mb-1">Add features:</div>
619
609
  <code className="text-green-400 text-xs">claude &quot;Add a dark mode toggle to the header component&quot;</code>
620
610
  </div>
621
611
  </div>
@@ -625,25 +615,25 @@ CMD ["npm", "start"]`
625
615
  </div>
626
616
 
627
617
  {/* Package Documentation Quick Reference */}
628
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mb-8`}>
618
+ <div className={`border border-border bg-card rounded-2xl p-6 mb-8`}>
629
619
  <h3 className="text-lg font-semibold mb-4 flex items-center gap-2">
630
- <Book className="w-5 h-5 text-blue-400" />
620
+ <Book className="w-5 h-5 text-primary" />
631
621
  Package Documentation Quick Reference
632
622
  </h3>
633
623
  <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
634
624
  {packageDocs.map((pkg, index) => (
635
- <div key={index} className={`${glass.card} ${glass.border} rounded-xl p-4`}>
625
+ <div key={index} className={`border border-border bg-card rounded-xl p-4`}>
636
626
  <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>
627
+ <p className="text-xs text-muted-foreground mb-3">{pkg.description}</p>
638
628
  <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>
629
+ <div className="text-primary mb-1">Key Exports:</div>
630
+ <div className="text-muted-foreground">{pkg.key_exports.join(', ')}</div>
641
631
  </div>
642
632
  <a
643
633
  href={pkg.docs_link}
644
634
  target="_blank"
645
635
  rel="noopener noreferrer"
646
- className="inline-flex items-center gap-1 text-xs text-blue-400 hover:text-blue-300 mt-2"
636
+ className="inline-flex items-center gap-1 text-xs text-primary hover:text-primary/80 mt-2"
647
637
  >
648
638
  View Docs <ExternalLink className="w-3 h-3" />
649
639
  </a>
@@ -663,10 +653,10 @@ CMD ["npm", "start"]`
663
653
  {deploymentOptions.map((option, index) => {
664
654
  const OptionIcon = option.icon
665
655
  return (
666
- <div key={index} className={`${glass.card} ${glass.border} rounded-2xl p-6`}>
656
+ <div key={index} className={`border border-border bg-card rounded-2xl p-6`}>
667
657
  <div className="flex items-start justify-between mb-4">
668
658
  <div className="flex items-center gap-4">
669
- <div className={`w-12 h-12 rounded-xl bg-gray-800 flex items-center justify-center`}>
659
+ <div className={`w-12 h-12 rounded-xl bg-card flex items-center justify-center`}>
670
660
  <OptionIcon className="w-6 h-6 text-white" />
671
661
  </div>
672
662
  <div>
@@ -680,8 +670,8 @@ CMD ["npm", "start"]`
680
670
  {option.complexity}
681
671
  </span>
682
672
  </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>
673
+ <p className="text-sm text-muted-foreground">{option.description}</p>
674
+ <div className="text-xs text-primary mt-1">⏱️ {option.timeEstimate}</div>
685
675
  </div>
686
676
  </div>
687
677
  </div>
@@ -705,14 +695,14 @@ CMD ["npm", "start"]`
705
695
  <div className="space-y-3">
706
696
  {option.steps.map((step, stepIndex) => (
707
697
  <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">
698
+ <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
699
  {stepIndex + 1}
710
700
  </div>
711
701
  <div className="flex-1">
712
702
  <h5 className="font-medium">{step.title}</h5>
713
- <p className="text-sm text-gray-600 dark:text-gray-300 mb-2">{step.description}</p>
703
+ <p className="text-sm text-muted-foreground mb-2">{step.description}</p>
714
704
  {step.code && (
715
- <div className="bg-gray-900 rounded-lg p-3 mt-2">
705
+ <div className="bg-background rounded-lg p-3 mt-2">
716
706
  <pre className="text-green-400 text-xs whitespace-pre-wrap">{step.code}</pre>
717
707
  </div>
718
708
  )}
@@ -721,7 +711,7 @@ CMD ["npm", "start"]`
721
711
  href={step.link}
722
712
  target="_blank"
723
713
  rel="noopener noreferrer"
724
- className="inline-flex items-center gap-1 text-sm text-blue-400 hover:text-blue-300 mt-2"
714
+ className="inline-flex items-center gap-1 text-sm text-primary hover:text-primary/80 mt-2"
725
715
  >
726
716
  Learn More <ExternalLink className="w-3 h-3" />
727
717
  </a>
@@ -737,7 +727,7 @@ CMD ["npm", "start"]`
737
727
  </div>
738
728
 
739
729
  {/* Pre-Deployment Checklist */}
740
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mt-8`}>
730
+ <div className={`border border-border bg-card rounded-2xl p-6 mt-8`}>
741
731
  <h3 className="text-lg font-semibold mb-4 flex items-center gap-2">
742
732
  <CheckCircle className="w-5 h-5 text-green-400" />
743
733
  Pre-Deployment Checklist
@@ -759,11 +749,11 @@ CMD ["npm", "start"]`
759
749
  )}
760
750
  <div className="flex items-center gap-3">
761
751
  <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>
752
+ <span>Build succeeds locally: <code className="px-2 py-1 bg-card rounded">npm run build</code></span>
763
753
  </div>
764
754
  <div className="flex items-center gap-3">
765
755
  <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>
756
+ <span>Tests pass: <code className="px-2 py-1 bg-card rounded">npm run test</code></span>
767
757
  </div>
768
758
  <div className="flex items-center gap-3">
769
759
  <CheckCircle className="w-5 h-5 text-green-400" />
@@ -775,27 +765,27 @@ CMD ["npm", "start"]`
775
765
  )}
776
766
 
777
767
  {/* Support Section */}
778
- <div className={`${glass.card} ${glass.border} rounded-2xl p-6 mt-8 text-center`}>
768
+ <div className={`border border-border bg-card rounded-2xl p-6 mt-8 text-center`}>
779
769
  <h3 className="text-lg font-semibold mb-4">Need Help?</h3>
780
- <p className="text-gray-600 dark:text-gray-300 mb-4">
770
+ <p className="text-muted-foreground mb-4">
781
771
  Our community and support team are here to help with development and deployment.
782
772
  </p>
783
773
  <div className="flex justify-center gap-4">
784
- <Button variant="outline" size="sm" asChild>
774
+ <Button variant="outline" size="sm">
785
775
  <a href="https://discord.gg/digilogiclabs" target="_blank" rel="noopener noreferrer">
786
776
  Join Discord
787
777
  </a>
788
778
  </Button>
789
- <Button size="sm" asChild>
779
+ <Button size="sm">
790
780
  <a href="https://docs.digilogiclabs.com" target="_blank" rel="noopener noreferrer">
791
781
  View Docs
792
782
  </a>
793
783
  </Button>
794
784
  </div>
795
785
  </div>
796
- </MobileContainer>
786
+ </div>
797
787
  </div>
798
788
  </main>
799
- </PageTransition>
789
+ </div>
800
790
  )
801
791
  }
@@ -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,56 +2,43 @@
2
2
 
3
3
  import React, { useState } from 'react';
4
4
  import { Button, Card, Input, Label } from '@digilogiclabs/saas-factory-ui';
5
- import { useAuth } from '@digilogiclabs/app-sdk';
6
5
  import { useRouter } from 'next/navigation';
6
+ import Link from 'next/link';
7
7
 
8
8
  export default function LoginPage() {
9
9
  const [email, setEmail] = useState('');
10
10
  const [password, setPassword] = useState('');
11
- const { signIn, signInWithOAuth, loading, error, user } = useAuth();
11
+ const [loading, setLoading] = useState(false);
12
+ const [error, setError] = useState<string | null>(null);
12
13
  const router = useRouter();
13
14
 
14
- // Redirect if already logged in
15
- React.useEffect(() => {
16
- if (user) {
17
- router.push('/');
18
- }
19
- }, [user, router]);
20
-
21
15
  const handleLogin = async (e: React.FormEvent) => {
22
16
  e.preventDefault();
23
- try {
24
- await signIn(email, password);
25
- router.push('/');
26
- } catch (err) {
27
- console.error('Login error:', err);
28
- }
29
- };
17
+ setLoading(true);
18
+ setError(null);
30
19
 
31
- const handleGoogleLogin = async () => {
32
20
  try {
33
- await signInWithOAuth('google');
21
+ // TODO: Replace with your auth provider (Supabase, NextAuth, etc.)
22
+ // Example with Supabase:
23
+ // const { error } = await supabase.auth.signInWithPassword({ email, password });
24
+ // if (error) throw error;
25
+ console.log('Sign in with:', email);
26
+ router.push('/');
34
27
  } catch (err) {
35
- console.error('Google login error:', err);
28
+ setError(err instanceof Error ? err.message : 'An error occurred during sign in');
29
+ } finally {
30
+ setLoading(false);
36
31
  }
37
32
  };
38
33
 
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
34
  return (
48
- <div className="flex items-center justify-center min-h-screen bg-gray-100">
35
+ <div className="flex items-center justify-center min-h-screen bg-muted">
49
36
  <Card className="w-full max-w-md p-8">
50
- <h1 className="text-2xl font-bold text-center mb-6">Sign In</h1>
51
-
37
+ <h1 className="text-2xl font-bold text-center mb-6 text-foreground">Sign In</h1>
38
+
52
39
  {error && (
53
- <div className="mb-4 p-3 bg-red-100 border border-red-400 text-red-700 rounded">
54
- {error.message}
40
+ <div className="mb-4 p-3 rounded border border-destructive/50 bg-destructive/10 text-destructive text-sm">
41
+ {error}
55
42
  </div>
56
43
  )}
57
44
 
@@ -83,27 +70,17 @@ export default function LoginPage() {
83
70
  <Button type="submit" className="w-full" disabled={loading}>
84
71
  {loading ? 'Signing In...' : 'Sign In'}
85
72
  </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
73
  </form>
96
74
 
97
75
  <div className="mt-4 text-center">
98
- <p className="text-sm text-gray-600">
76
+ <p className="text-sm text-muted-foreground">
99
77
  Don&apos;t have an account?{' '}
100
- <a href="/signup" className="text-blue-600 hover:underline">
78
+ <Link href="/signup" className="text-primary hover:underline">
101
79
  Sign up
102
- </a>
80
+ </Link>
103
81
  </p>
104
82
  </div>
105
83
  </Card>
106
84
  </div>
107
85
  );
108
86
  }
109
-