@digilogiclabs/create-saas-app 1.0.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 (830) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +891 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/cli/commands/add.d.ts +6 -0
  5. package/dist/cli/commands/add.d.ts.map +1 -0
  6. package/dist/cli/commands/add.js +39 -0
  7. package/dist/cli/commands/add.js.map +1 -0
  8. package/dist/cli/commands/create.d.ts +35 -0
  9. package/dist/cli/commands/create.d.ts.map +1 -0
  10. package/dist/cli/commands/create.js +165 -0
  11. package/dist/cli/commands/create.js.map +1 -0
  12. package/dist/cli/commands/index.d.ts +4 -0
  13. package/dist/cli/commands/index.d.ts.map +1 -0
  14. package/dist/cli/commands/index.js +20 -0
  15. package/dist/cli/commands/index.js.map +1 -0
  16. package/dist/cli/commands/update.d.ts +6 -0
  17. package/dist/cli/commands/update.d.ts.map +1 -0
  18. package/dist/cli/commands/update.js +68 -0
  19. package/dist/cli/commands/update.js.map +1 -0
  20. package/dist/cli/index.d.ts +4 -0
  21. package/dist/cli/index.d.ts.map +1 -0
  22. package/dist/cli/index.js +61 -0
  23. package/dist/cli/index.js.map +1 -0
  24. package/dist/cli/prompts/index.d.ts +2 -0
  25. package/dist/cli/prompts/index.d.ts.map +1 -0
  26. package/dist/cli/prompts/index.js +18 -0
  27. package/dist/cli/prompts/index.js.map +1 -0
  28. package/dist/cli/prompts/project-setup.d.ts +5 -0
  29. package/dist/cli/prompts/project-setup.d.ts.map +1 -0
  30. package/dist/cli/prompts/project-setup.js +288 -0
  31. package/dist/cli/prompts/project-setup.js.map +1 -0
  32. package/dist/cli/utils/git.d.ts +9 -0
  33. package/dist/cli/utils/git.d.ts.map +1 -0
  34. package/dist/cli/utils/git.js +77 -0
  35. package/dist/cli/utils/git.js.map +1 -0
  36. package/dist/cli/utils/index.d.ts +5 -0
  37. package/dist/cli/utils/index.d.ts.map +1 -0
  38. package/dist/cli/utils/index.js +21 -0
  39. package/dist/cli/utils/index.js.map +1 -0
  40. package/dist/cli/utils/logger.d.ts +16 -0
  41. package/dist/cli/utils/logger.d.ts.map +1 -0
  42. package/dist/cli/utils/logger.js +55 -0
  43. package/dist/cli/utils/logger.js.map +1 -0
  44. package/dist/cli/utils/package-manager.d.ts +8 -0
  45. package/dist/cli/utils/package-manager.d.ts.map +1 -0
  46. package/dist/cli/utils/package-manager.js +92 -0
  47. package/dist/cli/utils/package-manager.js.map +1 -0
  48. package/dist/cli/utils/spinner.d.ts +7 -0
  49. package/dist/cli/utils/spinner.d.ts.map +1 -0
  50. package/dist/cli/utils/spinner.js +48 -0
  51. package/dist/cli/utils/spinner.js.map +1 -0
  52. package/dist/cli/validators/dependencies.d.ts +15 -0
  53. package/dist/cli/validators/dependencies.d.ts.map +1 -0
  54. package/dist/cli/validators/dependencies.js +108 -0
  55. package/dist/cli/validators/dependencies.js.map +1 -0
  56. package/dist/cli/validators/index.d.ts +3 -0
  57. package/dist/cli/validators/index.d.ts.map +1 -0
  58. package/dist/cli/validators/index.js +19 -0
  59. package/dist/cli/validators/index.js.map +1 -0
  60. package/dist/cli/validators/project-name.d.ts +5 -0
  61. package/dist/cli/validators/project-name.d.ts.map +1 -0
  62. package/dist/cli/validators/project-name.js +151 -0
  63. package/dist/cli/validators/project-name.js.map +1 -0
  64. package/dist/generators/file-processor.d.ts +28 -0
  65. package/dist/generators/file-processor.d.ts.map +1 -0
  66. package/dist/generators/file-processor.js +224 -0
  67. package/dist/generators/file-processor.js.map +1 -0
  68. package/dist/generators/index.d.ts +4 -0
  69. package/dist/generators/index.d.ts.map +1 -0
  70. package/dist/generators/index.js +20 -0
  71. package/dist/generators/index.js.map +1 -0
  72. package/dist/generators/package-installer.d.ts +29 -0
  73. package/dist/generators/package-installer.d.ts.map +1 -0
  74. package/dist/generators/package-installer.js +177 -0
  75. package/dist/generators/package-installer.js.map +1 -0
  76. package/dist/generators/template-generator.d.ts +61 -0
  77. package/dist/generators/template-generator.d.ts.map +1 -0
  78. package/dist/generators/template-generator.js +457 -0
  79. package/dist/generators/template-generator.js.map +1 -0
  80. package/dist/templates/mobile/base/template/.env.example +15 -0
  81. package/dist/templates/mobile/base/template/App.tsx +186 -0
  82. package/dist/templates/mobile/base/template/app/(auth)/login.tsx +44 -0
  83. package/dist/templates/mobile/base/template/app/(auth)/signup.tsx +43 -0
  84. package/dist/templates/mobile/base/template/app/checkout.tsx +20 -0
  85. package/dist/templates/mobile/base/template/app.json +44 -0
  86. package/dist/templates/mobile/base/template/babel.config.js +6 -0
  87. package/dist/templates/mobile/base/template/eas.json +19 -0
  88. package/dist/templates/mobile/base/template/package.json +54 -0
  89. package/dist/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  90. package/dist/templates/mobile/ui-auth-payments/template/README.md +218 -0
  91. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  92. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  93. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  94. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +757 -0
  95. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  96. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  97. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +134 -0
  98. package/dist/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  99. package/dist/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  100. package/dist/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  101. package/dist/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  102. package/dist/templates/mobile/ui-auth-payments/template/app.json +94 -0
  103. package/dist/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  104. package/dist/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  105. package/dist/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  106. package/dist/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  107. package/dist/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  108. package/dist/templates/mobile/ui-auth-payments/template/package.json +117 -0
  109. package/dist/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  110. package/dist/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  111. package/dist/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  112. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  113. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  114. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  115. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  116. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  117. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  118. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  119. package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +134 -0
  120. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  121. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  122. package/dist/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  123. package/dist/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  124. package/dist/templates/mobile/ui-auth-payments-ai/template/app.json +94 -0
  125. package/dist/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  126. package/dist/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  127. package/dist/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  128. package/dist/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  129. package/dist/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  130. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +119 -0
  131. package/dist/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  132. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  133. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  134. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
  135. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  136. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  137. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  138. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  139. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  140. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  141. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  142. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  143. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  144. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +124 -0
  145. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  146. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  147. package/dist/templates/shared/auth/firebase/web/config.ts +23 -0
  148. package/dist/templates/shared/auth/supabase/web/config.ts +8 -0
  149. package/dist/templates/web/base/template/.env.example +15 -0
  150. package/dist/templates/web/base/template/.eslintrc.js +8 -0
  151. package/dist/templates/web/base/template/README.md +68 -0
  152. package/dist/templates/web/base/template/next.config.js +15 -0
  153. package/dist/templates/web/base/template/package.json +59 -0
  154. package/dist/templates/web/base/template/postcss.config.js +7 -0
  155. package/dist/templates/web/base/template/src/app/auth/callback/route.ts +18 -0
  156. package/dist/templates/web/base/template/src/app/checkout/page.tsx +119 -0
  157. package/dist/templates/web/base/template/src/app/dashboard/page.tsx +366 -0
  158. package/dist/templates/web/base/template/src/app/error.tsx +97 -0
  159. package/dist/templates/web/base/template/src/app/globals.css +157 -0
  160. package/dist/templates/web/base/template/src/app/layout.tsx +35 -0
  161. package/dist/templates/web/base/template/src/app/loading.tsx +52 -0
  162. package/dist/templates/web/base/template/src/app/login/page.tsx +67 -0
  163. package/dist/templates/web/base/template/src/app/page.tsx +193 -0
  164. package/dist/templates/web/base/template/src/app/signup/page.tsx +67 -0
  165. package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +49 -0
  166. package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +35 -0
  167. package/dist/templates/web/base/template/src/components/providers/theme-provider.tsx +94 -0
  168. package/dist/templates/web/base/template/src/components/shared/footer.tsx +36 -0
  169. package/dist/templates/web/base/template/src/components/shared/header.tsx +63 -0
  170. package/dist/templates/web/base/template/src/components/ui/badge.tsx +36 -0
  171. package/dist/templates/web/base/template/src/components/ui/button.tsx +56 -0
  172. package/dist/templates/web/base/template/src/components/ui/card.tsx +71 -0
  173. package/dist/templates/web/base/template/src/components/ui/theme-toggle.tsx +34 -0
  174. package/dist/templates/web/base/template/src/lib/auth-server.ts +177 -0
  175. package/dist/templates/web/base/template/src/lib/env.ts +46 -0
  176. package/dist/templates/web/base/template/src/lib/platform.ts +146 -0
  177. package/dist/templates/web/base/template/src/lib/utils.ts +140 -0
  178. package/dist/templates/web/base/template/src/test/setup.ts +79 -0
  179. package/dist/templates/web/base/template/tailwind.config.js +77 -0
  180. package/dist/templates/web/base/template/tsconfig.json +33 -0
  181. package/dist/templates/web/base/template/vitest.config.ts +17 -0
  182. package/dist/templates/web/base/template.backup/.env.example +15 -0
  183. package/dist/templates/web/base/template.backup.20250817/.env.example +15 -0
  184. package/dist/templates/web/ui-auth/template/.claude +21 -0
  185. package/dist/templates/web/ui-auth/template/.env.example +15 -0
  186. package/dist/templates/web/ui-auth/template/.eslintrc.js +8 -0
  187. package/dist/templates/web/ui-auth/template/README.md +68 -0
  188. package/dist/templates/web/ui-auth/template/context.md +105 -0
  189. package/dist/templates/web/ui-auth/template/next.config.js +12 -0
  190. package/dist/templates/web/ui-auth/template/package.json +51 -0
  191. package/dist/templates/web/ui-auth/template/postcss.config.js +7 -0
  192. package/dist/templates/web/ui-auth/template/src/app/auth/callback/route.ts +12 -0
  193. package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +25 -0
  194. package/dist/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +801 -0
  195. package/dist/templates/web/ui-auth/template/src/app/error.tsx +67 -0
  196. package/dist/templates/web/ui-auth/template/src/app/globals.css +95 -0
  197. package/dist/templates/web/ui-auth/template/src/app/layout.tsx +33 -0
  198. package/dist/templates/web/ui-auth/template/src/app/loading.tsx +38 -0
  199. package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +109 -0
  200. package/dist/templates/web/ui-auth/template/src/app/page.tsx +305 -0
  201. package/dist/templates/web/ui-auth/template/src/app/setup/page.tsx +403 -0
  202. package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +128 -0
  203. package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +49 -0
  204. package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +31 -0
  205. package/dist/templates/web/ui-auth/template/src/components/providers/theme-provider.tsx +94 -0
  206. package/dist/templates/web/ui-auth/template/src/components/shared/footer.tsx +36 -0
  207. package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +94 -0
  208. package/dist/templates/web/ui-auth/template/src/components/ui/badge.tsx +36 -0
  209. package/dist/templates/web/ui-auth/template/src/components/ui/theme-toggle.tsx +34 -0
  210. package/dist/templates/web/ui-auth/template/src/lib/env.ts +49 -0
  211. package/dist/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
  212. package/dist/templates/web/ui-auth/template/src/lib/utils.ts +140 -0
  213. package/dist/templates/web/ui-auth/template/src/test/setup.ts +79 -0
  214. package/dist/templates/web/ui-auth/template/tailwind.config.js +77 -0
  215. package/dist/templates/web/ui-auth/template/tsconfig.json +33 -0
  216. package/dist/templates/web/ui-auth/template/vitest.config.ts +17 -0
  217. package/dist/templates/web/ui-auth/template.backup/.env.example +15 -0
  218. package/dist/templates/web/ui-auth/template.backup.20250817/.env.example +15 -0
  219. package/dist/templates/web/ui-auth-ai/template/.env.example +18 -0
  220. package/dist/templates/web/ui-auth-ai/template/README.md +170 -0
  221. package/dist/templates/web/ui-auth-ai/template/next.config.js +13 -0
  222. package/dist/templates/web/ui-auth-ai/template/package.json +39 -0
  223. package/dist/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
  224. package/dist/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
  225. package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
  226. package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
  227. package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
  228. package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
  229. package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
  230. package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
  231. package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
  232. package/dist/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
  233. package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
  234. package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
  235. package/dist/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
  236. package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
  237. package/dist/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
  238. package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
  239. package/dist/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
  240. package/dist/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
  241. package/dist/templates/web/ui-auth-payments/template/.env.example +51 -0
  242. package/dist/templates/web/ui-auth-payments/template/README.md +165 -0
  243. package/dist/templates/web/ui-auth-payments/template/middleware.ts +68 -0
  244. package/dist/templates/web/ui-auth-payments/template/next.config.js +12 -0
  245. package/dist/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  246. package/dist/templates/web/ui-auth-payments/template/package.json +55 -0
  247. package/dist/templates/web/ui-auth-payments/template/postcss.config.js +7 -0
  248. package/dist/templates/web/ui-auth-payments/template/src/app/auth/callback/route.ts +12 -0
  249. package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +211 -0
  250. package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +318 -0
  251. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/layout.tsx +22 -0
  252. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +235 -0
  253. package/dist/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +801 -0
  254. package/dist/templates/web/ui-auth-payments/template/src/app/error.tsx +67 -0
  255. package/dist/templates/web/ui-auth-payments/template/src/app/globals.css +211 -0
  256. package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +33 -0
  257. package/dist/templates/web/ui-auth-payments/template/src/app/loading.tsx +20 -0
  258. package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +38 -0
  259. package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +109 -0
  260. package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +350 -0
  261. package/dist/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +507 -0
  262. package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +50 -0
  263. package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +128 -0
  264. package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +49 -0
  265. package/dist/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +52 -0
  266. package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +144 -0
  267. package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +68 -0
  268. package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +185 -0
  269. package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +34 -0
  270. package/dist/templates/web/ui-auth-payments/template/src/components/providers/theme-provider.tsx +94 -0
  271. package/dist/templates/web/ui-auth-payments/template/src/components/shared/footer.tsx +36 -0
  272. package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +230 -0
  273. package/dist/templates/web/ui-auth-payments/template/src/components/ui/badge.tsx +36 -0
  274. package/dist/templates/web/ui-auth-payments/template/src/components/ui/theme-toggle.tsx +34 -0
  275. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +246 -0
  276. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +340 -0
  277. package/dist/templates/web/ui-auth-payments/template/src/lib/auth-server.ts +177 -0
  278. package/dist/templates/web/ui-auth-payments/template/src/lib/env.ts +49 -0
  279. package/dist/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
  280. package/dist/templates/web/ui-auth-payments/template/src/lib/utils.ts +140 -0
  281. package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +79 -0
  282. package/dist/templates/web/ui-auth-payments/template/tailwind.config.js +77 -0
  283. package/dist/templates/web/ui-auth-payments/template/tsconfig.json +33 -0
  284. package/dist/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  285. package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +17 -0
  286. package/dist/templates/web/ui-auth-payments-ai/template/.claude +21 -0
  287. package/dist/templates/web/ui-auth-payments-ai/template/.env.example +60 -0
  288. package/dist/templates/web/ui-auth-payments-ai/template/README.md +207 -0
  289. package/dist/templates/web/ui-auth-payments-ai/template/context.md +169 -0
  290. package/dist/templates/web/ui-auth-payments-ai/template/middleware.ts +68 -0
  291. package/dist/templates/web/ui-auth-payments-ai/template/next.config.js +12 -0
  292. package/dist/templates/web/ui-auth-payments-ai/template/package-lock.json +12241 -0
  293. package/dist/templates/web/ui-auth-payments-ai/template/package.json +58 -0
  294. package/dist/templates/web/ui-auth-payments-ai/template/postcss.config.js +7 -0
  295. package/dist/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +310 -0
  296. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/audio/route.ts +56 -0
  297. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/chat/route.ts +49 -0
  298. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/text/route.ts +64 -0
  299. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/video/route.ts +73 -0
  300. package/dist/templates/web/ui-auth-payments-ai/template/src/app/auth/callback/route.ts +12 -0
  301. package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +422 -0
  302. package/dist/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +142 -0
  303. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/layout.tsx +22 -0
  304. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +236 -0
  305. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +801 -0
  306. package/dist/templates/web/ui-auth-payments-ai/template/src/app/error.tsx +67 -0
  307. package/dist/templates/web/ui-auth-payments-ai/template/src/app/globals.css +96 -0
  308. package/dist/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +35 -0
  309. package/dist/templates/web/ui-auth-payments-ai/template/src/app/loading.tsx +20 -0
  310. package/dist/templates/web/ui-auth-payments-ai/template/src/app/login/page.tsx +6 -0
  311. package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  312. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +394 -0
  313. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.backup +391 -0
  314. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.bak +391 -0
  315. package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  316. package/dist/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +645 -0
  317. package/dist/templates/web/ui-auth-payments-ai/template/src/app/signup/page.tsx +6 -0
  318. package/dist/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +49 -0
  319. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +52 -0
  320. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +163 -0
  321. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +201 -0
  322. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +38 -0
  323. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/theme-provider.tsx +96 -0
  324. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/footer.tsx +36 -0
  325. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +252 -0
  326. package/dist/templates/web/ui-auth-payments-ai/template/src/components/ui/badge.tsx +36 -0
  327. package/dist/templates/web/ui-auth-payments-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  328. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +246 -0
  329. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/index.ts +14 -0
  330. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/auth-server.ts +177 -0
  331. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/env.ts +49 -0
  332. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
  333. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/supabase/server.ts +72 -0
  334. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/utils.ts +140 -0
  335. package/dist/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +79 -0
  336. package/dist/templates/web/ui-auth-payments-ai/template/tailwind.config.js +77 -0
  337. package/dist/templates/web/ui-auth-payments-ai/template/tsconfig.json +33 -0
  338. package/dist/templates/web/ui-auth-payments-ai/template/tsconfig.tsbuildinfo +1 -0
  339. package/dist/templates/web/ui-auth-payments-ai/template/vitest.config.ts +17 -0
  340. package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  341. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  342. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  343. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  344. package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  345. package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  346. package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  347. package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +76 -0
  348. package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  349. package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  350. package/dist/templates/web/ui-auth-payments-audio/template/.env.example +15 -0
  351. package/dist/templates/web/ui-auth-payments-audio/template/README.md +207 -0
  352. package/dist/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  353. package/dist/templates/web/ui-auth-payments-audio/template/next.config.js +12 -0
  354. package/dist/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  355. package/dist/templates/web/ui-auth-payments-audio/template/package.json +55 -0
  356. package/dist/templates/web/ui-auth-payments-audio/template/postcss.config.js +7 -0
  357. package/dist/templates/web/ui-auth-payments-audio/template/src/app/auth/callback/route.ts +12 -0
  358. package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +211 -0
  359. package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +142 -0
  360. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  361. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +237 -0
  362. package/dist/templates/web/ui-auth-payments-audio/template/src/app/error.tsx +67 -0
  363. package/dist/templates/web/ui-auth-payments-audio/template/src/app/globals.css +96 -0
  364. package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +35 -0
  365. package/dist/templates/web/ui-auth-payments-audio/template/src/app/loading.tsx +20 -0
  366. package/dist/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +6 -0
  367. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +403 -0
  368. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.backup +391 -0
  369. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.bak +391 -0
  370. package/dist/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +345 -0
  371. package/dist/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +6 -0
  372. package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +49 -0
  373. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  374. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  375. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  376. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +38 -0
  377. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/theme-provider.tsx +96 -0
  378. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/footer.tsx +36 -0
  379. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +252 -0
  380. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/badge.tsx +36 -0
  381. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/theme-toggle.tsx +34 -0
  382. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  383. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  384. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  385. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/env.ts +49 -0
  386. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/utils.ts +140 -0
  387. package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +79 -0
  388. package/dist/templates/web/ui-auth-payments-audio/template/tailwind.config.js +77 -0
  389. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.json +33 -0
  390. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  391. package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +17 -0
  392. package/dist/templates/web/ui-auth-payments-video/template/.env.example +15 -0
  393. package/dist/templates/web/ui-auth-payments-video/template/README.md +190 -0
  394. package/dist/templates/web/ui-auth-payments-video/template/next.config.js +12 -0
  395. package/dist/templates/web/ui-auth-payments-video/template/package.json +55 -0
  396. package/dist/templates/web/ui-auth-payments-video/template/postcss.config.js +7 -0
  397. package/dist/templates/web/ui-auth-payments-video/template/src/app/auth/callback/route.ts +12 -0
  398. package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +211 -0
  399. package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +142 -0
  400. package/dist/templates/web/ui-auth-payments-video/template/src/app/error.tsx +67 -0
  401. package/dist/templates/web/ui-auth-payments-video/template/src/app/globals.css +228 -0
  402. package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +33 -0
  403. package/dist/templates/web/ui-auth-payments-video/template/src/app/loading.tsx +20 -0
  404. package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +109 -0
  405. package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +395 -0
  406. package/dist/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +351 -0
  407. package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +128 -0
  408. package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +49 -0
  409. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +34 -0
  410. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/theme-provider.tsx +94 -0
  411. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/footer.tsx +36 -0
  412. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +246 -0
  413. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/badge.tsx +36 -0
  414. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/theme-toggle.tsx +34 -0
  415. package/dist/templates/web/ui-auth-payments-video/template/src/lib/env.ts +49 -0
  416. package/dist/templates/web/ui-auth-payments-video/template/src/lib/utils.ts +140 -0
  417. package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +79 -0
  418. package/dist/templates/web/ui-auth-payments-video/template/tailwind.config.js +77 -0
  419. package/dist/templates/web/ui-auth-payments-video/template/tsconfig.json +33 -0
  420. package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +17 -0
  421. package/dist/templates/web/ui-only/template/.env.example +15 -0
  422. package/dist/templates/web/ui-only/template/.eslintrc.js +8 -0
  423. package/dist/templates/web/ui-only/template/README.md +68 -0
  424. package/dist/templates/web/ui-only/template/next.config.js +12 -0
  425. package/dist/templates/web/ui-only/template/package.json +49 -0
  426. package/dist/templates/web/ui-only/template/postcss.config.js +7 -0
  427. package/dist/templates/web/ui-only/template/src/app/auth/callback/route.ts +12 -0
  428. package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +25 -0
  429. package/dist/templates/web/ui-only/template/src/app/error.tsx +67 -0
  430. package/dist/templates/web/ui-only/template/src/app/globals.css +42 -0
  431. package/dist/templates/web/ui-only/template/src/app/layout.tsx +33 -0
  432. package/dist/templates/web/ui-only/template/src/app/loading.tsx +20 -0
  433. package/dist/templates/web/ui-only/template/src/app/login/page.tsx +63 -0
  434. package/dist/templates/web/ui-only/template/src/app/page.tsx +91 -0
  435. package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +79 -0
  436. package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +49 -0
  437. package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +26 -0
  438. package/dist/templates/web/ui-only/template/src/components/providers/theme-provider.tsx +94 -0
  439. package/dist/templates/web/ui-only/template/src/components/shared/footer.tsx +36 -0
  440. package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +53 -0
  441. package/dist/templates/web/ui-only/template/src/components/ui/badge.tsx +36 -0
  442. package/dist/templates/web/ui-only/template/src/components/ui/theme-toggle.tsx +34 -0
  443. package/dist/templates/web/ui-only/template/src/lib/env.ts +49 -0
  444. package/dist/templates/web/ui-only/template/src/lib/utils.ts +140 -0
  445. package/dist/templates/web/ui-only/template/src/test/setup.ts +79 -0
  446. package/dist/templates/web/ui-only/template/tailwind.config.js +77 -0
  447. package/dist/templates/web/ui-only/template/tsconfig.json +33 -0
  448. package/dist/templates/web/ui-only/template/vitest.config.ts +17 -0
  449. package/dist/templates/web/ui-only/template.backup/.env.example +15 -0
  450. package/dist/templates/web/ui-only/template.backup.20250817/.env.example +15 -0
  451. package/dist/templates/web/ui-package-test/template/next-env.d.ts +5 -0
  452. package/dist/templates/web/ui-package-test/template/package.json +42 -0
  453. package/dist/templates/web/ui-package-test/template/src/app/page.tsx +106 -0
  454. package/dist/templates/web/ui-package-test/template/tsconfig.json +41 -0
  455. package/package.json +106 -0
  456. package/src/templates/mobile/base/template/.env.example +15 -0
  457. package/src/templates/mobile/base/template/App.tsx +186 -0
  458. package/src/templates/mobile/base/template/app/(auth)/login.tsx +44 -0
  459. package/src/templates/mobile/base/template/app/(auth)/signup.tsx +43 -0
  460. package/src/templates/mobile/base/template/app/checkout.tsx +20 -0
  461. package/src/templates/mobile/base/template/app.json +44 -0
  462. package/src/templates/mobile/base/template/babel.config.js +6 -0
  463. package/src/templates/mobile/base/template/eas.json +19 -0
  464. package/src/templates/mobile/base/template/package.json +54 -0
  465. package/src/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  466. package/src/templates/mobile/ui-auth-payments/template/README.md +218 -0
  467. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  468. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  469. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  470. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +757 -0
  471. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  472. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  473. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +134 -0
  474. package/src/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  475. package/src/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  476. package/src/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  477. package/src/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  478. package/src/templates/mobile/ui-auth-payments/template/app.json +94 -0
  479. package/src/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  480. package/src/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  481. package/src/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  482. package/src/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  483. package/src/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  484. package/src/templates/mobile/ui-auth-payments/template/package.json +117 -0
  485. package/src/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  486. package/src/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  487. package/src/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  488. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  489. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  490. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  491. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  492. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  493. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  494. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  495. package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +134 -0
  496. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  497. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  498. package/src/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  499. package/src/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  500. package/src/templates/mobile/ui-auth-payments-ai/template/app.json +94 -0
  501. package/src/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  502. package/src/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  503. package/src/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  504. package/src/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  505. package/src/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  506. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +119 -0
  507. package/src/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  508. package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  509. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  510. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
  511. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  512. package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  513. package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  514. package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  515. package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  516. package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  517. package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  518. package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  519. package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  520. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +124 -0
  521. package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  522. package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  523. package/src/templates/shared/auth/firebase/web/config.ts +23 -0
  524. package/src/templates/shared/auth/supabase/web/config.ts +8 -0
  525. package/src/templates/web/base/template/.env.example +15 -0
  526. package/src/templates/web/base/template/.eslintrc.js +8 -0
  527. package/src/templates/web/base/template/README.md +68 -0
  528. package/src/templates/web/base/template/next.config.js +15 -0
  529. package/src/templates/web/base/template/package.json +59 -0
  530. package/src/templates/web/base/template/postcss.config.js +7 -0
  531. package/src/templates/web/base/template/src/app/auth/callback/route.ts +18 -0
  532. package/src/templates/web/base/template/src/app/checkout/page.tsx +119 -0
  533. package/src/templates/web/base/template/src/app/dashboard/page.tsx +366 -0
  534. package/src/templates/web/base/template/src/app/error.tsx +97 -0
  535. package/src/templates/web/base/template/src/app/globals.css +157 -0
  536. package/src/templates/web/base/template/src/app/layout.tsx +35 -0
  537. package/src/templates/web/base/template/src/app/loading.tsx +52 -0
  538. package/src/templates/web/base/template/src/app/login/page.tsx +67 -0
  539. package/src/templates/web/base/template/src/app/page.tsx +193 -0
  540. package/src/templates/web/base/template/src/app/signup/page.tsx +67 -0
  541. package/src/templates/web/base/template/src/components/__tests__/example.test.tsx +49 -0
  542. package/src/templates/web/base/template/src/components/providers/app-providers.tsx +35 -0
  543. package/src/templates/web/base/template/src/components/providers/theme-provider.tsx +94 -0
  544. package/src/templates/web/base/template/src/components/shared/footer.tsx +36 -0
  545. package/src/templates/web/base/template/src/components/shared/header.tsx +63 -0
  546. package/src/templates/web/base/template/src/components/ui/badge.tsx +36 -0
  547. package/src/templates/web/base/template/src/components/ui/button.tsx +56 -0
  548. package/src/templates/web/base/template/src/components/ui/card.tsx +71 -0
  549. package/src/templates/web/base/template/src/components/ui/theme-toggle.tsx +34 -0
  550. package/src/templates/web/base/template/src/lib/auth-server.ts +177 -0
  551. package/src/templates/web/base/template/src/lib/env.ts +46 -0
  552. package/src/templates/web/base/template/src/lib/platform.ts +146 -0
  553. package/src/templates/web/base/template/src/lib/utils.ts +140 -0
  554. package/src/templates/web/base/template/src/test/setup.ts +79 -0
  555. package/src/templates/web/base/template/tailwind.config.js +77 -0
  556. package/src/templates/web/base/template/tsconfig.json +33 -0
  557. package/src/templates/web/base/template/vitest.config.ts +17 -0
  558. package/src/templates/web/base/template.backup/.env.example +15 -0
  559. package/src/templates/web/base/template.backup.20250817/.env.example +15 -0
  560. package/src/templates/web/ui-auth/template/.claude +21 -0
  561. package/src/templates/web/ui-auth/template/.env.example +15 -0
  562. package/src/templates/web/ui-auth/template/.eslintrc.js +8 -0
  563. package/src/templates/web/ui-auth/template/README.md +68 -0
  564. package/src/templates/web/ui-auth/template/context.md +105 -0
  565. package/src/templates/web/ui-auth/template/next.config.js +12 -0
  566. package/src/templates/web/ui-auth/template/package.json +51 -0
  567. package/src/templates/web/ui-auth/template/postcss.config.js +7 -0
  568. package/src/templates/web/ui-auth/template/src/app/auth/callback/route.ts +12 -0
  569. package/src/templates/web/ui-auth/template/src/app/checkout/page.tsx +25 -0
  570. package/src/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +801 -0
  571. package/src/templates/web/ui-auth/template/src/app/error.tsx +67 -0
  572. package/src/templates/web/ui-auth/template/src/app/globals.css +95 -0
  573. package/src/templates/web/ui-auth/template/src/app/layout.tsx +33 -0
  574. package/src/templates/web/ui-auth/template/src/app/loading.tsx +38 -0
  575. package/src/templates/web/ui-auth/template/src/app/login/page.tsx +109 -0
  576. package/src/templates/web/ui-auth/template/src/app/page.tsx +305 -0
  577. package/src/templates/web/ui-auth/template/src/app/setup/page.tsx +403 -0
  578. package/src/templates/web/ui-auth/template/src/app/signup/page.tsx +128 -0
  579. package/src/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +49 -0
  580. package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +31 -0
  581. package/src/templates/web/ui-auth/template/src/components/providers/theme-provider.tsx +94 -0
  582. package/src/templates/web/ui-auth/template/src/components/shared/footer.tsx +36 -0
  583. package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +94 -0
  584. package/src/templates/web/ui-auth/template/src/components/ui/badge.tsx +36 -0
  585. package/src/templates/web/ui-auth/template/src/components/ui/theme-toggle.tsx +34 -0
  586. package/src/templates/web/ui-auth/template/src/lib/env.ts +49 -0
  587. package/src/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
  588. package/src/templates/web/ui-auth/template/src/lib/utils.ts +140 -0
  589. package/src/templates/web/ui-auth/template/src/test/setup.ts +79 -0
  590. package/src/templates/web/ui-auth/template/tailwind.config.js +77 -0
  591. package/src/templates/web/ui-auth/template/tsconfig.json +33 -0
  592. package/src/templates/web/ui-auth/template/vitest.config.ts +17 -0
  593. package/src/templates/web/ui-auth/template.backup/.env.example +15 -0
  594. package/src/templates/web/ui-auth/template.backup.20250817/.env.example +15 -0
  595. package/src/templates/web/ui-auth-ai/template/.env.example +18 -0
  596. package/src/templates/web/ui-auth-ai/template/README.md +170 -0
  597. package/src/templates/web/ui-auth-ai/template/next.config.js +13 -0
  598. package/src/templates/web/ui-auth-ai/template/package.json +39 -0
  599. package/src/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
  600. package/src/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
  601. package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
  602. package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
  603. package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
  604. package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
  605. package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
  606. package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
  607. package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
  608. package/src/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
  609. package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
  610. package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
  611. package/src/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
  612. package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
  613. package/src/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
  614. package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
  615. package/src/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
  616. package/src/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
  617. package/src/templates/web/ui-auth-payments/template/.env.example +51 -0
  618. package/src/templates/web/ui-auth-payments/template/README.md +165 -0
  619. package/src/templates/web/ui-auth-payments/template/middleware.ts +68 -0
  620. package/src/templates/web/ui-auth-payments/template/next.config.js +12 -0
  621. package/src/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  622. package/src/templates/web/ui-auth-payments/template/package.json +55 -0
  623. package/src/templates/web/ui-auth-payments/template/postcss.config.js +7 -0
  624. package/src/templates/web/ui-auth-payments/template/src/app/auth/callback/route.ts +12 -0
  625. package/src/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +211 -0
  626. package/src/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +318 -0
  627. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/layout.tsx +22 -0
  628. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +235 -0
  629. package/src/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +801 -0
  630. package/src/templates/web/ui-auth-payments/template/src/app/error.tsx +67 -0
  631. package/src/templates/web/ui-auth-payments/template/src/app/globals.css +211 -0
  632. package/src/templates/web/ui-auth-payments/template/src/app/layout.tsx +33 -0
  633. package/src/templates/web/ui-auth-payments/template/src/app/loading.tsx +20 -0
  634. package/src/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +38 -0
  635. package/src/templates/web/ui-auth-payments/template/src/app/login/page.tsx +109 -0
  636. package/src/templates/web/ui-auth-payments/template/src/app/page.tsx +350 -0
  637. package/src/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +507 -0
  638. package/src/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +50 -0
  639. package/src/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +128 -0
  640. package/src/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +49 -0
  641. package/src/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +52 -0
  642. package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +144 -0
  643. package/src/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +68 -0
  644. package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +185 -0
  645. package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +34 -0
  646. package/src/templates/web/ui-auth-payments/template/src/components/providers/theme-provider.tsx +94 -0
  647. package/src/templates/web/ui-auth-payments/template/src/components/shared/footer.tsx +36 -0
  648. package/src/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +230 -0
  649. package/src/templates/web/ui-auth-payments/template/src/components/ui/badge.tsx +36 -0
  650. package/src/templates/web/ui-auth-payments/template/src/components/ui/theme-toggle.tsx +34 -0
  651. package/src/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +246 -0
  652. package/src/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +340 -0
  653. package/src/templates/web/ui-auth-payments/template/src/lib/auth-server.ts +177 -0
  654. package/src/templates/web/ui-auth-payments/template/src/lib/env.ts +49 -0
  655. package/src/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
  656. package/src/templates/web/ui-auth-payments/template/src/lib/utils.ts +140 -0
  657. package/src/templates/web/ui-auth-payments/template/src/test/setup.ts +79 -0
  658. package/src/templates/web/ui-auth-payments/template/tailwind.config.js +77 -0
  659. package/src/templates/web/ui-auth-payments/template/tsconfig.json +33 -0
  660. package/src/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  661. package/src/templates/web/ui-auth-payments/template/vitest.config.ts +17 -0
  662. package/src/templates/web/ui-auth-payments-ai/template/.claude +21 -0
  663. package/src/templates/web/ui-auth-payments-ai/template/.env.example +60 -0
  664. package/src/templates/web/ui-auth-payments-ai/template/README.md +207 -0
  665. package/src/templates/web/ui-auth-payments-ai/template/context.md +169 -0
  666. package/src/templates/web/ui-auth-payments-ai/template/middleware.ts +68 -0
  667. package/src/templates/web/ui-auth-payments-ai/template/next.config.js +12 -0
  668. package/src/templates/web/ui-auth-payments-ai/template/package-lock.json +12241 -0
  669. package/src/templates/web/ui-auth-payments-ai/template/package.json +58 -0
  670. package/src/templates/web/ui-auth-payments-ai/template/postcss.config.js +7 -0
  671. package/src/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +310 -0
  672. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/audio/route.ts +56 -0
  673. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/chat/route.ts +49 -0
  674. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/text/route.ts +64 -0
  675. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/video/route.ts +73 -0
  676. package/src/templates/web/ui-auth-payments-ai/template/src/app/auth/callback/route.ts +12 -0
  677. package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +422 -0
  678. package/src/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +142 -0
  679. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/layout.tsx +22 -0
  680. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +236 -0
  681. package/src/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +801 -0
  682. package/src/templates/web/ui-auth-payments-ai/template/src/app/error.tsx +67 -0
  683. package/src/templates/web/ui-auth-payments-ai/template/src/app/globals.css +96 -0
  684. package/src/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +35 -0
  685. package/src/templates/web/ui-auth-payments-ai/template/src/app/loading.tsx +20 -0
  686. package/src/templates/web/ui-auth-payments-ai/template/src/app/login/page.tsx +6 -0
  687. package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  688. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +394 -0
  689. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.backup +391 -0
  690. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.bak +391 -0
  691. package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  692. package/src/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +645 -0
  693. package/src/templates/web/ui-auth-payments-ai/template/src/app/signup/page.tsx +6 -0
  694. package/src/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +49 -0
  695. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +52 -0
  696. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +163 -0
  697. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +201 -0
  698. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +38 -0
  699. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/theme-provider.tsx +96 -0
  700. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/footer.tsx +36 -0
  701. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +252 -0
  702. package/src/templates/web/ui-auth-payments-ai/template/src/components/ui/badge.tsx +36 -0
  703. package/src/templates/web/ui-auth-payments-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  704. package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +246 -0
  705. package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/index.ts +14 -0
  706. package/src/templates/web/ui-auth-payments-ai/template/src/lib/auth-server.ts +177 -0
  707. package/src/templates/web/ui-auth-payments-ai/template/src/lib/env.ts +49 -0
  708. package/src/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
  709. package/src/templates/web/ui-auth-payments-ai/template/src/lib/supabase/server.ts +72 -0
  710. package/src/templates/web/ui-auth-payments-ai/template/src/lib/utils.ts +140 -0
  711. package/src/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +79 -0
  712. package/src/templates/web/ui-auth-payments-ai/template/tailwind.config.js +77 -0
  713. package/src/templates/web/ui-auth-payments-ai/template/tsconfig.json +33 -0
  714. package/src/templates/web/ui-auth-payments-ai/template/tsconfig.tsbuildinfo +1 -0
  715. package/src/templates/web/ui-auth-payments-ai/template/vitest.config.ts +17 -0
  716. package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  717. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  718. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  719. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  720. package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  721. package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  722. package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  723. package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +76 -0
  724. package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  725. package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  726. package/src/templates/web/ui-auth-payments-audio/template/.env.example +15 -0
  727. package/src/templates/web/ui-auth-payments-audio/template/README.md +207 -0
  728. package/src/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  729. package/src/templates/web/ui-auth-payments-audio/template/next.config.js +12 -0
  730. package/src/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  731. package/src/templates/web/ui-auth-payments-audio/template/package.json +55 -0
  732. package/src/templates/web/ui-auth-payments-audio/template/postcss.config.js +7 -0
  733. package/src/templates/web/ui-auth-payments-audio/template/src/app/auth/callback/route.ts +12 -0
  734. package/src/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +211 -0
  735. package/src/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +142 -0
  736. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  737. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +237 -0
  738. package/src/templates/web/ui-auth-payments-audio/template/src/app/error.tsx +67 -0
  739. package/src/templates/web/ui-auth-payments-audio/template/src/app/globals.css +96 -0
  740. package/src/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +35 -0
  741. package/src/templates/web/ui-auth-payments-audio/template/src/app/loading.tsx +20 -0
  742. package/src/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +6 -0
  743. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +403 -0
  744. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.backup +391 -0
  745. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.bak +391 -0
  746. package/src/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +345 -0
  747. package/src/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +6 -0
  748. package/src/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +49 -0
  749. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  750. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  751. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  752. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +38 -0
  753. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/theme-provider.tsx +96 -0
  754. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/footer.tsx +36 -0
  755. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +252 -0
  756. package/src/templates/web/ui-auth-payments-audio/template/src/components/ui/badge.tsx +36 -0
  757. package/src/templates/web/ui-auth-payments-audio/template/src/components/ui/theme-toggle.tsx +34 -0
  758. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  759. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  760. package/src/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  761. package/src/templates/web/ui-auth-payments-audio/template/src/lib/env.ts +49 -0
  762. package/src/templates/web/ui-auth-payments-audio/template/src/lib/utils.ts +140 -0
  763. package/src/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +79 -0
  764. package/src/templates/web/ui-auth-payments-audio/template/tailwind.config.js +77 -0
  765. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.json +33 -0
  766. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  767. package/src/templates/web/ui-auth-payments-audio/template/vitest.config.ts +17 -0
  768. package/src/templates/web/ui-auth-payments-video/template/.env.example +15 -0
  769. package/src/templates/web/ui-auth-payments-video/template/README.md +190 -0
  770. package/src/templates/web/ui-auth-payments-video/template/next.config.js +12 -0
  771. package/src/templates/web/ui-auth-payments-video/template/package.json +55 -0
  772. package/src/templates/web/ui-auth-payments-video/template/postcss.config.js +7 -0
  773. package/src/templates/web/ui-auth-payments-video/template/src/app/auth/callback/route.ts +12 -0
  774. package/src/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +211 -0
  775. package/src/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +142 -0
  776. package/src/templates/web/ui-auth-payments-video/template/src/app/error.tsx +67 -0
  777. package/src/templates/web/ui-auth-payments-video/template/src/app/globals.css +228 -0
  778. package/src/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +33 -0
  779. package/src/templates/web/ui-auth-payments-video/template/src/app/loading.tsx +20 -0
  780. package/src/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +109 -0
  781. package/src/templates/web/ui-auth-payments-video/template/src/app/page.tsx +395 -0
  782. package/src/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +351 -0
  783. package/src/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +128 -0
  784. package/src/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +49 -0
  785. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +34 -0
  786. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/theme-provider.tsx +94 -0
  787. package/src/templates/web/ui-auth-payments-video/template/src/components/shared/footer.tsx +36 -0
  788. package/src/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +246 -0
  789. package/src/templates/web/ui-auth-payments-video/template/src/components/ui/badge.tsx +36 -0
  790. package/src/templates/web/ui-auth-payments-video/template/src/components/ui/theme-toggle.tsx +34 -0
  791. package/src/templates/web/ui-auth-payments-video/template/src/lib/env.ts +49 -0
  792. package/src/templates/web/ui-auth-payments-video/template/src/lib/utils.ts +140 -0
  793. package/src/templates/web/ui-auth-payments-video/template/src/test/setup.ts +79 -0
  794. package/src/templates/web/ui-auth-payments-video/template/tailwind.config.js +77 -0
  795. package/src/templates/web/ui-auth-payments-video/template/tsconfig.json +33 -0
  796. package/src/templates/web/ui-auth-payments-video/template/vitest.config.ts +17 -0
  797. package/src/templates/web/ui-only/template/.env.example +15 -0
  798. package/src/templates/web/ui-only/template/.eslintrc.js +8 -0
  799. package/src/templates/web/ui-only/template/README.md +68 -0
  800. package/src/templates/web/ui-only/template/next.config.js +12 -0
  801. package/src/templates/web/ui-only/template/package.json +49 -0
  802. package/src/templates/web/ui-only/template/postcss.config.js +7 -0
  803. package/src/templates/web/ui-only/template/src/app/auth/callback/route.ts +12 -0
  804. package/src/templates/web/ui-only/template/src/app/checkout/page.tsx +25 -0
  805. package/src/templates/web/ui-only/template/src/app/error.tsx +67 -0
  806. package/src/templates/web/ui-only/template/src/app/globals.css +42 -0
  807. package/src/templates/web/ui-only/template/src/app/layout.tsx +33 -0
  808. package/src/templates/web/ui-only/template/src/app/loading.tsx +20 -0
  809. package/src/templates/web/ui-only/template/src/app/login/page.tsx +63 -0
  810. package/src/templates/web/ui-only/template/src/app/page.tsx +91 -0
  811. package/src/templates/web/ui-only/template/src/app/signup/page.tsx +79 -0
  812. package/src/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +49 -0
  813. package/src/templates/web/ui-only/template/src/components/providers/app-providers.tsx +26 -0
  814. package/src/templates/web/ui-only/template/src/components/providers/theme-provider.tsx +94 -0
  815. package/src/templates/web/ui-only/template/src/components/shared/footer.tsx +36 -0
  816. package/src/templates/web/ui-only/template/src/components/shared/header.tsx +53 -0
  817. package/src/templates/web/ui-only/template/src/components/ui/badge.tsx +36 -0
  818. package/src/templates/web/ui-only/template/src/components/ui/theme-toggle.tsx +34 -0
  819. package/src/templates/web/ui-only/template/src/lib/env.ts +49 -0
  820. package/src/templates/web/ui-only/template/src/lib/utils.ts +140 -0
  821. package/src/templates/web/ui-only/template/src/test/setup.ts +79 -0
  822. package/src/templates/web/ui-only/template/tailwind.config.js +77 -0
  823. package/src/templates/web/ui-only/template/tsconfig.json +33 -0
  824. package/src/templates/web/ui-only/template/vitest.config.ts +17 -0
  825. package/src/templates/web/ui-only/template.backup/.env.example +15 -0
  826. package/src/templates/web/ui-only/template.backup.20250817/.env.example +15 -0
  827. package/src/templates/web/ui-package-test/template/next-env.d.ts +5 -0
  828. package/src/templates/web/ui-package-test/template/package.json +42 -0
  829. package/src/templates/web/ui-package-test/template/src/app/page.tsx +106 -0
  830. package/src/templates/web/ui-package-test/template/tsconfig.json +41 -0
