@nextsparkjs/core 0.1.0-beta.1 → 0.1.0-beta.3

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 (972) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/bin/dist/doctor/checks/config.d.ts +11 -0
  4. package/bin/dist/doctor/checks/config.d.ts.map +1 -0
  5. package/bin/dist/doctor/checks/config.js +111 -0
  6. package/bin/dist/doctor/checks/config.js.map +1 -0
  7. package/bin/dist/doctor/checks/database.d.ts +11 -0
  8. package/bin/dist/doctor/checks/database.d.ts.map +1 -0
  9. package/bin/dist/doctor/checks/database.js +115 -0
  10. package/bin/dist/doctor/checks/database.js.map +1 -0
  11. package/bin/dist/doctor/checks/dependencies.d.ts +11 -0
  12. package/bin/dist/doctor/checks/dependencies.d.ts.map +1 -0
  13. package/bin/dist/doctor/checks/dependencies.js +88 -0
  14. package/bin/dist/doctor/checks/dependencies.js.map +1 -0
  15. package/bin/dist/doctor/checks/imports.d.ts +11 -0
  16. package/bin/dist/doctor/checks/imports.d.ts.map +1 -0
  17. package/bin/dist/doctor/checks/imports.js +176 -0
  18. package/bin/dist/doctor/checks/imports.js.map +1 -0
  19. package/bin/dist/doctor/index.d.ts +32 -0
  20. package/bin/dist/doctor/index.d.ts.map +1 -0
  21. package/bin/dist/doctor/index.js +117 -0
  22. package/bin/dist/doctor/index.js.map +1 -0
  23. package/bin/dist/init.d.ts +19 -0
  24. package/bin/dist/init.d.ts.map +1 -0
  25. package/bin/dist/init.js +95 -308
  26. package/bin/dist/init.js.map +1 -0
  27. package/bin/dist/test-wizard.d.ts +18 -0
  28. package/bin/dist/test-wizard.d.ts.map +1 -0
  29. package/bin/dist/test-wizard.js +724 -0
  30. package/bin/dist/test-wizard.js.map +1 -0
  31. package/bin/dist/tsup.config.d.ts +3 -0
  32. package/bin/dist/tsup.config.d.ts.map +1 -0
  33. package/bin/dist/tsup.config.js +13 -0
  34. package/bin/dist/tsup.config.js.map +1 -0
  35. package/bin/dist/wizard/banner.d.ts +30 -0
  36. package/bin/dist/wizard/banner.d.ts.map +1 -0
  37. package/bin/dist/wizard/banner.js +60 -0
  38. package/bin/dist/wizard/banner.js.map +1 -0
  39. package/bin/dist/wizard/generators/config-generator.d.ts +36 -0
  40. package/bin/dist/wizard/generators/config-generator.d.ts.map +1 -0
  41. package/bin/dist/wizard/generators/config-generator.js +210 -0
  42. package/bin/dist/wizard/generators/config-generator.js.map +1 -0
  43. package/bin/dist/wizard/generators/content-features-generator.d.ts +19 -0
  44. package/bin/dist/wizard/generators/content-features-generator.d.ts.map +1 -0
  45. package/bin/dist/wizard/generators/content-features-generator.js +96 -0
  46. package/bin/dist/wizard/generators/content-features-generator.js.map +1 -0
  47. package/bin/dist/wizard/generators/demo-installer.d.ts +13 -0
  48. package/bin/dist/wizard/generators/demo-installer.d.ts.map +1 -0
  49. package/bin/dist/wizard/generators/demo-installer.js +164 -0
  50. package/bin/dist/wizard/generators/demo-installer.js.map +1 -0
  51. package/bin/dist/wizard/generators/env-setup.d.ts +16 -0
  52. package/bin/dist/wizard/generators/env-setup.d.ts.map +1 -0
  53. package/bin/dist/wizard/generators/env-setup.js +163 -0
  54. package/bin/dist/wizard/generators/env-setup.js.map +1 -0
  55. package/bin/dist/wizard/generators/git-init.d.ts +16 -0
  56. package/bin/dist/wizard/generators/git-init.d.ts.map +1 -0
  57. package/bin/dist/wizard/generators/git-init.js +174 -0
  58. package/bin/dist/wizard/generators/git-init.js.map +1 -0
  59. package/bin/dist/wizard/generators/index.d.ts +19 -0
  60. package/bin/dist/wizard/generators/index.d.ts.map +1 -0
  61. package/bin/dist/wizard/generators/index.js +203 -0
  62. package/bin/dist/wizard/generators/index.js.map +1 -0
  63. package/bin/dist/wizard/generators/messages-generator.d.ts +28 -0
  64. package/bin/dist/wizard/generators/messages-generator.d.ts.map +1 -0
  65. package/bin/dist/wizard/generators/messages-generator.js +131 -0
  66. package/bin/dist/wizard/generators/messages-generator.js.map +1 -0
  67. package/bin/dist/wizard/generators/theme-renamer.d.ts +35 -0
  68. package/bin/dist/wizard/generators/theme-renamer.d.ts.map +1 -0
  69. package/bin/dist/wizard/generators/theme-renamer.js +323 -0
  70. package/bin/dist/wizard/generators/theme-renamer.js.map +1 -0
  71. package/bin/dist/wizard/index.d.ts +12 -0
  72. package/bin/dist/wizard/index.d.ts.map +1 -0
  73. package/bin/dist/wizard/index.js +254 -0
  74. package/bin/dist/wizard/index.js.map +1 -0
  75. package/bin/dist/wizard/presets.d.ts +55 -0
  76. package/bin/dist/wizard/presets.d.ts.map +1 -0
  77. package/bin/dist/wizard/presets.js +232 -0
  78. package/bin/dist/wizard/presets.js.map +1 -0
  79. package/bin/dist/wizard/preview.d.ts +15 -0
  80. package/bin/dist/wizard/preview.d.ts.map +1 -0
  81. package/bin/dist/wizard/preview.js +192 -0
  82. package/bin/dist/wizard/preview.js.map +1 -0
  83. package/bin/dist/wizard/prompts/auth-config.d.ts +16 -0
  84. package/bin/dist/wizard/prompts/auth-config.d.ts.map +1 -0
  85. package/bin/dist/wizard/prompts/auth-config.js +78 -0
  86. package/bin/dist/wizard/prompts/auth-config.js.map +1 -0
  87. package/bin/dist/wizard/prompts/billing-config.d.ts +11 -0
  88. package/bin/dist/wizard/prompts/billing-config.d.ts.map +1 -0
  89. package/bin/dist/wizard/prompts/billing-config.js +66 -0
  90. package/bin/dist/wizard/prompts/billing-config.js.map +1 -0
  91. package/bin/dist/wizard/prompts/content-features-config.d.ts +15 -0
  92. package/bin/dist/wizard/prompts/content-features-config.d.ts.map +1 -0
  93. package/bin/dist/wizard/prompts/content-features-config.js +58 -0
  94. package/bin/dist/wizard/prompts/content-features-config.js.map +1 -0
  95. package/bin/dist/wizard/prompts/dashboard-config.d.ts +15 -0
  96. package/bin/dist/wizard/prompts/dashboard-config.d.ts.map +1 -0
  97. package/bin/dist/wizard/prompts/dashboard-config.js +104 -0
  98. package/bin/dist/wizard/prompts/dashboard-config.js.map +1 -0
  99. package/bin/dist/wizard/prompts/demo-install.d.ts +14 -0
  100. package/bin/dist/wizard/prompts/demo-install.d.ts.map +1 -0
  101. package/bin/dist/wizard/prompts/demo-install.js +42 -0
  102. package/bin/dist/wizard/prompts/demo-install.js.map +1 -0
  103. package/bin/dist/wizard/prompts/dev-config.d.ts +15 -0
  104. package/bin/dist/wizard/prompts/dev-config.d.ts.map +1 -0
  105. package/bin/dist/wizard/prompts/dev-config.js +66 -0
  106. package/bin/dist/wizard/prompts/dev-config.js.map +1 -0
  107. package/bin/dist/wizard/prompts/env-config.d.ts +22 -0
  108. package/bin/dist/wizard/prompts/env-config.d.ts.map +1 -0
  109. package/bin/dist/wizard/prompts/env-config.js +65 -0
  110. package/bin/dist/wizard/prompts/env-config.js.map +1 -0
  111. package/bin/dist/wizard/prompts/features-config.d.ts +11 -0
  112. package/bin/dist/wizard/prompts/features-config.d.ts.map +1 -0
  113. package/bin/dist/wizard/prompts/features-config.js +68 -0
  114. package/bin/dist/wizard/prompts/features-config.js.map +1 -0
  115. package/bin/dist/wizard/prompts/git-config.d.ts +22 -0
  116. package/bin/dist/wizard/prompts/git-config.d.ts.map +1 -0
  117. package/bin/dist/wizard/prompts/git-config.js +72 -0
  118. package/bin/dist/wizard/prompts/git-config.js.map +1 -0
  119. package/bin/dist/wizard/prompts/i18n-config.d.ts +11 -0
  120. package/bin/dist/wizard/prompts/i18n-config.d.ts.map +1 -0
  121. package/bin/dist/wizard/prompts/i18n-config.js +55 -0
  122. package/bin/dist/wizard/prompts/i18n-config.js.map +1 -0
  123. package/bin/dist/wizard/prompts/index.d.ts +34 -0
  124. package/bin/dist/wizard/prompts/index.d.ts.map +1 -0
  125. package/bin/dist/wizard/prompts/index.js +126 -0
  126. package/bin/dist/wizard/prompts/index.js.map +1 -0
  127. package/bin/dist/wizard/prompts/project-info.d.ts +11 -0
  128. package/bin/dist/wizard/prompts/project-info.d.ts.map +1 -0
  129. package/bin/dist/wizard/prompts/project-info.js +80 -0
  130. package/bin/dist/wizard/prompts/project-info.js.map +1 -0
  131. package/bin/dist/wizard/prompts/team-config.d.ts +11 -0
  132. package/bin/dist/wizard/prompts/team-config.d.ts.map +1 -0
  133. package/bin/dist/wizard/prompts/team-config.js +77 -0
  134. package/bin/dist/wizard/prompts/team-config.js.map +1 -0
  135. package/bin/dist/wizard/types.d.ts +110 -0
  136. package/bin/dist/wizard/types.d.ts.map +1 -0
  137. package/bin/dist/wizard/types.js +31 -0
  138. package/bin/dist/wizard/types.js.map +1 -0
  139. package/bin/dist/wizard/validators/files.d.ts +26 -0
  140. package/bin/dist/wizard/validators/files.d.ts.map +1 -0
  141. package/bin/dist/wizard/validators/files.js +202 -0
  142. package/bin/dist/wizard/validators/files.js.map +1 -0
  143. package/bin/dist/wizard/validators/i18n.d.ts +24 -0
  144. package/bin/dist/wizard/validators/i18n.d.ts.map +1 -0
  145. package/bin/dist/wizard/validators/i18n.js +318 -0
  146. package/bin/dist/wizard/validators/i18n.js.map +1 -0
  147. package/bin/dist/wizard/validators/index.d.ts +67 -0
  148. package/bin/dist/wizard/validators/index.d.ts.map +1 -0
  149. package/bin/dist/wizard/validators/index.js +64 -0
  150. package/bin/dist/wizard/validators/index.js.map +1 -0
  151. package/bin/dist/wizard/validators/typescript.d.ts +19 -0
  152. package/bin/dist/wizard/validators/typescript.d.ts.map +1 -0
  153. package/bin/dist/wizard/validators/typescript.js +120 -0
  154. package/bin/dist/wizard/validators/typescript.js.map +1 -0
  155. package/dist/bin/dist/doctor/checks/config.d.ts +11 -0
  156. package/dist/bin/dist/doctor/checks/config.d.ts.map +1 -0
  157. package/dist/bin/dist/doctor/checks/config.js +111 -0
  158. package/dist/bin/dist/doctor/checks/config.js.map +1 -0
  159. package/dist/bin/dist/doctor/checks/database.d.ts +11 -0
  160. package/dist/bin/dist/doctor/checks/database.d.ts.map +1 -0
  161. package/dist/bin/dist/doctor/checks/database.js +115 -0
  162. package/dist/bin/dist/doctor/checks/database.js.map +1 -0
  163. package/dist/bin/dist/doctor/checks/dependencies.d.ts +11 -0
  164. package/dist/bin/dist/doctor/checks/dependencies.d.ts.map +1 -0
  165. package/dist/bin/dist/doctor/checks/dependencies.js +88 -0
  166. package/dist/bin/dist/doctor/checks/dependencies.js.map +1 -0
  167. package/dist/bin/dist/doctor/checks/imports.d.ts +11 -0
  168. package/dist/bin/dist/doctor/checks/imports.d.ts.map +1 -0
  169. package/dist/bin/dist/doctor/checks/imports.js +176 -0
  170. package/dist/bin/dist/doctor/checks/imports.js.map +1 -0
  171. package/dist/bin/dist/doctor/index.d.ts +32 -0
  172. package/dist/bin/dist/doctor/index.d.ts.map +1 -0
  173. package/dist/bin/dist/doctor/index.js +117 -0
  174. package/dist/bin/dist/doctor/index.js.map +1 -0
  175. package/dist/bin/dist/init.d.ts +19 -0
  176. package/dist/bin/dist/init.d.ts.map +1 -0
  177. package/dist/bin/dist/init.js +95 -308
  178. package/dist/bin/dist/init.js.map +1 -0
  179. package/dist/bin/dist/test-wizard.d.ts +18 -0
  180. package/dist/bin/dist/test-wizard.d.ts.map +1 -0
  181. package/dist/bin/dist/test-wizard.js +724 -0
  182. package/dist/bin/dist/test-wizard.js.map +1 -0
  183. package/dist/bin/dist/tsup.config.d.ts +3 -0
  184. package/dist/bin/dist/tsup.config.d.ts.map +1 -0
  185. package/dist/bin/dist/tsup.config.js +13 -0
  186. package/dist/bin/dist/tsup.config.js.map +1 -0
  187. package/dist/bin/dist/wizard/banner.d.ts +30 -0
  188. package/dist/bin/dist/wizard/banner.d.ts.map +1 -0
  189. package/dist/bin/dist/wizard/banner.js +60 -0
  190. package/dist/bin/dist/wizard/banner.js.map +1 -0
  191. package/dist/bin/dist/wizard/generators/config-generator.d.ts +36 -0
  192. package/dist/bin/dist/wizard/generators/config-generator.d.ts.map +1 -0
  193. package/dist/bin/dist/wizard/generators/config-generator.js +210 -0
  194. package/dist/bin/dist/wizard/generators/config-generator.js.map +1 -0
  195. package/dist/bin/dist/wizard/generators/content-features-generator.d.ts +19 -0
  196. package/dist/bin/dist/wizard/generators/content-features-generator.d.ts.map +1 -0
  197. package/dist/bin/dist/wizard/generators/content-features-generator.js +96 -0
  198. package/dist/bin/dist/wizard/generators/content-features-generator.js.map +1 -0
  199. package/dist/bin/dist/wizard/generators/demo-installer.d.ts +13 -0
  200. package/dist/bin/dist/wizard/generators/demo-installer.d.ts.map +1 -0
  201. package/dist/bin/dist/wizard/generators/demo-installer.js +128 -0
  202. package/dist/bin/dist/wizard/generators/demo-installer.js.map +1 -0
  203. package/dist/bin/dist/wizard/generators/env-setup.d.ts +16 -0
  204. package/dist/bin/dist/wizard/generators/env-setup.d.ts.map +1 -0
  205. package/dist/bin/dist/wizard/generators/env-setup.js +163 -0
  206. package/dist/bin/dist/wizard/generators/env-setup.js.map +1 -0
  207. package/dist/bin/dist/wizard/generators/git-init.d.ts +16 -0
  208. package/dist/bin/dist/wizard/generators/git-init.d.ts.map +1 -0
  209. package/dist/bin/dist/wizard/generators/git-init.js +174 -0
  210. package/dist/bin/dist/wizard/generators/git-init.js.map +1 -0
  211. package/dist/bin/dist/wizard/generators/index.d.ts +19 -0
  212. package/dist/bin/dist/wizard/generators/index.d.ts.map +1 -0
  213. package/dist/bin/dist/wizard/generators/index.js +199 -0
  214. package/dist/bin/dist/wizard/generators/index.js.map +1 -0
  215. package/dist/bin/dist/wizard/generators/messages-generator.d.ts +28 -0
  216. package/dist/bin/dist/wizard/generators/messages-generator.d.ts.map +1 -0
  217. package/dist/bin/dist/wizard/generators/messages-generator.js +131 -0
  218. package/dist/bin/dist/wizard/generators/messages-generator.js.map +1 -0
  219. package/dist/bin/dist/wizard/generators/theme-renamer.d.ts +35 -0
  220. package/dist/bin/dist/wizard/generators/theme-renamer.d.ts.map +1 -0
  221. package/dist/bin/dist/wizard/generators/theme-renamer.js +323 -0
  222. package/dist/bin/dist/wizard/generators/theme-renamer.js.map +1 -0
  223. package/dist/bin/dist/wizard/index.d.ts +12 -0
  224. package/dist/bin/dist/wizard/index.d.ts.map +1 -0
  225. package/dist/bin/dist/wizard/index.js +254 -0
  226. package/dist/bin/dist/wizard/index.js.map +1 -0
  227. package/dist/bin/dist/wizard/presets.d.ts +55 -0
  228. package/dist/bin/dist/wizard/presets.d.ts.map +1 -0
  229. package/dist/bin/dist/wizard/presets.js +232 -0
  230. package/dist/bin/dist/wizard/presets.js.map +1 -0
  231. package/dist/bin/dist/wizard/preview.d.ts +15 -0
  232. package/dist/bin/dist/wizard/preview.d.ts.map +1 -0
  233. package/dist/bin/dist/wizard/preview.js +192 -0
  234. package/dist/bin/dist/wizard/preview.js.map +1 -0
  235. package/dist/bin/dist/wizard/prompts/auth-config.d.ts +16 -0
  236. package/dist/bin/dist/wizard/prompts/auth-config.d.ts.map +1 -0
  237. package/dist/bin/dist/wizard/prompts/auth-config.js +78 -0
  238. package/dist/bin/dist/wizard/prompts/auth-config.js.map +1 -0
  239. package/dist/bin/dist/wizard/prompts/billing-config.d.ts +11 -0
  240. package/dist/bin/dist/wizard/prompts/billing-config.d.ts.map +1 -0
  241. package/dist/bin/dist/wizard/prompts/billing-config.js +66 -0
  242. package/dist/bin/dist/wizard/prompts/billing-config.js.map +1 -0
  243. package/dist/bin/dist/wizard/prompts/content-features-config.d.ts +15 -0
  244. package/dist/bin/dist/wizard/prompts/content-features-config.d.ts.map +1 -0
  245. package/dist/bin/dist/wizard/prompts/content-features-config.js +58 -0
  246. package/dist/bin/dist/wizard/prompts/content-features-config.js.map +1 -0
  247. package/dist/bin/dist/wizard/prompts/dashboard-config.d.ts +15 -0
  248. package/dist/bin/dist/wizard/prompts/dashboard-config.d.ts.map +1 -0
  249. package/dist/bin/dist/wizard/prompts/dashboard-config.js +104 -0
  250. package/dist/bin/dist/wizard/prompts/dashboard-config.js.map +1 -0
  251. package/dist/bin/dist/wizard/prompts/demo-install.d.ts +14 -0
  252. package/dist/bin/dist/wizard/prompts/demo-install.d.ts.map +1 -0
  253. package/dist/bin/dist/wizard/prompts/demo-install.js +42 -0
  254. package/dist/bin/dist/wizard/prompts/demo-install.js.map +1 -0
  255. package/dist/bin/dist/wizard/prompts/dev-config.d.ts +15 -0
  256. package/dist/bin/dist/wizard/prompts/dev-config.d.ts.map +1 -0
  257. package/dist/bin/dist/wizard/prompts/dev-config.js +66 -0
  258. package/dist/bin/dist/wizard/prompts/dev-config.js.map +1 -0
  259. package/dist/bin/dist/wizard/prompts/env-config.d.ts +22 -0
  260. package/dist/bin/dist/wizard/prompts/env-config.d.ts.map +1 -0
  261. package/dist/bin/dist/wizard/prompts/env-config.js +65 -0
  262. package/dist/bin/dist/wizard/prompts/env-config.js.map +1 -0
  263. package/dist/bin/dist/wizard/prompts/features-config.d.ts +11 -0
  264. package/dist/bin/dist/wizard/prompts/features-config.d.ts.map +1 -0
  265. package/dist/bin/dist/wizard/prompts/features-config.js +68 -0
  266. package/dist/bin/dist/wizard/prompts/features-config.js.map +1 -0
  267. package/dist/bin/dist/wizard/prompts/git-config.d.ts +22 -0
  268. package/dist/bin/dist/wizard/prompts/git-config.d.ts.map +1 -0
  269. package/dist/bin/dist/wizard/prompts/git-config.js +72 -0
  270. package/dist/bin/dist/wizard/prompts/git-config.js.map +1 -0
  271. package/dist/bin/dist/wizard/prompts/i18n-config.d.ts +11 -0
  272. package/dist/bin/dist/wizard/prompts/i18n-config.d.ts.map +1 -0
  273. package/dist/bin/dist/wizard/prompts/i18n-config.js +55 -0
  274. package/dist/bin/dist/wizard/prompts/i18n-config.js.map +1 -0
  275. package/dist/bin/dist/wizard/prompts/index.d.ts +34 -0
  276. package/dist/bin/dist/wizard/prompts/index.d.ts.map +1 -0
  277. package/dist/bin/dist/wizard/prompts/index.js +126 -0
  278. package/dist/bin/dist/wizard/prompts/index.js.map +1 -0
  279. package/dist/bin/dist/wizard/prompts/project-info.d.ts +11 -0
  280. package/dist/bin/dist/wizard/prompts/project-info.d.ts.map +1 -0
  281. package/dist/bin/dist/wizard/prompts/project-info.js +80 -0
  282. package/dist/bin/dist/wizard/prompts/project-info.js.map +1 -0
  283. package/dist/bin/dist/wizard/prompts/team-config.d.ts +11 -0
  284. package/dist/bin/dist/wizard/prompts/team-config.d.ts.map +1 -0
  285. package/dist/bin/dist/wizard/prompts/team-config.js +77 -0
  286. package/dist/bin/dist/wizard/prompts/team-config.js.map +1 -0
  287. package/dist/bin/dist/wizard/types.d.ts +110 -0
  288. package/dist/bin/dist/wizard/types.d.ts.map +1 -0
  289. package/dist/bin/dist/wizard/types.js +31 -0
  290. package/dist/bin/dist/wizard/types.js.map +1 -0
  291. package/dist/bin/dist/wizard/validators/files.d.ts +26 -0
  292. package/dist/bin/dist/wizard/validators/files.d.ts.map +1 -0
  293. package/dist/bin/dist/wizard/validators/files.js +202 -0
  294. package/dist/bin/dist/wizard/validators/files.js.map +1 -0
  295. package/dist/bin/dist/wizard/validators/i18n.d.ts +24 -0
  296. package/dist/bin/dist/wizard/validators/i18n.d.ts.map +1 -0
  297. package/dist/bin/dist/wizard/validators/i18n.js +318 -0
  298. package/dist/bin/dist/wizard/validators/i18n.js.map +1 -0
  299. package/dist/bin/dist/wizard/validators/index.d.ts +67 -0
  300. package/dist/bin/dist/wizard/validators/index.d.ts.map +1 -0
  301. package/dist/bin/dist/wizard/validators/index.js +64 -0
  302. package/dist/bin/dist/wizard/validators/index.js.map +1 -0
  303. package/dist/bin/dist/wizard/validators/typescript.d.ts +19 -0
  304. package/dist/bin/dist/wizard/validators/typescript.d.ts.map +1 -0
  305. package/dist/bin/dist/wizard/validators/typescript.js +120 -0
  306. package/dist/bin/dist/wizard/validators/typescript.js.map +1 -0
  307. package/dist/bin/doctor/checks/config.ts +123 -0
  308. package/dist/bin/doctor/checks/database.ts +133 -0
  309. package/dist/bin/doctor/checks/dependencies.ts +99 -0
  310. package/dist/bin/doctor/checks/imports.ts +203 -0
  311. package/dist/bin/doctor/index.ts +151 -0
  312. package/dist/bin/init.ts +99 -406
  313. package/dist/bin/test-local.sh +3 -1
  314. package/dist/bin/test-wizard.ts +879 -0
  315. package/dist/bin/tsconfig.json +26 -0
  316. package/dist/bin/wizard/banner.ts +67 -0
  317. package/dist/bin/wizard/generators/config-generator.ts +341 -0
  318. package/dist/bin/wizard/generators/content-features-generator.ts +111 -0
  319. package/dist/bin/wizard/generators/demo-installer.ts +200 -0
  320. package/dist/bin/wizard/generators/env-setup.ts +208 -0
  321. package/dist/bin/wizard/generators/git-init.ts +187 -0
  322. package/dist/bin/wizard/generators/index.ts +271 -0
  323. package/dist/bin/wizard/generators/messages-generator.ts +159 -0
  324. package/dist/bin/wizard/generators/theme-renamer.ts +419 -0
  325. package/dist/bin/wizard/index.ts +288 -0
  326. package/dist/bin/wizard/presets.ts +274 -0
  327. package/dist/bin/wizard/preview.ts +220 -0
  328. package/dist/bin/wizard/prompts/auth-config.ts +93 -0
  329. package/dist/bin/wizard/prompts/billing-config.ts +75 -0
  330. package/dist/bin/wizard/prompts/content-features-config.ts +70 -0
  331. package/dist/bin/wizard/prompts/dashboard-config.ts +117 -0
  332. package/dist/bin/wizard/prompts/demo-install.ts +45 -0
  333. package/dist/bin/wizard/prompts/dev-config.ts +78 -0
  334. package/dist/bin/wizard/prompts/env-config.ts +83 -0
  335. package/dist/bin/wizard/prompts/features-config.ts +75 -0
  336. package/dist/bin/wizard/prompts/git-config.ts +90 -0
  337. package/dist/bin/wizard/prompts/i18n-config.ts +62 -0
  338. package/dist/bin/wizard/prompts/index.ts +173 -0
  339. package/dist/bin/wizard/prompts/project-info.ts +89 -0
  340. package/dist/bin/wizard/prompts/team-config.ts +88 -0
  341. package/dist/bin/wizard/types.ts +150 -0
  342. package/dist/bin/wizard/validators/files.ts +227 -0
  343. package/dist/bin/wizard/validators/i18n.ts +394 -0
  344. package/dist/bin/wizard/validators/index.ts +111 -0
  345. package/dist/bin/wizard/validators/typescript.ts +133 -0
  346. package/dist/components/devtools/scheduled-actions/actions-table.js +1 -1
  347. package/dist/components/devtools/scheduled-actions/filters.js +1 -1
  348. package/dist/hooks/useContentTranslation.d.ts.map +1 -1
  349. package/dist/hooks/useContentTranslation.js +1 -5
  350. package/dist/hooks/useEnsureUserMetadata.d.ts.map +1 -1
  351. package/dist/hooks/useEnsureUserMetadata.js +0 -1
  352. package/dist/hooks/useEntityTranslations.d.ts.map +1 -1
  353. package/dist/hooks/useEntityTranslations.js +10 -12
  354. package/dist/i18n.d.ts.map +1 -1
  355. package/dist/i18n.js +7 -37
  356. package/dist/lib/config/app.config.js +1 -1
  357. package/dist/lib/config/dashboard.config.d.ts +0 -1
  358. package/dist/lib/config/dashboard.config.d.ts.map +1 -1
  359. package/dist/lib/config/dashboard.config.js +0 -1
  360. package/dist/lib/config/nextspark-types.d.ts +1 -1
  361. package/dist/lib/config/nextspark-types.d.ts.map +1 -1
  362. package/dist/lib/i18n-utils.d.ts +1 -5
  363. package/dist/lib/i18n-utils.d.ts.map +1 -1
  364. package/dist/lib/i18n-utils.js +0 -19
  365. package/dist/lib/namespace-loader.d.ts +1 -0
  366. package/dist/lib/namespace-loader.d.ts.map +1 -1
  367. package/dist/lib/namespace-loader.js +14 -18
  368. package/dist/lib/services/translation.service.d.ts +92 -0
  369. package/dist/lib/services/translation.service.d.ts.map +1 -1
  370. package/dist/lib/services/translation.service.js +135 -1
  371. package/dist/lib/test/index.d.ts +4 -4
  372. package/dist/lib/test/index.d.ts.map +1 -1
  373. package/dist/lib/test/index.js +4 -4
  374. package/dist/lib/test/selectors.d.ts +12 -12
  375. package/dist/lib/test/selectors.d.ts.map +1 -1
  376. package/dist/lib/test/selectors.js +2 -2
  377. package/dist/lib/translations/i18n-integration.d.ts +3 -1
  378. package/dist/lib/translations/i18n-integration.d.ts.map +1 -1
  379. package/dist/lib/translations/i18n-integration.js +19 -38
  380. package/dist/lib/translations/registry.d.ts +7 -61
  381. package/dist/lib/translations/registry.d.ts.map +1 -1
  382. package/dist/lib/translations/registry.js +21 -163
  383. package/dist/messages/de/admin.json +219 -0
  384. package/dist/messages/de/auth.json +103 -0
  385. package/dist/messages/de/billing.json +167 -0
  386. package/dist/messages/de/buttons.json +19 -0
  387. package/dist/messages/de/common.json +172 -0
  388. package/dist/messages/de/dashboard.json +41 -0
  389. package/dist/messages/de/devtools.json +285 -0
  390. package/dist/messages/de/docs.json +24 -0
  391. package/dist/messages/de/entities.json +52 -0
  392. package/dist/messages/de/footer.json +23 -0
  393. package/dist/messages/de/home.json +13 -0
  394. package/dist/messages/de/index.d.ts +1934 -0
  395. package/dist/messages/de/index.d.ts.map +1 -0
  396. package/dist/messages/de/index.js +41 -0
  397. package/dist/messages/de/index.ts +39 -0
  398. package/dist/messages/de/navigation.json +11 -0
  399. package/dist/messages/de/permissions.json +27 -0
  400. package/dist/messages/de/public.json +14 -0
  401. package/dist/messages/de/settings.json +404 -0
  402. package/dist/messages/de/superadmin.json +194 -0
  403. package/dist/messages/de/teams.json +140 -0
  404. package/dist/messages/de/validation.json +48 -0
  405. package/dist/messages/en/admin.json +219 -0
  406. package/dist/messages/en/buttons.json +19 -0
  407. package/dist/messages/en/devtools.json +35 -0
  408. package/dist/messages/en/entities.json +52 -0
  409. package/dist/messages/en/index.d.ts +1292 -954
  410. package/dist/messages/en/index.d.ts.map +1 -1
  411. package/dist/messages/en/index.js +22 -16
  412. package/dist/messages/en/index.ts +22 -16
  413. package/dist/messages/en/public.json +14 -1
  414. package/dist/messages/es/admin.json +219 -0
  415. package/dist/messages/es/buttons.json +19 -0
  416. package/dist/messages/es/devtools.json +35 -0
  417. package/dist/messages/es/entities.json +52 -0
  418. package/dist/messages/es/index.d.ts +1292 -954
  419. package/dist/messages/es/index.d.ts.map +1 -1
  420. package/dist/messages/es/index.js +22 -16
  421. package/dist/messages/es/index.ts +22 -16
  422. package/dist/messages/es/public.json +14 -1
  423. package/dist/messages/fr/admin.json +219 -0
  424. package/dist/messages/fr/auth.json +103 -0
  425. package/dist/messages/fr/billing.json +167 -0
  426. package/dist/messages/fr/buttons.json +19 -0
  427. package/dist/messages/fr/common.json +172 -0
  428. package/dist/messages/fr/dashboard.json +41 -0
  429. package/dist/messages/fr/devtools.json +285 -0
  430. package/dist/messages/fr/docs.json +24 -0
  431. package/dist/messages/fr/entities.json +52 -0
  432. package/dist/messages/fr/footer.json +23 -0
  433. package/dist/messages/fr/home.json +13 -0
  434. package/dist/messages/fr/index.d.ts +1934 -0
  435. package/dist/messages/fr/index.d.ts.map +1 -0
  436. package/dist/messages/fr/index.js +41 -0
  437. package/dist/messages/fr/index.ts +39 -0
  438. package/dist/messages/fr/navigation.json +11 -0
  439. package/dist/messages/fr/permissions.json +27 -0
  440. package/dist/messages/fr/public.json +14 -0
  441. package/dist/messages/fr/settings.json +404 -0
  442. package/dist/messages/fr/superadmin.json +194 -0
  443. package/dist/messages/fr/teams.json +140 -0
  444. package/dist/messages/fr/validation.json +48 -0
  445. package/dist/messages/index.d.ts +4 -0
  446. package/dist/messages/index.d.ts.map +1 -1
  447. package/dist/messages/index.js +9 -1
  448. package/dist/messages/index.ts +4 -0
  449. package/dist/messages/it/admin.json +219 -0
  450. package/dist/messages/it/auth.json +103 -0
  451. package/dist/messages/it/billing.json +167 -0
  452. package/dist/messages/it/buttons.json +19 -0
  453. package/dist/messages/it/common.json +172 -0
  454. package/dist/messages/it/dashboard.json +41 -0
  455. package/dist/messages/it/devtools.json +285 -0
  456. package/dist/messages/it/docs.json +24 -0
  457. package/dist/messages/it/entities.json +52 -0
  458. package/dist/messages/it/footer.json +23 -0
  459. package/dist/messages/it/home.json +13 -0
  460. package/dist/messages/it/index.d.ts +1934 -0
  461. package/dist/messages/it/index.d.ts.map +1 -0
  462. package/dist/messages/it/index.js +41 -0
  463. package/dist/messages/it/index.ts +39 -0
  464. package/dist/messages/it/navigation.json +11 -0
  465. package/dist/messages/it/permissions.json +27 -0
  466. package/dist/messages/it/public.json +14 -0
  467. package/dist/messages/it/settings.json +404 -0
  468. package/dist/messages/it/superadmin.json +194 -0
  469. package/dist/messages/it/teams.json +140 -0
  470. package/dist/messages/it/validation.json +48 -0
  471. package/dist/messages/pt/admin.json +219 -0
  472. package/dist/messages/pt/auth.json +103 -0
  473. package/dist/messages/pt/billing.json +167 -0
  474. package/dist/messages/pt/buttons.json +19 -0
  475. package/dist/messages/pt/common.json +172 -0
  476. package/dist/messages/pt/dashboard.json +41 -0
  477. package/dist/messages/pt/devtools.json +285 -0
  478. package/dist/messages/pt/docs.json +24 -0
  479. package/dist/messages/pt/entities.json +52 -0
  480. package/dist/messages/pt/footer.json +23 -0
  481. package/dist/messages/pt/home.json +13 -0
  482. package/dist/messages/pt/index.d.ts +1934 -0
  483. package/dist/messages/pt/index.d.ts.map +1 -0
  484. package/dist/messages/pt/index.js +41 -0
  485. package/dist/messages/pt/index.ts +39 -0
  486. package/dist/messages/pt/navigation.json +11 -0
  487. package/dist/messages/pt/permissions.json +27 -0
  488. package/dist/messages/pt/public.json +14 -0
  489. package/dist/messages/pt/settings.json +404 -0
  490. package/dist/messages/pt/superadmin.json +194 -0
  491. package/dist/messages/pt/teams.json +140 -0
  492. package/dist/messages/pt/validation.json +48 -0
  493. package/dist/presets/plugin/messages/de.json +20 -0
  494. package/dist/presets/plugin/messages/fr.json +20 -0
  495. package/dist/presets/plugin/messages/it.json +20 -0
  496. package/dist/presets/plugin/messages/pt.json +20 -0
  497. package/dist/presets/theme/entities/tasks/messages/de.json +204 -0
  498. package/dist/presets/theme/entities/tasks/messages/fr.json +204 -0
  499. package/dist/presets/theme/entities/tasks/messages/it.json +204 -0
  500. package/dist/presets/theme/entities/tasks/messages/pt.json +204 -0
  501. package/dist/presets/theme/messages/de.json +96 -0
  502. package/dist/presets/theme/messages/fr.json +96 -0
  503. package/dist/presets/theme/messages/it.json +96 -0
  504. package/dist/presets/theme/messages/pt.json +96 -0
  505. package/dist/styles/classes.json +1 -1
  506. package/dist/styles/ui.css +1 -1
  507. package/dist/templates/contents/themes/default/entities/customers/messages/de.json +66 -0
  508. package/dist/templates/contents/themes/default/entities/customers/messages/fr.json +66 -0
  509. package/dist/templates/contents/themes/default/entities/customers/messages/it.json +66 -0
  510. package/dist/templates/contents/themes/default/entities/customers/messages/pt.json +66 -0
  511. package/dist/templates/contents/themes/default/entities/pages/messages/de.json +41 -0
  512. package/dist/templates/contents/themes/default/entities/pages/messages/fr.json +41 -0
  513. package/dist/templates/contents/themes/default/entities/pages/messages/it.json +41 -0
  514. package/dist/templates/contents/themes/default/entities/pages/messages/pt.json +41 -0
  515. package/dist/templates/contents/themes/default/entities/posts/messages/de.json +55 -0
  516. package/dist/templates/contents/themes/default/entities/posts/messages/fr.json +55 -0
  517. package/dist/templates/contents/themes/default/entities/posts/messages/it.json +55 -0
  518. package/dist/templates/contents/themes/default/entities/posts/messages/pt.json +55 -0
  519. package/dist/templates/contents/themes/default/entities/tasks/messages/de.json +204 -0
  520. package/dist/templates/contents/themes/default/entities/tasks/messages/fr.json +204 -0
  521. package/dist/templates/contents/themes/default/entities/tasks/messages/it.json +204 -0
  522. package/dist/templates/contents/themes/default/entities/tasks/messages/pt.json +204 -0
  523. package/dist/templates/contents/themes/default/messages/de/admin.json +219 -0
  524. package/dist/templates/contents/themes/default/messages/de/aiUsage.json +36 -0
  525. package/dist/templates/contents/themes/default/messages/de/buttons.json +19 -0
  526. package/dist/templates/contents/themes/default/messages/de/categories.json +35 -0
  527. package/dist/templates/contents/themes/default/messages/de/common.json +16 -0
  528. package/dist/templates/contents/themes/default/messages/de/dev.json +106 -0
  529. package/dist/templates/contents/themes/default/messages/de/docs.json +27 -0
  530. package/dist/templates/contents/themes/default/messages/de/entities.json +7 -0
  531. package/dist/templates/contents/themes/default/messages/de/features.json +119 -0
  532. package/dist/templates/contents/themes/default/messages/de/footer.json +22 -0
  533. package/dist/templates/contents/themes/default/messages/de/home.json +57 -0
  534. package/dist/templates/contents/themes/default/messages/de/index.ts +39 -0
  535. package/dist/templates/contents/themes/default/messages/de/mobileNav.json +13 -0
  536. package/dist/templates/contents/themes/default/messages/de/navigation.json +8 -0
  537. package/dist/templates/contents/themes/default/messages/de/observability.json +74 -0
  538. package/dist/templates/contents/themes/default/messages/de/posts.json +54 -0
  539. package/dist/templates/contents/themes/default/messages/de/pricing.json +102 -0
  540. package/dist/templates/contents/themes/default/messages/de/support.json +9 -0
  541. package/dist/templates/contents/themes/default/messages/de/teams.json +8 -0
  542. package/dist/templates/contents/themes/default/messages/es/admin.json +219 -0
  543. package/dist/templates/contents/themes/default/messages/es/aiUsage.json +36 -0
  544. package/dist/templates/contents/themes/default/messages/es/buttons.json +19 -0
  545. package/dist/templates/contents/themes/default/messages/es/categories.json +35 -0
  546. package/dist/templates/contents/themes/default/messages/es/common.json +16 -0
  547. package/dist/templates/contents/themes/default/messages/es/dev.json +101 -0
  548. package/dist/templates/contents/themes/default/messages/es/docs.json +27 -0
  549. package/dist/templates/contents/themes/default/messages/es/entities.json +7 -0
  550. package/dist/templates/contents/themes/default/messages/es/features.json +119 -0
  551. package/dist/templates/contents/themes/default/messages/es/footer.json +22 -0
  552. package/dist/templates/contents/themes/default/messages/es/home.json +57 -0
  553. package/dist/templates/contents/themes/default/messages/es/index.ts +39 -0
  554. package/dist/templates/contents/themes/default/messages/es/mobileNav.json +13 -0
  555. package/dist/templates/contents/themes/default/messages/es/navigation.json +8 -0
  556. package/dist/templates/contents/themes/default/messages/es/observability.json +74 -0
  557. package/dist/templates/contents/themes/default/messages/es/posts.json +54 -0
  558. package/dist/templates/contents/themes/default/messages/es/pricing.json +102 -0
  559. package/dist/templates/contents/themes/default/messages/es/support.json +9 -0
  560. package/dist/templates/contents/themes/default/messages/es/teams.json +8 -0
  561. package/dist/templates/contents/themes/default/messages/fr/admin.json +219 -0
  562. package/dist/templates/contents/themes/default/messages/fr/aiUsage.json +36 -0
  563. package/dist/templates/contents/themes/default/messages/fr/buttons.json +19 -0
  564. package/dist/templates/contents/themes/default/messages/fr/categories.json +35 -0
  565. package/dist/templates/contents/themes/default/messages/fr/common.json +16 -0
  566. package/dist/templates/contents/themes/default/messages/fr/dev.json +106 -0
  567. package/dist/templates/contents/themes/default/messages/fr/docs.json +27 -0
  568. package/dist/templates/contents/themes/default/messages/fr/entities.json +7 -0
  569. package/dist/templates/contents/themes/default/messages/fr/features.json +119 -0
  570. package/dist/templates/contents/themes/default/messages/fr/footer.json +22 -0
  571. package/dist/templates/contents/themes/default/messages/fr/home.json +57 -0
  572. package/dist/templates/contents/themes/default/messages/fr/index.ts +39 -0
  573. package/dist/templates/contents/themes/default/messages/fr/mobileNav.json +13 -0
  574. package/dist/templates/contents/themes/default/messages/fr/navigation.json +8 -0
  575. package/dist/templates/contents/themes/default/messages/fr/observability.json +74 -0
  576. package/dist/templates/contents/themes/default/messages/fr/posts.json +54 -0
  577. package/dist/templates/contents/themes/default/messages/fr/pricing.json +102 -0
  578. package/dist/templates/contents/themes/default/messages/fr/support.json +9 -0
  579. package/dist/templates/contents/themes/default/messages/fr/teams.json +8 -0
  580. package/dist/templates/contents/themes/default/messages/it/admin.json +219 -0
  581. package/dist/templates/contents/themes/default/messages/it/aiUsage.json +36 -0
  582. package/dist/templates/contents/themes/default/messages/it/buttons.json +19 -0
  583. package/dist/templates/contents/themes/default/messages/it/categories.json +35 -0
  584. package/dist/templates/contents/themes/default/messages/it/common.json +16 -0
  585. package/dist/templates/contents/themes/default/messages/it/dev.json +106 -0
  586. package/dist/templates/contents/themes/default/messages/it/docs.json +27 -0
  587. package/dist/templates/contents/themes/default/messages/it/entities.json +7 -0
  588. package/dist/templates/contents/themes/default/messages/it/features.json +119 -0
  589. package/dist/templates/contents/themes/default/messages/it/footer.json +22 -0
  590. package/dist/templates/contents/themes/default/messages/it/home.json +57 -0
  591. package/dist/templates/contents/themes/default/messages/it/index.ts +39 -0
  592. package/dist/templates/contents/themes/default/messages/it/mobileNav.json +13 -0
  593. package/dist/templates/contents/themes/default/messages/it/navigation.json +8 -0
  594. package/dist/templates/contents/themes/default/messages/it/observability.json +74 -0
  595. package/dist/templates/contents/themes/default/messages/it/posts.json +54 -0
  596. package/dist/templates/contents/themes/default/messages/it/pricing.json +102 -0
  597. package/dist/templates/contents/themes/default/messages/it/support.json +9 -0
  598. package/dist/templates/contents/themes/default/messages/it/teams.json +8 -0
  599. package/dist/templates/contents/themes/default/messages/pt/admin.json +219 -0
  600. package/dist/templates/contents/themes/default/messages/pt/aiUsage.json +36 -0
  601. package/dist/templates/contents/themes/default/messages/pt/buttons.json +19 -0
  602. package/dist/templates/contents/themes/default/messages/pt/categories.json +35 -0
  603. package/dist/templates/contents/themes/default/messages/pt/common.json +16 -0
  604. package/dist/templates/contents/themes/default/messages/pt/dev.json +106 -0
  605. package/dist/templates/contents/themes/default/messages/pt/docs.json +27 -0
  606. package/dist/templates/contents/themes/default/messages/pt/entities.json +7 -0
  607. package/dist/templates/contents/themes/default/messages/pt/features.json +119 -0
  608. package/dist/templates/contents/themes/default/messages/pt/footer.json +22 -0
  609. package/dist/templates/contents/themes/default/messages/pt/home.json +57 -0
  610. package/dist/templates/contents/themes/default/messages/pt/index.ts +39 -0
  611. package/dist/templates/contents/themes/default/messages/pt/mobileNav.json +13 -0
  612. package/dist/templates/contents/themes/default/messages/pt/navigation.json +8 -0
  613. package/dist/templates/contents/themes/default/messages/pt/observability.json +74 -0
  614. package/dist/templates/contents/themes/default/messages/pt/posts.json +54 -0
  615. package/dist/templates/contents/themes/default/messages/pt/pricing.json +102 -0
  616. package/dist/templates/contents/themes/default/messages/pt/support.json +9 -0
  617. package/dist/templates/contents/themes/default/messages/pt/teams.json +8 -0
  618. package/dist/templates/contents/themes/starter/README.md +35 -0
  619. package/dist/templates/contents/themes/starter/about/business.md +16 -0
  620. package/dist/templates/contents/themes/starter/about/features.json +28 -0
  621. package/dist/templates/contents/themes/starter/blocks/hero/component.tsx +112 -0
  622. package/dist/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
  623. package/dist/templates/contents/themes/starter/blocks/hero/fields.ts +74 -0
  624. package/dist/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
  625. package/dist/templates/contents/themes/starter/blocks/hero/schema.ts +34 -0
  626. package/dist/templates/contents/themes/starter/config/app.config.ts +193 -0
  627. package/dist/templates/contents/themes/starter/config/billing.config.ts +93 -0
  628. package/dist/templates/contents/themes/starter/config/dashboard.config.ts +419 -0
  629. package/dist/templates/contents/themes/starter/config/dev.config.ts +74 -0
  630. package/dist/templates/contents/themes/starter/config/permissions.config.ts +64 -0
  631. package/dist/templates/contents/themes/starter/config/theme.config.ts +83 -0
  632. package/dist/templates/contents/themes/starter/docs/01-overview/01-introduction.md +33 -0
  633. package/dist/templates/contents/themes/starter/docs/01-overview/02-customization.md +46 -0
  634. package/dist/templates/contents/themes/starter/entities/tasks/messages/de.json +263 -0
  635. package/dist/templates/contents/themes/starter/entities/tasks/messages/en.json +263 -0
  636. package/dist/templates/contents/themes/starter/entities/tasks/messages/es.json +263 -0
  637. package/dist/templates/contents/themes/starter/entities/tasks/messages/fr.json +263 -0
  638. package/dist/templates/contents/themes/starter/entities/tasks/messages/it.json +263 -0
  639. package/dist/templates/contents/themes/starter/entities/tasks/messages/pt.json +263 -0
  640. package/dist/templates/contents/themes/starter/entities/tasks/migrations/001_tasks_table.sql +104 -0
  641. package/dist/templates/contents/themes/starter/entities/tasks/migrations/002_task_metas.sql +84 -0
  642. package/dist/templates/contents/themes/starter/entities/tasks/migrations/003_tasks_sample_data.sql +172 -0
  643. package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +131 -0
  644. package/dist/templates/contents/themes/starter/entities/tasks/tasks.fields.ts +188 -0
  645. package/dist/templates/contents/themes/starter/entities/tasks/tasks.service.ts +390 -0
  646. package/dist/templates/contents/themes/starter/entities/tasks/tasks.types.ts +82 -0
  647. package/dist/templates/contents/themes/starter/lib/hooks/index.ts +1 -0
  648. package/dist/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +57 -0
  649. package/dist/templates/contents/themes/starter/lib/index.ts +8 -0
  650. package/dist/templates/contents/themes/starter/lib/selectors.ts +94 -0
  651. package/dist/templates/contents/themes/starter/lib/utils.ts +154 -0
  652. package/dist/templates/contents/themes/starter/messages/de/analytics.json +39 -0
  653. package/dist/templates/contents/themes/starter/messages/de/common.json +33 -0
  654. package/dist/templates/contents/themes/starter/messages/de/home.json +30 -0
  655. package/dist/templates/contents/themes/starter/messages/de/navigation.json +16 -0
  656. package/dist/templates/contents/themes/starter/messages/en/analytics.json +39 -0
  657. package/dist/templates/contents/themes/starter/messages/en/common.json +33 -0
  658. package/dist/templates/contents/themes/starter/messages/en/home.json +30 -0
  659. package/dist/templates/contents/themes/starter/messages/en/navigation.json +16 -0
  660. package/dist/templates/contents/themes/starter/messages/es/analytics.json +39 -0
  661. package/dist/templates/contents/themes/starter/messages/es/common.json +33 -0
  662. package/dist/templates/contents/themes/starter/messages/es/home.json +30 -0
  663. package/dist/templates/contents/themes/starter/messages/es/navigation.json +16 -0
  664. package/dist/templates/contents/themes/starter/messages/fr/analytics.json +39 -0
  665. package/dist/templates/contents/themes/starter/messages/fr/common.json +33 -0
  666. package/dist/templates/contents/themes/starter/messages/fr/home.json +30 -0
  667. package/dist/templates/contents/themes/starter/messages/fr/navigation.json +16 -0
  668. package/dist/templates/contents/themes/starter/messages/it/analytics.json +39 -0
  669. package/dist/templates/contents/themes/starter/messages/it/common.json +33 -0
  670. package/dist/templates/contents/themes/starter/messages/it/home.json +30 -0
  671. package/dist/templates/contents/themes/starter/messages/it/navigation.json +16 -0
  672. package/dist/templates/contents/themes/starter/messages/pt/analytics.json +39 -0
  673. package/dist/templates/contents/themes/starter/messages/pt/common.json +33 -0
  674. package/dist/templates/contents/themes/starter/messages/pt/home.json +30 -0
  675. package/dist/templates/contents/themes/starter/messages/pt/navigation.json +16 -0
  676. package/dist/templates/contents/themes/starter/migrations/001_starter_users.sql +17 -0
  677. package/dist/templates/contents/themes/starter/migrations/README.md +19 -0
  678. package/dist/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
  679. package/dist/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +1 -0
  680. package/dist/templates/contents/themes/starter/styles/components.css +16 -0
  681. package/dist/templates/contents/themes/starter/styles/globals.css +20 -0
  682. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/_hooks/useAnalyticsData.ts +41 -0
  683. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/RecentActivity.tsx +78 -0
  684. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/StatsCard.tsx +58 -0
  685. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/TasksChart.tsx +80 -0
  686. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/page.tsx +45 -0
  687. package/dist/templates/contents/themes/starter/templates/(public)/layout.tsx +15 -0
  688. package/dist/templates/contents/themes/starter/templates/(public)/page.tsx +37 -0
  689. package/dist/templates/contents/themes/starter/templates/(public)/support/page.tsx +14 -0
  690. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/TaskAPIController.js +240 -0
  691. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/TasksPOM.ts +246 -0
  692. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/tasks-crud.cy.ts +423 -0
  693. package/dist/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +63 -0
  694. package/dist/templates/contents/themes/starter/tests/cypress/src/controllers/BaseAPIController.js +317 -0
  695. package/dist/templates/contents/themes/starter/tests/cypress/src/controllers/index.js +12 -0
  696. package/dist/templates/contents/themes/starter/tests/cypress/src/core/AuthPOM.ts +464 -0
  697. package/dist/templates/contents/themes/starter/tests/cypress/src/core/BasePOM.ts +130 -0
  698. package/dist/templates/contents/themes/starter/tests/cypress/src/core/DashboardEntityPOM.ts +761 -0
  699. package/dist/templates/contents/themes/starter/tests/cypress/src/core/index.ts +12 -0
  700. package/dist/templates/contents/themes/starter/tests/cypress/src/helpers/ApiInterceptor.ts +170 -0
  701. package/dist/templates/contents/themes/starter/tests/cypress/src/selectors.ts +155 -0
  702. package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +255 -0
  703. package/dist/templates/contents/themes/starter/tests/cypress/support/commands.ts +192 -0
  704. package/dist/templates/contents/themes/starter/tests/cypress/support/doc-commands.ts +260 -0
  705. package/dist/templates/contents/themes/starter/tests/cypress/support/e2e.ts +21 -0
  706. package/dist/templates/contents/themes/starter/tests/cypress.config.ts +155 -0
  707. package/dist/templates/contents/themes/starter/tests/tsconfig.json +15 -0
  708. package/dist/templates/eslint.config.mjs +16 -0
  709. package/dist/templates/features/blog/blocks/post-content/component.tsx +197 -0
  710. package/dist/templates/features/blog/blocks/post-content/config.ts +11 -0
  711. package/dist/templates/features/blog/blocks/post-content/examples.ts +33 -0
  712. package/dist/templates/features/blog/blocks/post-content/fields.ts +165 -0
  713. package/dist/templates/features/blog/blocks/post-content/index.ts +4 -0
  714. package/dist/templates/features/blog/blocks/post-content/schema.ts +46 -0
  715. package/dist/templates/features/blog/entities/posts/components/post-header.tsx +97 -0
  716. package/dist/templates/features/blog/entities/posts/messages/en.json +55 -0
  717. package/dist/templates/features/blog/entities/posts/messages/es.json +55 -0
  718. package/dist/templates/features/blog/entities/posts/migrations/001_posts_table.sql +115 -0
  719. package/dist/templates/features/blog/entities/posts/migrations/003_add_status.sql +44 -0
  720. package/dist/templates/features/blog/entities/posts/migrations/004_entity_taxonomy_relations.sql +129 -0
  721. package/dist/templates/features/blog/entities/posts/migrations/006_posts_metas.sql +56 -0
  722. package/dist/templates/features/blog/entities/posts/posts.config.ts +112 -0
  723. package/dist/templates/features/blog/entities/posts/posts.fields.ts +116 -0
  724. package/dist/templates/features/blog/entities/posts/posts.service.ts +376 -0
  725. package/dist/templates/features/blog/entities/posts/posts.types.ts +74 -0
  726. package/dist/templates/features/pages/entities/pages/messages/en.json +41 -0
  727. package/dist/templates/features/pages/entities/pages/messages/es.json +41 -0
  728. package/dist/templates/features/pages/entities/pages/migrations/001_pages_table.sql +112 -0
  729. package/dist/templates/features/pages/entities/pages/migrations/002_pages_metas.sql +56 -0
  730. package/dist/templates/features/pages/entities/pages/migrations/003_add_status.sql +50 -0
  731. package/dist/templates/features/pages/entities/pages/pages-management.service.ts +610 -0
  732. package/dist/templates/features/pages/entities/pages/pages.config.ts +105 -0
  733. package/dist/templates/features/pages/entities/pages/pages.fields.ts +101 -0
  734. package/dist/templates/features/pages/entities/pages/pages.service.ts +290 -0
  735. package/dist/templates/features/pages/entities/pages/pages.types.ts +124 -0
  736. package/package.json +33 -2
  737. package/scripts/build/registry/generators/translation-registry.mjs +135 -18
  738. package/templates/contents/themes/default/entities/customers/messages/de.json +66 -0
  739. package/templates/contents/themes/default/entities/customers/messages/fr.json +66 -0
  740. package/templates/contents/themes/default/entities/customers/messages/it.json +66 -0
  741. package/templates/contents/themes/default/entities/customers/messages/pt.json +66 -0
  742. package/templates/contents/themes/default/entities/pages/messages/de.json +41 -0
  743. package/templates/contents/themes/default/entities/pages/messages/fr.json +41 -0
  744. package/templates/contents/themes/default/entities/pages/messages/it.json +41 -0
  745. package/templates/contents/themes/default/entities/pages/messages/pt.json +41 -0
  746. package/templates/contents/themes/default/entities/posts/messages/de.json +55 -0
  747. package/templates/contents/themes/default/entities/posts/messages/fr.json +55 -0
  748. package/templates/contents/themes/default/entities/posts/messages/it.json +55 -0
  749. package/templates/contents/themes/default/entities/posts/messages/pt.json +55 -0
  750. package/templates/contents/themes/default/entities/tasks/messages/de.json +204 -0
  751. package/templates/contents/themes/default/entities/tasks/messages/fr.json +204 -0
  752. package/templates/contents/themes/default/entities/tasks/messages/it.json +204 -0
  753. package/templates/contents/themes/default/entities/tasks/messages/pt.json +204 -0
  754. package/templates/contents/themes/default/messages/de/admin.json +219 -0
  755. package/templates/contents/themes/default/messages/de/aiUsage.json +36 -0
  756. package/templates/contents/themes/default/messages/de/buttons.json +19 -0
  757. package/templates/contents/themes/default/messages/de/categories.json +35 -0
  758. package/templates/contents/themes/default/messages/de/common.json +16 -0
  759. package/templates/contents/themes/default/messages/de/dev.json +106 -0
  760. package/templates/contents/themes/default/messages/de/docs.json +27 -0
  761. package/templates/contents/themes/default/messages/de/entities.json +7 -0
  762. package/templates/contents/themes/default/messages/de/features.json +119 -0
  763. package/templates/contents/themes/default/messages/de/footer.json +22 -0
  764. package/templates/contents/themes/default/messages/de/home.json +57 -0
  765. package/templates/contents/themes/default/messages/de/index.ts +39 -0
  766. package/templates/contents/themes/default/messages/de/mobileNav.json +13 -0
  767. package/templates/contents/themes/default/messages/de/navigation.json +8 -0
  768. package/templates/contents/themes/default/messages/de/observability.json +74 -0
  769. package/templates/contents/themes/default/messages/de/posts.json +54 -0
  770. package/templates/contents/themes/default/messages/de/pricing.json +102 -0
  771. package/templates/contents/themes/default/messages/de/support.json +9 -0
  772. package/templates/contents/themes/default/messages/de/teams.json +8 -0
  773. package/templates/contents/themes/default/messages/es/admin.json +219 -0
  774. package/templates/contents/themes/default/messages/es/aiUsage.json +36 -0
  775. package/templates/contents/themes/default/messages/es/buttons.json +19 -0
  776. package/templates/contents/themes/default/messages/es/categories.json +35 -0
  777. package/templates/contents/themes/default/messages/es/common.json +16 -0
  778. package/templates/contents/themes/default/messages/es/dev.json +101 -0
  779. package/templates/contents/themes/default/messages/es/docs.json +27 -0
  780. package/templates/contents/themes/default/messages/es/entities.json +7 -0
  781. package/templates/contents/themes/default/messages/es/features.json +119 -0
  782. package/templates/contents/themes/default/messages/es/footer.json +22 -0
  783. package/templates/contents/themes/default/messages/es/home.json +57 -0
  784. package/templates/contents/themes/default/messages/es/index.ts +39 -0
  785. package/templates/contents/themes/default/messages/es/mobileNav.json +13 -0
  786. package/templates/contents/themes/default/messages/es/navigation.json +8 -0
  787. package/templates/contents/themes/default/messages/es/observability.json +74 -0
  788. package/templates/contents/themes/default/messages/es/posts.json +54 -0
  789. package/templates/contents/themes/default/messages/es/pricing.json +102 -0
  790. package/templates/contents/themes/default/messages/es/support.json +9 -0
  791. package/templates/contents/themes/default/messages/es/teams.json +8 -0
  792. package/templates/contents/themes/default/messages/fr/admin.json +219 -0
  793. package/templates/contents/themes/default/messages/fr/aiUsage.json +36 -0
  794. package/templates/contents/themes/default/messages/fr/buttons.json +19 -0
  795. package/templates/contents/themes/default/messages/fr/categories.json +35 -0
  796. package/templates/contents/themes/default/messages/fr/common.json +16 -0
  797. package/templates/contents/themes/default/messages/fr/dev.json +106 -0
  798. package/templates/contents/themes/default/messages/fr/docs.json +27 -0
  799. package/templates/contents/themes/default/messages/fr/entities.json +7 -0
  800. package/templates/contents/themes/default/messages/fr/features.json +119 -0
  801. package/templates/contents/themes/default/messages/fr/footer.json +22 -0
  802. package/templates/contents/themes/default/messages/fr/home.json +57 -0
  803. package/templates/contents/themes/default/messages/fr/index.ts +39 -0
  804. package/templates/contents/themes/default/messages/fr/mobileNav.json +13 -0
  805. package/templates/contents/themes/default/messages/fr/navigation.json +8 -0
  806. package/templates/contents/themes/default/messages/fr/observability.json +74 -0
  807. package/templates/contents/themes/default/messages/fr/posts.json +54 -0
  808. package/templates/contents/themes/default/messages/fr/pricing.json +102 -0
  809. package/templates/contents/themes/default/messages/fr/support.json +9 -0
  810. package/templates/contents/themes/default/messages/fr/teams.json +8 -0
  811. package/templates/contents/themes/default/messages/it/admin.json +219 -0
  812. package/templates/contents/themes/default/messages/it/aiUsage.json +36 -0
  813. package/templates/contents/themes/default/messages/it/buttons.json +19 -0
  814. package/templates/contents/themes/default/messages/it/categories.json +35 -0
  815. package/templates/contents/themes/default/messages/it/common.json +16 -0
  816. package/templates/contents/themes/default/messages/it/dev.json +106 -0
  817. package/templates/contents/themes/default/messages/it/docs.json +27 -0
  818. package/templates/contents/themes/default/messages/it/entities.json +7 -0
  819. package/templates/contents/themes/default/messages/it/features.json +119 -0
  820. package/templates/contents/themes/default/messages/it/footer.json +22 -0
  821. package/templates/contents/themes/default/messages/it/home.json +57 -0
  822. package/templates/contents/themes/default/messages/it/index.ts +39 -0
  823. package/templates/contents/themes/default/messages/it/mobileNav.json +13 -0
  824. package/templates/contents/themes/default/messages/it/navigation.json +8 -0
  825. package/templates/contents/themes/default/messages/it/observability.json +74 -0
  826. package/templates/contents/themes/default/messages/it/posts.json +54 -0
  827. package/templates/contents/themes/default/messages/it/pricing.json +102 -0
  828. package/templates/contents/themes/default/messages/it/support.json +9 -0
  829. package/templates/contents/themes/default/messages/it/teams.json +8 -0
  830. package/templates/contents/themes/default/messages/pt/admin.json +219 -0
  831. package/templates/contents/themes/default/messages/pt/aiUsage.json +36 -0
  832. package/templates/contents/themes/default/messages/pt/buttons.json +19 -0
  833. package/templates/contents/themes/default/messages/pt/categories.json +35 -0
  834. package/templates/contents/themes/default/messages/pt/common.json +16 -0
  835. package/templates/contents/themes/default/messages/pt/dev.json +106 -0
  836. package/templates/contents/themes/default/messages/pt/docs.json +27 -0
  837. package/templates/contents/themes/default/messages/pt/entities.json +7 -0
  838. package/templates/contents/themes/default/messages/pt/features.json +119 -0
  839. package/templates/contents/themes/default/messages/pt/footer.json +22 -0
  840. package/templates/contents/themes/default/messages/pt/home.json +57 -0
  841. package/templates/contents/themes/default/messages/pt/index.ts +39 -0
  842. package/templates/contents/themes/default/messages/pt/mobileNav.json +13 -0
  843. package/templates/contents/themes/default/messages/pt/navigation.json +8 -0
  844. package/templates/contents/themes/default/messages/pt/observability.json +74 -0
  845. package/templates/contents/themes/default/messages/pt/posts.json +54 -0
  846. package/templates/contents/themes/default/messages/pt/pricing.json +102 -0
  847. package/templates/contents/themes/default/messages/pt/support.json +9 -0
  848. package/templates/contents/themes/default/messages/pt/teams.json +8 -0
  849. package/templates/contents/themes/starter/README.md +35 -0
  850. package/templates/contents/themes/starter/about/business.md +16 -0
  851. package/templates/contents/themes/starter/about/features.json +28 -0
  852. package/templates/contents/themes/starter/blocks/hero/component.tsx +112 -0
  853. package/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
  854. package/templates/contents/themes/starter/blocks/hero/fields.ts +74 -0
  855. package/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
  856. package/templates/contents/themes/starter/blocks/hero/schema.ts +34 -0
  857. package/templates/contents/themes/starter/config/app.config.ts +193 -0
  858. package/templates/contents/themes/starter/config/billing.config.ts +93 -0
  859. package/templates/contents/themes/starter/config/dashboard.config.ts +419 -0
  860. package/templates/contents/themes/starter/config/dev.config.ts +74 -0
  861. package/templates/contents/themes/starter/config/permissions.config.ts +64 -0
  862. package/templates/contents/themes/starter/config/theme.config.ts +83 -0
  863. package/templates/contents/themes/starter/docs/01-overview/01-introduction.md +33 -0
  864. package/templates/contents/themes/starter/docs/01-overview/02-customization.md +46 -0
  865. package/templates/contents/themes/starter/entities/tasks/messages/de.json +263 -0
  866. package/templates/contents/themes/starter/entities/tasks/messages/en.json +263 -0
  867. package/templates/contents/themes/starter/entities/tasks/messages/es.json +263 -0
  868. package/templates/contents/themes/starter/entities/tasks/messages/fr.json +263 -0
  869. package/templates/contents/themes/starter/entities/tasks/messages/it.json +263 -0
  870. package/templates/contents/themes/starter/entities/tasks/messages/pt.json +263 -0
  871. package/templates/contents/themes/starter/entities/tasks/migrations/001_tasks_table.sql +104 -0
  872. package/templates/contents/themes/starter/entities/tasks/migrations/002_task_metas.sql +84 -0
  873. package/templates/contents/themes/starter/entities/tasks/migrations/003_tasks_sample_data.sql +172 -0
  874. package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +131 -0
  875. package/templates/contents/themes/starter/entities/tasks/tasks.fields.ts +188 -0
  876. package/templates/contents/themes/starter/entities/tasks/tasks.service.ts +390 -0
  877. package/templates/contents/themes/starter/entities/tasks/tasks.types.ts +82 -0
  878. package/templates/contents/themes/starter/lib/hooks/index.ts +1 -0
  879. package/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +57 -0
  880. package/templates/contents/themes/starter/lib/index.ts +8 -0
  881. package/templates/contents/themes/starter/lib/selectors.ts +94 -0
  882. package/templates/contents/themes/starter/lib/utils.ts +154 -0
  883. package/templates/contents/themes/starter/messages/de/analytics.json +39 -0
  884. package/templates/contents/themes/starter/messages/de/common.json +33 -0
  885. package/templates/contents/themes/starter/messages/de/home.json +30 -0
  886. package/templates/contents/themes/starter/messages/de/navigation.json +16 -0
  887. package/templates/contents/themes/starter/messages/en/analytics.json +39 -0
  888. package/templates/contents/themes/starter/messages/en/common.json +33 -0
  889. package/templates/contents/themes/starter/messages/en/home.json +30 -0
  890. package/templates/contents/themes/starter/messages/en/navigation.json +16 -0
  891. package/templates/contents/themes/starter/messages/es/analytics.json +39 -0
  892. package/templates/contents/themes/starter/messages/es/common.json +33 -0
  893. package/templates/contents/themes/starter/messages/es/home.json +30 -0
  894. package/templates/contents/themes/starter/messages/es/navigation.json +16 -0
  895. package/templates/contents/themes/starter/messages/fr/analytics.json +39 -0
  896. package/templates/contents/themes/starter/messages/fr/common.json +33 -0
  897. package/templates/contents/themes/starter/messages/fr/home.json +30 -0
  898. package/templates/contents/themes/starter/messages/fr/navigation.json +16 -0
  899. package/templates/contents/themes/starter/messages/it/analytics.json +39 -0
  900. package/templates/contents/themes/starter/messages/it/common.json +33 -0
  901. package/templates/contents/themes/starter/messages/it/home.json +30 -0
  902. package/templates/contents/themes/starter/messages/it/navigation.json +16 -0
  903. package/templates/contents/themes/starter/messages/pt/analytics.json +39 -0
  904. package/templates/contents/themes/starter/messages/pt/common.json +33 -0
  905. package/templates/contents/themes/starter/messages/pt/home.json +30 -0
  906. package/templates/contents/themes/starter/messages/pt/navigation.json +16 -0
  907. package/templates/contents/themes/starter/migrations/001_starter_users.sql +17 -0
  908. package/templates/contents/themes/starter/migrations/README.md +19 -0
  909. package/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
  910. package/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +1 -0
  911. package/templates/contents/themes/starter/styles/components.css +16 -0
  912. package/templates/contents/themes/starter/styles/globals.css +20 -0
  913. package/templates/contents/themes/starter/templates/(dashboard)/analytics/_hooks/useAnalyticsData.ts +41 -0
  914. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/RecentActivity.tsx +78 -0
  915. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/StatsCard.tsx +58 -0
  916. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/TasksChart.tsx +80 -0
  917. package/templates/contents/themes/starter/templates/(dashboard)/analytics/page.tsx +45 -0
  918. package/templates/contents/themes/starter/templates/(public)/layout.tsx +15 -0
  919. package/templates/contents/themes/starter/templates/(public)/page.tsx +37 -0
  920. package/templates/contents/themes/starter/templates/(public)/support/page.tsx +14 -0
  921. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/TaskAPIController.js +240 -0
  922. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/TasksPOM.ts +246 -0
  923. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/tasks-crud.cy.ts +423 -0
  924. package/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +63 -0
  925. package/templates/contents/themes/starter/tests/cypress/src/controllers/BaseAPIController.js +317 -0
  926. package/templates/contents/themes/starter/tests/cypress/src/controllers/index.js +12 -0
  927. package/templates/contents/themes/starter/tests/cypress/src/core/AuthPOM.ts +464 -0
  928. package/templates/contents/themes/starter/tests/cypress/src/core/BasePOM.ts +130 -0
  929. package/templates/contents/themes/starter/tests/cypress/src/core/DashboardEntityPOM.ts +761 -0
  930. package/templates/contents/themes/starter/tests/cypress/src/core/index.ts +12 -0
  931. package/templates/contents/themes/starter/tests/cypress/src/helpers/ApiInterceptor.ts +170 -0
  932. package/templates/contents/themes/starter/tests/cypress/src/selectors.ts +155 -0
  933. package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +255 -0
  934. package/templates/contents/themes/starter/tests/cypress/support/commands.ts +192 -0
  935. package/templates/contents/themes/starter/tests/cypress/support/doc-commands.ts +260 -0
  936. package/templates/contents/themes/starter/tests/cypress/support/e2e.ts +21 -0
  937. package/templates/contents/themes/starter/tests/cypress.config.ts +155 -0
  938. package/templates/contents/themes/starter/tests/tsconfig.json +15 -0
  939. package/templates/eslint.config.mjs +16 -0
  940. package/templates/features/blog/blocks/post-content/component.tsx +197 -0
  941. package/templates/features/blog/blocks/post-content/config.ts +11 -0
  942. package/templates/features/blog/blocks/post-content/examples.ts +33 -0
  943. package/templates/features/blog/blocks/post-content/fields.ts +165 -0
  944. package/templates/features/blog/blocks/post-content/index.ts +4 -0
  945. package/templates/features/blog/blocks/post-content/schema.ts +46 -0
  946. package/templates/features/blog/entities/posts/components/post-header.tsx +97 -0
  947. package/templates/features/blog/entities/posts/messages/en.json +55 -0
  948. package/templates/features/blog/entities/posts/messages/es.json +55 -0
  949. package/templates/features/blog/entities/posts/migrations/001_posts_table.sql +115 -0
  950. package/templates/features/blog/entities/posts/migrations/003_add_status.sql +44 -0
  951. package/templates/features/blog/entities/posts/migrations/004_entity_taxonomy_relations.sql +129 -0
  952. package/templates/features/blog/entities/posts/migrations/006_posts_metas.sql +56 -0
  953. package/templates/features/blog/entities/posts/posts.config.ts +112 -0
  954. package/templates/features/blog/entities/posts/posts.fields.ts +116 -0
  955. package/templates/features/blog/entities/posts/posts.service.ts +376 -0
  956. package/templates/features/blog/entities/posts/posts.types.ts +74 -0
  957. package/templates/features/pages/entities/pages/messages/en.json +41 -0
  958. package/templates/features/pages/entities/pages/messages/es.json +41 -0
  959. package/templates/features/pages/entities/pages/migrations/001_pages_table.sql +112 -0
  960. package/templates/features/pages/entities/pages/migrations/002_pages_metas.sql +56 -0
  961. package/templates/features/pages/entities/pages/migrations/003_add_status.sql +50 -0
  962. package/templates/features/pages/entities/pages/pages-management.service.ts +610 -0
  963. package/templates/features/pages/entities/pages/pages.config.ts +105 -0
  964. package/templates/features/pages/entities/pages/pages.fields.ts +101 -0
  965. package/templates/features/pages/entities/pages/pages.service.ts +290 -0
  966. package/templates/features/pages/entities/pages/pages.types.ts +124 -0
  967. package/dist/templates/contents/themes/default/messages/en.json +0 -934
  968. package/dist/templates/contents/themes/default/messages/en.json.backup +0 -934
  969. package/dist/templates/contents/themes/default/messages/es.json +0 -929
  970. package/templates/contents/themes/default/messages/en.json +0 -934
  971. package/templates/contents/themes/default/messages/en.json.backup +0 -934
  972. package/templates/contents/themes/default/messages/es.json +0 -929