@@ -0,0 +1,33 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "lib": ["dom", "dom.iterable", "es6"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "esModuleInterop": true,
10
+ "module": "esnext",
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "jsx": "preserve",
15
+ "incremental": true,
16
+ "plugins": [
17
+ {
18
+ "name": "next"
19
+ }
20
+ ],
21
+ "baseUrl": ".",
22
+ "paths": {
23
+ "@/*": ["./src/*"],
24
+ "@/components/*": ["./src/components/*"],
25
+ "@/lib/*": ["./src/lib/*"],
26
+ "@/hooks/*": ["./src/hooks/*"],
27
+ "@/types/*": ["./src/types/*"]
28
+ }
29
+ },
30
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
31
+ "exclude": ["node_modules"]
32
+ }
33
+
@@ -0,0 +1,17 @@
1
+ import { defineConfig } from 'vitest/config'
2
+ import react from '@vitejs/plugin-react'
3
+ import path from 'path'
4
+
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ test: {
8
+ environment: 'jsdom',
9
+ setupFiles: ['./src/test/setup.ts'],
10
+ globals: true,
11
+ },
12
+ resolve: {
13
+ alias: {
14
+ '@': path.resolve(__dirname, './src'),
15
+ },
16
+ },
17
+ })
@@ -0,0 +1,15 @@
1
+ # Auth Configuration
2
+ NEXT_PUBLIC_AUTH_PROVIDER=supabase|firebase
3
+
4
+ # Supabase
5
+ NEXT_PUBLIC_SUPABASE_URL=
6
+ NEXT_PUBLIC_SUPABASE_ANON_KEY=
7
+
8
+ # Firebase
9
+ NEXT_PUBLIC_FIREBASE_API_KEY=
10
+ NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
11
+ NEXT_PUBLIC_FIREBASE_PROJECT_ID=
12
+
13
+ # Payments
14
+ NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
15
+ STRIPE_SECRET_KEY=
@@ -0,0 +1,15 @@
1
+ # Auth Configuration
2
+ NEXT_PUBLIC_AUTH_PROVIDER=supabase|firebase
3
+
4
+ # Supabase
5
+ NEXT_PUBLIC_SUPABASE_URL=
6
+ NEXT_PUBLIC_SUPABASE_ANON_KEY=
7
+
8
+ # Firebase
9
+ NEXT_PUBLIC_FIREBASE_API_KEY=
10
+ NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
11
+ NEXT_PUBLIC_FIREBASE_PROJECT_ID=
12
+
13
+ # Payments
14
+ NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
15
+ STRIPE_SECRET_KEY=
@@ -0,0 +1,5 @@
1
+ /// <reference types="next" />
2
+ /// <reference types="next/image-types/global" />
3
+
4
+ // NOTE: This file should not be edited
5
+ // see https://nextjs.org/docs/basic-features/typescript for more information.
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}} (with UI Package v0.18.0)",
5
+ "private": true,
6
+ "scripts": {
7
+ "dev": "next dev",
8
+ "build": "next build",
9
+ "start": "next start",
10
+ "lint": "next lint",
11
+ "type-check": "tsc --noEmit"
12
+ },
13
+ "dependencies": {
14
+ "next": "15.4.5",
15
+ "react": "19.1.0",
16
+ "react-dom": "19.1.0",
17
+ "@digilogiclabs/saas-factory-ui": "^0.26.1",
18
+ "tailwindcss": "^3.4.0",
19
+ "autoprefixer": "^10.4.16",
20
+ "postcss": "^8.4.31",
21
+ "clsx": "^2.0.0",
22
+ "class-variance-authority": "^0.7.0",
23
+ "tailwind-merge": "^2.0.0",
24
+ "next-themes": "^0.2.1",
25
+ "lucide-react": "^0.292.0"
26
+ },
27
+ "devDependencies": {
28
+ "typescript": "^5.3.0",
29
+ "@types/node": "^20.10.0",
30
+ "@types/react": "^18.2.45",
31
+ "@types/react-dom": "^18.2.18",
32
+ "eslint": "^8.55.0",
33
+ "eslint-config-next": "15.4.5",
34
+ "prettier": "^3.1.0",
35
+ "prettier-plugin-tailwindcss": "^0.5.7",
36
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
37
+ "@typescript-eslint/parser": "^6.14.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ }
42
+ }
@@ -0,0 +1,106 @@
1
+ import React from 'react';
2
+ import { Button } from '@digilogiclabs/saas-factory-ui';
3
+
4
+ export default function Home() {
5
+ return (
6
+ <main className="flex min-h-screen flex-col items-center justify-between p-24">
7
+ <div className="z-10 max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex">
8
+ <p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30">
9
+ Get started by editing&nbsp;
10
+ <code className="font-mono font-bold">src/app/page.tsx</code>
11
+ </p>
12
+ <div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:h-auto lg:w-auto lg:bg-none">
13
+ <a
14
+ className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0"
15
+ href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
16
+ target="_blank"
17
+ rel="noopener noreferrer"
18
+ >
19
+ By{' '}
20
+ <img src="/vercel.svg" alt="Vercel Logo" className="dark:invert" width={100} height={24} />
21
+ </a>
22
+ </div>
23
+ </div>
24
+
25
+ <div className="relative flex place-items-center before:absolute before:h-[300px] before:w-full sm:before:w-[480px] before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full sm:after:w-[240px] after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 before:lg:h-[360px] z-[-1]">
26
+ <img
27
+ className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert"
28
+ src="/next.svg"
29
+ alt="Next.js Logo"
30
+ width={180}
31
+ height={37}
32
+ />
33
+ </div>
34
+
35
+ <div className="mb-32 grid text-center lg:max-w-5xl lg:w-full lg:mb-0 lg:grid-cols-4 lg:text-left">
36
+ <a
37
+ href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
38
+ className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
39
+ target="_blank"
40
+ rel="noopener noreferrer"
41
+ >
42
+ <h2 className={`mb-3 text-2xl font-semibold`}>
43
+ Docs{' '}
44
+ <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
45
+ ->
46
+ </span>
47
+ </h2>
48
+ <p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
49
+ Find in-depth information about Next.js features and API.
50
+ </p>
51
+ </a>
52
+
53
+ <a
54
+ href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
55
+ className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800 hover:dark:bg-opacity-30"
56
+ target="_blank"
57
+ rel="noopener noreferrer"
58
+ >
59
+ <h2 className={`mb-3 text-2xl font-semibold`}>
60
+ Learn{' '}
61
+ <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
62
+ ->
63
+ </span>
64
+ </h2>
65
+ <p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
66
+ Learn about Next.js in an interactive course with&nbsp;quizzes!
67
+ </p>
68
+ </a>
69
+
70
+ <a
71
+ href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
72
+ className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
73
+ target="_blank"
74
+ rel="noopener noreferrer"
75
+ >
76
+ <h2 className={`mb-3 text-2xl font-semibold`}>
77
+ Templates{' '}
78
+ <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
79
+ ->
80
+ </span>
81
+ </h2>
82
+ <p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
83
+ Explore starter templates for Next.js.
84
+ </p>
85
+ </a>
86
+
87
+ <a
88
+ href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
89
+ className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
90
+ target="_blank"
91
+ rel="noopener noreferrer"
92
+ >
93
+ <h2 className={`mb-3 text-2xl font-semibold`}>
94
+ Deploy{' '}
95
+ <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
96
+ ->
97
+ </span>
98
+ </h2>
99
+ <p className={`m-0 max-w-[30ch] text-sm opacity-50 text-balance`}>
100
+ Instantly deploy your Next.js site to a shareable URL with Vercel.
101
+ </p>
102
+ </a>
103
+ </div>
104
+ </main>
105
+ );
106
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "lib": [
5
+ "dom",
6
+ "dom.iterable",
7
+ "esnext"
8
+ ],
9
+ "allowJs": true,
10
+ "skipLibCheck": true,
11
+ "strict": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "noEmit": true,
14
+ "esModuleInterop": true,
15
+ "module": "esnext",
16
+ "moduleResolution": "node",
17
+ "resolveJsonModule": true,
18
+ "isolatedModules": true,
19
+ "jsx": "preserve",
20
+ "incremental": true,
21
+ "plugins": [
22
+ {
23
+ "name": "next"
24
+ }
25
+ ],
26
+ "paths": {
27
+ "@/*": [
28
+ "./src/*"
29
+ ]
30
+ }
31
+ },
32
+ "include": [
33
+ "next-env.d.ts",
34
+ "**/*.ts",
35
+ "**/*.tsx",
36
+ ".next/types/**/*.ts"
37
+ ],
38
+ "exclude": [
39
+ "node_modules"
40
+ ]
41
+ }
package/package.json ADDED
@@ -0,0 +1,106 @@
1
+ {
2
+ "name": "@digilogiclabs/create-saas-app",
3
+ "version": "1.0.1",
4
+ "description": "Create modern SaaS applications with Digi Logic Labs packages",
5
+ "main": "dist/cli/index.js",
6
+ "bin": {
7
+ "create-saas-app": "bin/index.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc --project tsconfig.build.json && npm run copy-templates",
11
+ "copy-templates": "node -e \"require('fs-extra').copySync('src/templates', 'dist/templates')\"",
12
+ "dev": "tsup --watch",
13
+ "test": "jest --passWithNoTests",
14
+ "test:templates": "tsx scripts/test-all-templates.ts",
15
+ "lint": "eslint src",
16
+ "lint:fix": "eslint src --fix",
17
+ "type-check": "tsc --noEmit --skipLibCheck",
18
+ "validate": "tsx scripts/validate-templates.ts",
19
+ "changeset": "changeset",
20
+ "version": "changeset version",
21
+ "release": "npm run build && changeset publish",
22
+ "prepublishOnly": "npm run build && npm run lint && npm run type-check"
23
+ },
24
+ "keywords": [
25
+ "cli",
26
+ "saas",
27
+ "template",
28
+ "nextjs",
29
+ "react-native",
30
+ "expo",
31
+ "typescript",
32
+ "tailwind",
33
+ "firebase",
34
+ "supabase",
35
+ "digilogiclabs"
36
+ ],
37
+ "author": "Digi Logic Labs",
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/DigiLogicLabs/create-saas-app.git"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/DigiLogicLabs/create-saas-app/issues"
45
+ },
46
+ "homepage": "https://github.com/DigiLogicLabs/create-saas-app#readme",
47
+ "files": [
48
+ "dist",
49
+ "bin",
50
+ "src/templates",
51
+ "README.md",
52
+ "CHANGELOG.md",
53
+ "LICENSE"
54
+ ],
55
+ "engines": {
56
+ "node": ">=18.0.0"
57
+ },
58
+ "dependencies": {
59
+ "chalk": "^4.1.2",
60
+ "commander": "^11.1.0",
61
+ "cosmiconfig": "^8.3.6",
62
+ "execa": "^5.1.1",
63
+ "fs-extra": "^11.1.1",
64
+ "glob": "^10.3.10",
65
+ "inquirer": "^9.2.12",
66
+ "listr2": "^7.0.2",
67
+ "mustache": "^4.2.0",
68
+ "ora": "^5.4.1",
69
+ "semver": "^7.5.4",
70
+ "validate-npm-package-name": "^5.0.0",
71
+ "zod": "^3.22.4"
72
+ },
73
+ "devDependencies": {
74
+ "@changesets/cli": "^2.26.2",
75
+ "@supabase/supabase-js": "^2.39.2",
76
+ "@types/fs-extra": "^11.0.4",
77
+ "@types/inquirer": "^9.0.7",
78
+ "@types/jest": "^29.5.6",
79
+ "@types/mustache": "^4.2.5",
80
+ "@types/node": "^20.8.7",
81
+ "@types/semver": "^7.5.4",
82
+ "@types/validate-npm-package-name": "^4.0.2",
83
+ "eslint": "^8.57.1",
84
+ "eslint-config-prettier": "^9.1.2",
85
+ "eslint-plugin-prettier": "^5.5.4",
86
+ "firebase": "^10.7.1",
87
+ "globals": "^16.3.0",
88
+ "jest": "^29.7.0",
89
+ "prettier": "^3.0.3",
90
+ "ts-jest": "^29.1.1",
91
+ "tsup": "^7.2.0",
92
+ "tsx": "^3.14.0",
93
+ "typescript": "^5.2.2",
94
+ "typescript-eslint": "^8.40.0"
95
+ },
96
+ "peerDependencies": {
97
+ "typescript": ">=4.9.0"
98
+ },
99
+ "publishConfig": {
100
+ "access": "public"
101
+ },
102
+ "directories": {
103
+ "doc": "docs",
104
+ "test": "tests"
105
+ }
106
+ }
@@ -0,0 +1,15 @@
1
+ # Auth Configuration
2
+ EXPO_PUBLIC_AUTH_PROVIDER=supabase|firebase
3
+
4
+ # Supabase
5
+ EXPO_PUBLIC_SUPABASE_URL=
6
+ EXPO_PUBLIC_SUPABASE_ANON_KEY=
7
+
8
+ # Firebase
9
+ EXPO_PUBLIC_FIREBASE_API_KEY=
10
+ EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=
11
+ EXPO_PUBLIC_FIREBASE_PROJECT_ID=
12
+
13
+ # Payments
14
+ EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=
15
+ STRIPE_SECRET_KEY=
@@ -0,0 +1,186 @@
1
+ import React from 'react';
2
+ import { StatusBar } from 'expo-status-bar';
3
+ import { StyleSheet, Text, View, Button } from 'react-native';
4
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
5
+ import { AuthProvider, useAuth } from '@digilogiclabs/saas-factory-auth/native';
6
+ import { PaymentsProvider } from '@digilogiclabs/saas-factory-payments/native';
7
+ import { StripeProvider } from '@stripe/stripe-react-native';
8
+ import { Link, Slot } from 'expo-router';
9
+ import {
10
+ NativePageTransition as PageTransition,
11
+ NativeMobileHero as MobileHero,
12
+ NativeMobileContainer as MobileContainer,
13
+ NativeNetworkAwareContent as NetworkAwareContent,
14
+ NativeOfflineWrapper as OfflineWrapper,
15
+ NativeToast as Toast,
16
+ useNetworkInfo,
17
+ useOfflineState
18
+ } from '@digilogiclabs/saas-factory-ui/native';
19
+
20
+ function AppContent() {
21
+ const { user, signOut } = useAuth();
22
+ const networkInfo = useNetworkInfo();
23
+ const isOnline = useOfflineState();
24
+
25
+ return (
26
+ <PageTransition type="fade" duration={300}>
27
+ <OfflineWrapper
28
+ cacheStrategy="stale-while-revalidate"
29
+ showOfflineIndicator={true}
30
+ >
31
+ <MobileContainer style={styles.container}>
32
+ <NetworkAwareContent
33
+ showOnOffline={
34
+ <View style={styles.offlineContainer}>
35
+ <Text style={styles.offlineTitle}>You're offline</Text>
36
+ <Text style={styles.offlineText}>
37
+ Some features may be limited while offline.
38
+ </Text>
39
+ </View>
40
+ }
41
+ >
42
+ {user ? (
43
+ <MobileHero
44
+ title={{
45
+ text: "Welcome back!",
46
+ size: "lg"
47
+ }}
48
+ description="You are signed in and ready to go."
49
+ actions={[
50
+ {
51
+ label: "Go to Checkout",
52
+ href: "/checkout",
53
+ variant: "default"
54
+ },
55
+ {
56
+ label: "Sign Out",
57
+ onPress: signOut,
58
+ variant: "outline"
59
+ }
60
+ ]}
61
+ />
62
+ ) : (
63
+ <MobileHero
64
+ title={{
65
+ text: "Welcome to {{titleCaseName}}",
66
+ size: "xl"
67
+ }}
68
+ description="{{description}}"
69
+ actions={[
70
+ {
71
+ label: "Get Started",
72
+ href: "/signup",
73
+ variant: "default"
74
+ },
75
+ {
76
+ label: "Sign In",
77
+ href: "/login",
78
+ variant: "outline"
79
+ }
80
+ ]}
81
+ />
82
+ )}
83
+
84
+ {/* Network Status Indicator */}
85
+ <View style={styles.statusContainer}>
86
+ <Text style={styles.statusText}>
87
+ Status: {isOnline ? '🟢 Online' : '🔴 Offline'}
88
+ {networkInfo?.type && ` • ${networkInfo.type}`}
89
+ </Text>
90
+ </View>
91
+ </NetworkAwareContent>
92
+ </MobileContainer>
93
+ </OfflineWrapper>
94
+ <Toast />
95
+ <StatusBar style="auto" />
96
+ </PageTransition>
97
+ );
98
+ }
99
+
100
+ export default function App() {
101
+ return (
102
+ <SafeAreaProvider>
103
+ <AuthProvider>
104
+ <PaymentsProvider
105
+ apiUrl={process.env.EXPO_PUBLIC_API_URL || 'http://localhost:3000'}
106
+ >
107
+ <StripeProvider
108
+ publishableKey={process.env.EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY!}
109
+ merchantIdentifier="merchant.com.{{packageName}}.app"
110
+ >
111
+ <AppContent />
112
+ </StripeProvider>
113
+ </PaymentsProvider>
114
+ </AuthProvider>
115
+ </SafeAreaProvider>
116
+ );
117
+ }
118
+
119
+ const styles = StyleSheet.create({
120
+ container: {
121
+ flex: 1,
122
+ backgroundColor: '#fff',
123
+ alignItems: 'center',
124
+ justifyContent: 'center',
125
+ padding: 20,
126
+ },
127
+ title: {
128
+ fontSize: 24,
129
+ fontWeight: 'bold',
130
+ marginBottom: 10,
131
+ textAlign: 'center',
132
+ },
133
+ subtitle: {
134
+ fontSize: 16,
135
+ color: '#666',
136
+ marginBottom: 20,
137
+ textAlign: 'center',
138
+ },
139
+ description: {
140
+ fontSize: 14,
141
+ color: '#999',
142
+ textAlign: 'center',
143
+ },
144
+ link: {
145
+ marginTop: 15,
146
+ paddingVertical: 15,
147
+ borderWidth: 1,
148
+ borderColor: '#DDD',
149
+ borderRadius: 5,
150
+ textAlign: 'center',
151
+ width: '80%',
152
+ },
153
+ offlineContainer: {
154
+ padding: 20,
155
+ alignItems: 'center',
156
+ backgroundColor: '#fff3cd',
157
+ borderRadius: 8,
158
+ margin: 20,
159
+ },
160
+ offlineTitle: {
161
+ fontSize: 18,
162
+ fontWeight: 'bold',
163
+ color: '#856404',
164
+ marginBottom: 8,
165
+ },
166
+ offlineText: {
167
+ fontSize: 14,
168
+ color: '#856404',
169
+ textAlign: 'center',
170
+ },
171
+ statusContainer: {
172
+ position: 'absolute',
173
+ bottom: 50,
174
+ left: 0,
175
+ right: 0,
176
+ alignItems: 'center',
177
+ },
178
+ statusText: {
179
+ fontSize: 12,
180
+ color: '#666',
181
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
182
+ paddingHorizontal: 12,
183
+ paddingVertical: 6,
184
+ borderRadius: 20,
185
+ },
186
+ });
@@ -0,0 +1,44 @@
1
+ import { LoginForm } from '@digilogiclabs/saas-factory-ui/native';
2
+ import { AuthProvider } from '@digilogiclabs/saas-factory-auth/native';
3
+ import { createBrowserClient } from '@supabase/ssr';
4
+ import React from 'react';
5
+ import { View } from 'react-native';
6
+ import * as WebBrowser from 'expo-web-browser';
7
+ import { useOAuth } from '@clerk/clerk-expo';
8
+
9
+ export default function LoginPage() {
10
+ const supabase = createBrowserClient(
11
+ process.env.EXPO_PUBLIC_SUPABASE_URL!,
12
+ process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY!
13
+ );
14
+
15
+ const handleLogin = async (values: any) => {
16
+ await supabase.auth.signInWithPassword({
17
+ email: values.email,
18
+ password: values.password,
19
+ });
20
+ };
21
+
22
+ const handleGoogleLogin = async () => {
23
+ const { data, error } = await supabase.auth.signInWithOAuth({
24
+ provider: 'google',
25
+ options: {
26
+ redirectTo: 'exp://localhost:8081/auth/callback',
27
+ },
28
+ });
29
+
30
+ if (data.url) {
31
+ await WebBrowser.openAuthSessionAsync(data.url);
32
+ }
33
+ };
34
+
35
+ return (
36
+ <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
37
+ <LoginForm
38
+ onSubmit={handleLogin}
39
+ onGoogleSignIn={handleGoogleLogin}
40
+ authProvider={AuthProvider.SUPABASE}
41
+ />
42
+ </View>
43
+ );
44
+ }
@@ -0,0 +1,43 @@
1
+ import { SignupForm } from '@digilogiclabs/saas-factory-ui/native';
2
+ import { AuthProvider } from '@digilogiclabs/saas-factory-auth/native';
3
+ import { createBrowserClient } from '@supabase/ssr';
4
+ import React from 'react';
5
+ import { View } from 'react-native';
6
+ import * as WebBrowser from 'expo-web-browser';
7
+
8
+ export default function SignupPage() {
9
+ const supabase = createBrowserClient(
10
+ process.env.EXPO_PUBLIC_SUPABASE_URL!,
11
+ process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY!
12
+ );
13
+
14
+ const handleSignup = async (values: any) => {
15
+ await supabase.auth.signUp({
16
+ email: values.email,
17
+ password: values.password,
18
+ });
19
+ };
20
+
21
+ const handleGoogleSignup = async () => {
22
+ const { data, error } = await supabase.auth.signInWithOAuth({
23
+ provider: 'google',
24
+ options: {
25
+ redirectTo: 'exp://localhost:8081/auth/callback',
26
+ },
27
+ });
28
+
29
+ if (data.url) {
30
+ await WebBrowser.openAuthSessionAsync(data.url);
31
+ }
32
+ };
33
+
34
+ return (
35
+ <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
36
+ <SignupForm
37
+ onSubmit={handleSignup}
38
+ onGoogleSignIn={handleGoogleSignup}
39
+ authProvider={AuthProvider.SUPABASE}
40
+ />
41
+ </View>
42
+ );
43
+ }