@@ -0,0 +1,39 @@
1
+ {
2
+ "title": "Analisi",
3
+ "description": "Monitora la produttività e il completamento delle attività del tuo team",
4
+ "stats": {
5
+ "totalTasks": "Attività Totali",
6
+ "completedToday": "Completate Oggi",
7
+ "overdue": "In Ritardo",
8
+ "avgCompletionTime": "Tempo Medio di Completamento"
9
+ },
10
+ "chart": {
11
+ "title": "Progresso Settimanale",
12
+ "completed": "Completate",
13
+ "created": "Create",
14
+ "note": "Attività delle ultime 7 giorni"
15
+ },
16
+ "charts": {
17
+ "weeklyProgress": "Progresso Settimanale",
18
+ "tasksByStatus": "Attività per Stato",
19
+ "tasksByPriority": "Attività per Priorità",
20
+ "completionRate": "Tasso di Completamento"
21
+ },
22
+ "activity": {
23
+ "title": "Attività Recente",
24
+ "empty": "Nessuna attività recente",
25
+ "actions": {
26
+ "created": "ha creato",
27
+ "completed": "ha completato",
28
+ "updated": "ha aggiornato",
29
+ "deleted": "ha eliminato"
30
+ }
31
+ },
32
+ "timeRanges": {
33
+ "today": "Oggi",
34
+ "thisWeek": "Questa Settimana",
35
+ "thisMonth": "Questo Mese",
36
+ "last30Days": "Ultimi 30 Giorni",
37
+ "custom": "Intervallo Personalizzato"
38
+ }
39
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "appName": "Starter",
3
+ "loading": "Caricamento...",
4
+ "error": "Si è verificato un errore",
5
+ "retry": "Riprova",
6
+ "cancel": "Annulla",
7
+ "save": "Salva",
8
+ "delete": "Elimina",
9
+ "edit": "Modifica",
10
+ "create": "Crea",
11
+ "search": "Cerca...",
12
+ "noResults": "Nessun risultato trovato",
13
+ "confirm": "Conferma",
14
+ "back": "Indietro",
15
+ "next": "Avanti",
16
+ "previous": "Precedente",
17
+ "close": "Chiudi",
18
+ "open": "Apri",
19
+ "yes": "Sì",
20
+ "no": "No",
21
+ "all": "Tutti",
22
+ "none": "Nessuno",
23
+ "selected": "{count} selezionati",
24
+ "showing": "Visualizzazione da {from} a {to} di {total}",
25
+ "itemsPerPage": "Elementi per pagina",
26
+ "sortBy": "Ordina per",
27
+ "filterBy": "Filtra per",
28
+ "clearFilters": "Cancella filtri",
29
+ "export": "Esporta",
30
+ "import": "Importa",
31
+ "download": "Scarica",
32
+ "upload": "Carica"
33
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "hero": {
3
+ "title": "Benvenuto su Starter",
4
+ "subtitle": "Un tema NextSpark minimalista per avviare il tuo progetto",
5
+ "cta": "Inizia"
6
+ },
7
+ "features": {
8
+ "title": "Funzionalità",
9
+ "subtitle": "Tutto ciò di cui hai bisogno per costruire la tua applicazione",
10
+ "items": {
11
+ "tasks": {
12
+ "title": "Gestione Attività",
13
+ "description": "Organizza e monitora le tue attività in modo efficiente"
14
+ },
15
+ "analytics": {
16
+ "title": "Dashboard Analitica",
17
+ "description": "Monitora la produttività del tuo team"
18
+ },
19
+ "teams": {
20
+ "title": "Collaborazione di Team",
21
+ "description": "Lavora insieme senza problemi"
22
+ }
23
+ }
24
+ },
25
+ "cta": {
26
+ "title": "Pronto per iniziare?",
27
+ "subtitle": "Crea la tua prima attività e inizia a monitorare i tuoi progressi",
28
+ "button": "Crea Attività"
29
+ }
30
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "dashboard": "Pannello di Controllo",
3
+ "home": "Home",
4
+ "tasks": "Attività",
5
+ "analytics": "Analisi",
6
+ "settings": "Impostazioni",
7
+ "profile": "Profilo",
8
+ "team": "Team",
9
+ "billing": "Fatturazione",
10
+ "help": "Aiuto",
11
+ "logout": "Esci",
12
+ "notifications": "Notifiche",
13
+ "search": "Cerca",
14
+ "quickCreate": "Creazione Rapida",
15
+ "viewAll": "Vedi Tutto"
16
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "title": "Análises",
3
+ "description": "Acompanhe a produtividade e conclusão de tarefas da sua equipe",
4
+ "stats": {
5
+ "totalTasks": "Total de Tarefas",
6
+ "completedToday": "Concluídas Hoje",
7
+ "overdue": "Atrasadas",
8
+ "avgCompletionTime": "Tempo Médio de Conclusão"
9
+ },
10
+ "chart": {
11
+ "title": "Progresso Semanal",
12
+ "completed": "Concluídas",
13
+ "created": "Criadas",
14
+ "note": "Atividade de tarefas dos últimos 7 dias"
15
+ },
16
+ "charts": {
17
+ "weeklyProgress": "Progresso Semanal",
18
+ "tasksByStatus": "Tarefas por Status",
19
+ "tasksByPriority": "Tarefas por Prioridade",
20
+ "completionRate": "Taxa de Conclusão"
21
+ },
22
+ "activity": {
23
+ "title": "Atividade Recente",
24
+ "empty": "Nenhuma atividade recente",
25
+ "actions": {
26
+ "created": "criou",
27
+ "completed": "concluiu",
28
+ "updated": "atualizou",
29
+ "deleted": "excluiu"
30
+ }
31
+ },
32
+ "timeRanges": {
33
+ "today": "Hoje",
34
+ "thisWeek": "Esta Semana",
35
+ "thisMonth": "Este Mês",
36
+ "last30Days": "Últimos 30 Dias",
37
+ "custom": "Período Personalizado"
38
+ }
39
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "appName": "Starter",
3
+ "loading": "Carregando...",
4
+ "error": "Ocorreu um erro",
5
+ "retry": "Tentar novamente",
6
+ "cancel": "Cancelar",
7
+ "save": "Salvar",
8
+ "delete": "Excluir",
9
+ "edit": "Editar",
10
+ "create": "Criar",
11
+ "search": "Pesquisar...",
12
+ "noResults": "Nenhum resultado encontrado",
13
+ "confirm": "Confirmar",
14
+ "back": "Voltar",
15
+ "next": "Próximo",
16
+ "previous": "Anterior",
17
+ "close": "Fechar",
18
+ "open": "Abrir",
19
+ "yes": "Sim",
20
+ "no": "Não",
21
+ "all": "Todos",
22
+ "none": "Nenhum",
23
+ "selected": "{count} selecionados",
24
+ "showing": "Mostrando {from} a {to} de {total}",
25
+ "itemsPerPage": "Itens por página",
26
+ "sortBy": "Ordenar por",
27
+ "filterBy": "Filtrar por",
28
+ "clearFilters": "Limpar filtros",
29
+ "export": "Exportar",
30
+ "import": "Importar",
31
+ "download": "Baixar",
32
+ "upload": "Enviar"
33
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "hero": {
3
+ "title": "Bem-vindo ao Starter",
4
+ "subtitle": "Um tema NextSpark minimalista para iniciar seu projeto",
5
+ "cta": "Começar"
6
+ },
7
+ "features": {
8
+ "title": "Funcionalidades",
9
+ "subtitle": "Tudo o que você precisa para construir sua aplicação",
10
+ "items": {
11
+ "tasks": {
12
+ "title": "Gestão de Tarefas",
13
+ "description": "Organize e acompanhe suas tarefas com eficiência"
14
+ },
15
+ "analytics": {
16
+ "title": "Painel de Análises",
17
+ "description": "Monitore a produtividade da sua equipe"
18
+ },
19
+ "teams": {
20
+ "title": "Colaboração em Equipe",
21
+ "description": "Trabalhe em conjunto sem problemas"
22
+ }
23
+ }
24
+ },
25
+ "cta": {
26
+ "title": "Pronto para começar?",
27
+ "subtitle": "Crie sua primeira tarefa e comece a acompanhar seu progresso",
28
+ "button": "Criar Tarefa"
29
+ }
30
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "dashboard": "Painel",
3
+ "home": "Início",
4
+ "tasks": "Tarefas",
5
+ "analytics": "Análises",
6
+ "settings": "Configurações",
7
+ "profile": "Perfil",
8
+ "team": "Equipe",
9
+ "billing": "Faturamento",
10
+ "help": "Ajuda",
11
+ "logout": "Sair",
12
+ "notifications": "Notificações",
13
+ "search": "Pesquisar",
14
+ "quickCreate": "Criação Rápida",
15
+ "viewAll": "Ver Tudo"
16
+ }
@@ -0,0 +1,17 @@
1
+ -- Starter Theme: Sample Users for Development
2
+ -- These users work with the DevKeyring for quick login during development
3
+
4
+ -- Note: Core users (superadmin, developer) are created by core migrations
5
+ -- This file creates theme-specific demo users
6
+
7
+ -- Insert sample users for the starter theme
8
+ -- Password: Test1234 (hashed)
9
+ INSERT INTO "user" (id, name, email, email_verified, created_at, updated_at)
10
+ VALUES
11
+ ('starter-owner-001', 'Owner User', 'owner@starter.dev', true, NOW(), NOW()),
12
+ ('starter-admin-001', 'Admin User', 'admin@starter.dev', true, NOW(), NOW()),
13
+ ('starter-member-001', 'Member User', 'member@starter.dev', true, NOW(), NOW())
14
+ ON CONFLICT (email) DO NOTHING;
15
+
16
+ -- Note: Actual password hashes should be generated by the auth system
17
+ -- The DevKeyring handles authentication in development mode
@@ -0,0 +1,19 @@
1
+ # Theme Migrations
2
+
3
+ This folder contains database migrations specific to this theme.
4
+
5
+ ## Migration Files
6
+
7
+ - `001_starter_users.sql` - Creates sample users for development
8
+
9
+ ## Running Migrations
10
+
11
+ ```bash
12
+ pnpm db:migrate
13
+ ```
14
+
15
+ ## Creating New Migrations
16
+
17
+ 1. Create a new SQL file with the next number prefix
18
+ 2. Follow the naming convention: `NNN_description.sql`
19
+ 3. Include proper comments explaining the migration
@@ -0,0 +1 @@
1
+ Placeholder thumbnail for hero block
@@ -0,0 +1,16 @@
1
+ /* Starter Theme Component Styles */
2
+
3
+ /* Hero block styles */
4
+ .hero-section {
5
+ @apply relative min-h-[60vh] flex items-center justify-center;
6
+ }
7
+
8
+ /* Stats card styles */
9
+ .stats-card {
10
+ @apply transition-shadow hover:shadow-md;
11
+ }
12
+
13
+ /* Analytics chart container */
14
+ .chart-container {
15
+ @apply w-full h-[300px];
16
+ }
@@ -0,0 +1,20 @@
1
+ /* Starter Theme Global Styles */
2
+
3
+ /* Import base styles from core */
4
+ @import '@nextsparkjs/core/styles/globals.css';
5
+
6
+ /* Theme-specific CSS variables */
7
+ :root {
8
+ /* Custom spacing */
9
+ --spacing-xs: 0.125rem;
10
+ --spacing-sm: 0.25rem;
11
+ --spacing-md: 0.5rem;
12
+ --spacing-lg: 1rem;
13
+ --spacing-xl: 1.5rem;
14
+ --spacing-2xl: 2rem;
15
+ }
16
+
17
+ /* Dark mode overrides if needed */
18
+ .dark {
19
+ /* Custom dark mode variables */
20
+ }
@@ -0,0 +1,41 @@
1
+ 'use client'
2
+
3
+ import { useQuery } from '@tanstack/react-query'
4
+ import { useTeamContext } from '@nextsparkjs/core/contexts/TeamContext'
5
+
6
+ interface WeeklyProgress {
7
+ day: string
8
+ completed: number
9
+ created: number
10
+ }
11
+
12
+ interface ActivityItem {
13
+ id: string
14
+ action: 'created' | 'completed' | 'updated'
15
+ task: string
16
+ time: string
17
+ }
18
+
19
+ interface AnalyticsData {
20
+ totalTasks: number
21
+ completedToday: number
22
+ overdue: number
23
+ avgCompletionTime: number
24
+ weeklyProgress: WeeklyProgress[]
25
+ recentActivity: ActivityItem[]
26
+ }
27
+
28
+ export function useAnalyticsData() {
29
+ const { currentTeam } = useTeamContext()
30
+
31
+ return useQuery({
32
+ queryKey: ['analytics', currentTeam?.id],
33
+ queryFn: async (): Promise<AnalyticsData> => {
34
+ const res = await fetch(`/api/v1/analytics?teamId=${currentTeam?.id}`)
35
+ if (!res.ok) throw new Error('Failed to fetch analytics')
36
+ return res.json()
37
+ },
38
+ enabled: !!currentTeam?.id,
39
+ staleTime: 1000 * 60 * 5, // 5 minutes
40
+ })
41
+ }
@@ -0,0 +1,78 @@
1
+ 'use client'
2
+
3
+ import { useTranslations } from 'next-intl'
4
+ import { Card, CardContent, CardHeader, CardTitle } from '@nextsparkjs/core/components/ui/card'
5
+ import { cn } from '@nextsparkjs/core/lib/utils'
6
+ import { CheckCircle, Plus, Pencil, type LucideIcon } from 'lucide-react'
7
+
8
+ interface ActivityItem {
9
+ id: string
10
+ action: 'created' | 'completed' | 'updated'
11
+ task: string
12
+ time: string
13
+ }
14
+
15
+ // Sample activity data
16
+ const recentActivities: ActivityItem[] = [
17
+ { id: '1', action: 'completed', task: 'Update user authentication flow', time: '5 minutes ago' },
18
+ { id: '2', action: 'created', task: 'Design new dashboard layout', time: '12 minutes ago' },
19
+ { id: '3', action: 'updated', task: 'Fix pagination bug in reports', time: '28 minutes ago' },
20
+ { id: '4', action: 'completed', task: 'Write API documentation', time: '1 hour ago' },
21
+ { id: '5', action: 'created', task: 'Implement dark mode toggle', time: '2 hours ago' },
22
+ { id: '6', action: 'completed', task: 'Code review for PR #42', time: '3 hours ago' },
23
+ ]
24
+
25
+ const actionConfig: Record<ActivityItem['action'], { icon: LucideIcon; color: string }> = {
26
+ completed: {
27
+ icon: CheckCircle,
28
+ color: 'text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30',
29
+ },
30
+ created: {
31
+ icon: Plus,
32
+ color: 'text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30',
33
+ },
34
+ updated: {
35
+ icon: Pencil,
36
+ color: 'text-orange-600 dark:text-orange-400 bg-orange-100 dark:bg-orange-900/30',
37
+ },
38
+ }
39
+
40
+ export function RecentActivity() {
41
+ const t = useTranslations('analytics')
42
+
43
+ return (
44
+ <Card data-cy="recent-activity">
45
+ <CardHeader>
46
+ <CardTitle>{t('activity.title')}</CardTitle>
47
+ </CardHeader>
48
+ <CardContent>
49
+ <div className="space-y-4">
50
+ {recentActivities.map((activity) => {
51
+ const config = actionConfig[activity.action]
52
+ const Icon = config.icon
53
+
54
+ return (
55
+ <div
56
+ key={activity.id}
57
+ className="flex items-start gap-3"
58
+ data-cy="activity-item"
59
+ >
60
+ <div className={cn('p-1.5 rounded-full', config.color)}>
61
+ <Icon className="h-3 w-3" />
62
+ </div>
63
+ <div className="flex-1 min-w-0">
64
+ <p className="text-sm font-medium leading-tight truncate">
65
+ {activity.task}
66
+ </p>
67
+ <p className="text-xs text-muted-foreground mt-0.5">
68
+ {t(`activity.actions.${activity.action}`)} - {activity.time}
69
+ </p>
70
+ </div>
71
+ </div>
72
+ )
73
+ })}
74
+ </div>
75
+ </CardContent>
76
+ </Card>
77
+ )
78
+ }
@@ -0,0 +1,58 @@
1
+ 'use client'
2
+
3
+ import { Card, CardContent, CardHeader, CardTitle } from '@nextsparkjs/core/components/ui/card'
4
+ import { cn } from '@nextsparkjs/core/lib/utils'
5
+ import {
6
+ CheckSquare,
7
+ CheckCircle,
8
+ AlertCircle,
9
+ Clock,
10
+ TrendingUp,
11
+ TrendingDown,
12
+ type LucideIcon,
13
+ } from 'lucide-react'
14
+
15
+ const iconMap: Record<string, LucideIcon> = {
16
+ CheckSquare,
17
+ CheckCircle,
18
+ AlertCircle,
19
+ Clock,
20
+ }
21
+
22
+ interface StatsCardProps {
23
+ title: string
24
+ value: string
25
+ change: string
26
+ trend: 'up' | 'down'
27
+ icon: keyof typeof iconMap
28
+ }
29
+
30
+ export function StatsCard({ title, value, change, trend, icon }: StatsCardProps) {
31
+ const Icon = iconMap[icon] || CheckSquare
32
+ const TrendIcon = trend === 'up' ? TrendingUp : TrendingDown
33
+ const isPositive = trend === 'up'
34
+
35
+ return (
36
+ <Card data-cy="stats-card">
37
+ <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
38
+ <CardTitle className="text-sm font-medium">{title}</CardTitle>
39
+ <Icon className="h-4 w-4 text-muted-foreground" />
40
+ </CardHeader>
41
+ <CardContent>
42
+ <div className="text-2xl font-bold">{value}</div>
43
+ <p className="text-xs text-muted-foreground">
44
+ <span
45
+ className={cn(
46
+ 'inline-flex items-center gap-1',
47
+ isPositive ? 'text-green-600 dark:text-green-400' : 'text-red-600 dark:text-red-400'
48
+ )}
49
+ >
50
+ <TrendIcon className="h-3 w-3" />
51
+ {change}
52
+ </span>{' '}
53
+ from last period
54
+ </p>
55
+ </CardContent>
56
+ </Card>
57
+ )
58
+ }
@@ -0,0 +1,80 @@
1
+ 'use client'
2
+
3
+ import { useTranslations } from 'next-intl'
4
+ import { Card, CardContent, CardHeader, CardTitle } from '@nextsparkjs/core/components/ui/card'
5
+ import { cn } from '@nextsparkjs/core/lib/utils'
6
+
7
+ // Sample data for the chart
8
+ const weeklyData = [
9
+ { day: 'Mon', completed: 12, created: 8 },
10
+ { day: 'Tue', completed: 18, created: 14 },
11
+ { day: 'Wed', completed: 15, created: 12 },
12
+ { day: 'Thu', completed: 22, created: 16 },
13
+ { day: 'Fri', completed: 28, created: 20 },
14
+ { day: 'Sat', completed: 8, created: 4 },
15
+ { day: 'Sun', completed: 5, created: 2 },
16
+ ]
17
+
18
+ // Calculate max value for scaling
19
+ const maxValue = Math.max(...weeklyData.flatMap((d) => [d.completed, d.created]))
20
+
21
+ export function TasksChart() {
22
+ const t = useTranslations('analytics')
23
+
24
+ return (
25
+ <Card data-cy="tasks-chart">
26
+ <CardHeader>
27
+ <CardTitle>{t('chart.title')}</CardTitle>
28
+ </CardHeader>
29
+ <CardContent>
30
+ <div className="space-y-4">
31
+ {/* Legend */}
32
+ <div className="flex items-center gap-4 text-sm">
33
+ <div className="flex items-center gap-2">
34
+ <div className="h-3 w-3 rounded-full bg-primary" />
35
+ <span className="text-muted-foreground">{t('chart.completed')}</span>
36
+ </div>
37
+ <div className="flex items-center gap-2">
38
+ <div className="h-3 w-3 rounded-full bg-muted-foreground/40" />
39
+ <span className="text-muted-foreground">{t('chart.created')}</span>
40
+ </div>
41
+ </div>
42
+
43
+ {/* Simple Bar Chart */}
44
+ <div className="flex items-end gap-2 h-[200px]">
45
+ {weeklyData.map((data) => (
46
+ <div key={data.day} className="flex-1 flex flex-col items-center gap-1">
47
+ <div className="flex items-end gap-0.5 h-[160px] w-full">
48
+ {/* Completed bar */}
49
+ <div
50
+ className={cn(
51
+ 'flex-1 bg-primary rounded-t-sm transition-all duration-300',
52
+ 'hover:bg-primary/80'
53
+ )}
54
+ style={{ height: `${(data.completed / maxValue) * 100}%` }}
55
+ title={`${t('chart.completed')}: ${data.completed}`}
56
+ />
57
+ {/* Created bar */}
58
+ <div
59
+ className={cn(
60
+ 'flex-1 bg-muted-foreground/40 rounded-t-sm transition-all duration-300',
61
+ 'hover:bg-muted-foreground/60'
62
+ )}
63
+ style={{ height: `${(data.created / maxValue) * 100}%` }}
64
+ title={`${t('chart.created')}: ${data.created}`}
65
+ />
66
+ </div>
67
+ <span className="text-xs text-muted-foreground">{data.day}</span>
68
+ </div>
69
+ ))}
70
+ </div>
71
+
72
+ {/* Chart note */}
73
+ <p className="text-xs text-muted-foreground text-center">
74
+ {t('chart.note')}
75
+ </p>
76
+ </div>
77
+ </CardContent>
78
+ </Card>
79
+ )
80
+ }
@@ -0,0 +1,45 @@
1
+ import { Metadata } from 'next'
2
+ import { getTranslations } from 'next-intl/server'
3
+ import { StatsCard } from './components/StatsCard'
4
+ import { TasksChart } from './components/TasksChart'
5
+ import { RecentActivity } from './components/RecentActivity'
6
+
7
+ export async function generateMetadata(): Promise<Metadata> {
8
+ const t = await getTranslations('analytics')
9
+ return {
10
+ title: t('title'),
11
+ description: t('description'),
12
+ }
13
+ }
14
+
15
+ export default async function AnalyticsPage() {
16
+ const t = await getTranslations('analytics')
17
+
18
+ return (
19
+ <div className="space-y-6" data-cy="analytics-page">
20
+ {/* Page Header */}
21
+ <div>
22
+ <h1 className="text-2xl font-bold tracking-tight">{t('title')}</h1>
23
+ <p className="text-muted-foreground">{t('description')}</p>
24
+ </div>
25
+
26
+ {/* Stats Grid - 4 cards */}
27
+ <div className="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
28
+ <StatsCard title={t('stats.totalTasks')} value="128" change="+12%" trend="up" icon="CheckSquare" />
29
+ <StatsCard title={t('stats.completedToday')} value="24" change="+8%" trend="up" icon="CheckCircle" />
30
+ <StatsCard title={t('stats.overdue')} value="3" change="-25%" trend="down" icon="AlertCircle" />
31
+ <StatsCard title={t('stats.avgCompletionTime')} value="2.4h" change="-10%" trend="down" icon="Clock" />
32
+ </div>
33
+
34
+ {/* Charts Row */}
35
+ <div className="grid gap-4 md:grid-cols-2 lg:grid-cols-7">
36
+ <div className="col-span-4">
37
+ <TasksChart />
38
+ </div>
39
+ <div className="col-span-3">
40
+ <RecentActivity />
41
+ </div>
42
+ </div>
43
+ </div>
44
+ )
45
+ }
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react'
2
+
3
+ interface PublicLayoutProps {
4
+ children: ReactNode
5
+ }
6
+
7
+ export default function PublicLayout({ children }: PublicLayoutProps) {
8
+ return (
9
+ <div className="min-h-screen bg-background">
10
+ {/* Add public header/nav here if needed */}
11
+ {children}
12
+ {/* Add public footer here if needed */}
13
+ </div>
14
+ )
15
+ }