@qlover/create-app 1.1.0 → 2.0.2

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 (556) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/package.json +5 -4
  5. package/dist/configs/_common/.editorconfig +0 -23
  6. package/dist/configs/_common/.env.template +0 -13
  7. package/dist/configs/_common/.gitattributes +0 -2
  8. package/dist/configs/_common/.github/workflows/general-check.yml +0 -41
  9. package/dist/configs/_common/.github/workflows/release.yml +0 -81
  10. package/dist/configs/_common/.gitignore.template +0 -64
  11. package/dist/configs/_common/.husky/commit-msg +0 -3
  12. package/dist/configs/_common/.husky/pre-commit +0 -3
  13. package/dist/configs/_common/.prettierignore +0 -17
  14. package/dist/configs/_common/.prettierrc.js +0 -7
  15. package/dist/configs/_common/.vscode/extensions.json +0 -9
  16. package/dist/configs/_common/.vscode/react.code-snippets +0 -19
  17. package/dist/configs/_common/.vscode/settings.json +0 -16
  18. package/dist/configs/_common/commitlint.config.js +0 -10
  19. package/dist/configs/_common/package.json.template +0 -75
  20. package/dist/configs/node-lib/eslint.config.js +0 -50
  21. package/dist/templates/next-app/.env.template +0 -25
  22. package/dist/templates/next-app/.prettierignore +0 -58
  23. package/dist/templates/next-app/README.en.md +0 -130
  24. package/dist/templates/next-app/README.md +0 -130
  25. package/dist/templates/next-app/config/IOCIdentifier.ts +0 -74
  26. package/dist/templates/next-app/config/Identifier/api.ts +0 -41
  27. package/dist/templates/next-app/config/Identifier/common/admint.table.ts +0 -69
  28. package/dist/templates/next-app/config/Identifier/common/common.ts +0 -90
  29. package/dist/templates/next-app/config/Identifier/common/index.ts +0 -3
  30. package/dist/templates/next-app/config/Identifier/common/validators.ts +0 -34
  31. package/dist/templates/next-app/config/Identifier/index.ts +0 -3
  32. package/dist/templates/next-app/config/Identifier/pages/index.ts +0 -7
  33. package/dist/templates/next-app/config/Identifier/pages/page.about.ts +0 -20
  34. package/dist/templates/next-app/config/Identifier/pages/page.admin.home.ts +0 -27
  35. package/dist/templates/next-app/config/Identifier/pages/page.admin.locales.ts +0 -266
  36. package/dist/templates/next-app/config/Identifier/pages/page.admin.user.ts +0 -293
  37. package/dist/templates/next-app/config/Identifier/pages/page.home.ts +0 -56
  38. package/dist/templates/next-app/config/Identifier/pages/page.login.ts +0 -159
  39. package/dist/templates/next-app/config/Identifier/pages/page.register.ts +0 -177
  40. package/dist/templates/next-app/config/adminNavs.ts +0 -19
  41. package/dist/templates/next-app/config/common.ts +0 -43
  42. package/dist/templates/next-app/config/cookies.ts +0 -23
  43. package/dist/templates/next-app/config/i18n/AboutI18n.ts +0 -14
  44. package/dist/templates/next-app/config/i18n/HomeI18n.ts +0 -24
  45. package/dist/templates/next-app/config/i18n/PageI18nInterface.ts +0 -51
  46. package/dist/templates/next-app/config/i18n/admin18n.ts +0 -75
  47. package/dist/templates/next-app/config/i18n/i18nConfig.ts +0 -16
  48. package/dist/templates/next-app/config/i18n/i18nKeyScheam.ts +0 -36
  49. package/dist/templates/next-app/config/i18n/index.ts +0 -7
  50. package/dist/templates/next-app/config/i18n/loginI18n.ts +0 -50
  51. package/dist/templates/next-app/config/i18n/register18n.ts +0 -44
  52. package/dist/templates/next-app/config/route.ts +0 -9
  53. package/dist/templates/next-app/config/theme.ts +0 -28
  54. package/dist/templates/next-app/docs/en/api.md +0 -387
  55. package/dist/templates/next-app/docs/en/component.md +0 -544
  56. package/dist/templates/next-app/docs/en/database.md +0 -496
  57. package/dist/templates/next-app/docs/en/development-guide.md +0 -727
  58. package/dist/templates/next-app/docs/en/env.md +0 -563
  59. package/dist/templates/next-app/docs/en/i18n.md +0 -287
  60. package/dist/templates/next-app/docs/en/index.md +0 -165
  61. package/dist/templates/next-app/docs/en/page.md +0 -457
  62. package/dist/templates/next-app/docs/en/project-structure.md +0 -176
  63. package/dist/templates/next-app/docs/en/router.md +0 -427
  64. package/dist/templates/next-app/docs/en/theme.md +0 -532
  65. package/dist/templates/next-app/docs/en/validator.md +0 -478
  66. package/dist/templates/next-app/docs/zh/api.md +0 -387
  67. package/dist/templates/next-app/docs/zh/component.md +0 -544
  68. package/dist/templates/next-app/docs/zh/database.md +0 -496
  69. package/dist/templates/next-app/docs/zh/development-guide.md +0 -727
  70. package/dist/templates/next-app/docs/zh/env.md +0 -563
  71. package/dist/templates/next-app/docs/zh/i18n.md +0 -287
  72. package/dist/templates/next-app/docs/zh/index.md +0 -165
  73. package/dist/templates/next-app/docs/zh/page.md +0 -457
  74. package/dist/templates/next-app/docs/zh/project-structure.md +0 -176
  75. package/dist/templates/next-app/docs/zh/router.md +0 -427
  76. package/dist/templates/next-app/docs/zh/theme.md +0 -532
  77. package/dist/templates/next-app/docs/zh/validator.md +0 -476
  78. package/dist/templates/next-app/eslint.config.mjs +0 -285
  79. package/dist/templates/next-app/make/generateLocales.ts +0 -32
  80. package/dist/templates/next-app/migrations/schema/LocalesSchema.ts +0 -15
  81. package/dist/templates/next-app/migrations/schema/UserSchema.ts +0 -38
  82. package/dist/templates/next-app/migrations/sql/1694244000000.sql +0 -21
  83. package/dist/templates/next-app/next.config.ts +0 -25
  84. package/dist/templates/next-app/package.json +0 -87
  85. package/dist/templates/next-app/postcss.config.mjs +0 -5
  86. package/dist/templates/next-app/public/favicon.ico +0 -0
  87. package/dist/templates/next-app/public/file.svg +0 -1
  88. package/dist/templates/next-app/public/globe.svg +0 -1
  89. package/dist/templates/next-app/public/locales/en.json +0 -182
  90. package/dist/templates/next-app/public/locales/zh.json +0 -182
  91. package/dist/templates/next-app/public/next.svg +0 -1
  92. package/dist/templates/next-app/public/vercel.svg +0 -1
  93. package/dist/templates/next-app/public/window.svg +0 -1
  94. package/dist/templates/next-app/src/app/[locale]/admin/AdminI18nProvider.tsx +0 -37
  95. package/dist/templates/next-app/src/app/[locale]/admin/layout.tsx +0 -42
  96. package/dist/templates/next-app/src/app/[locale]/admin/locales/page.tsx +0 -153
  97. package/dist/templates/next-app/src/app/[locale]/admin/page.tsx +0 -20
  98. package/dist/templates/next-app/src/app/[locale]/admin/users/page.tsx +0 -67
  99. package/dist/templates/next-app/src/app/[locale]/auth/layout.tsx +0 -18
  100. package/dist/templates/next-app/src/app/[locale]/auth/login/LoginForm.tsx +0 -126
  101. package/dist/templates/next-app/src/app/[locale]/auth/login/page.tsx +0 -90
  102. package/dist/templates/next-app/src/app/[locale]/auth/page.tsx +0 -8
  103. package/dist/templates/next-app/src/app/[locale]/auth/register/RegisterForm.tsx +0 -197
  104. package/dist/templates/next-app/src/app/[locale]/auth/register/page.tsx +0 -90
  105. package/dist/templates/next-app/src/app/[locale]/layout.tsx +0 -63
  106. package/dist/templates/next-app/src/app/[locale]/not-found.tsx +0 -24
  107. package/dist/templates/next-app/src/app/[locale]/page.tsx +0 -98
  108. package/dist/templates/next-app/src/app/api/admin/locales/create/route.ts +0 -13
  109. package/dist/templates/next-app/src/app/api/admin/locales/import/route.ts +0 -13
  110. package/dist/templates/next-app/src/app/api/admin/locales/route.ts +0 -20
  111. package/dist/templates/next-app/src/app/api/admin/locales/update/route.ts +0 -13
  112. package/dist/templates/next-app/src/app/api/admin/users/route.ts +0 -20
  113. package/dist/templates/next-app/src/app/api/ai/completions/route.ts +0 -32
  114. package/dist/templates/next-app/src/app/api/auth/callback/route.ts +0 -11
  115. package/dist/templates/next-app/src/app/api/callback/route.ts +0 -49
  116. package/dist/templates/next-app/src/app/api/locales/json/route.ts +0 -33
  117. package/dist/templates/next-app/src/app/api/user/login/route.ts +0 -10
  118. package/dist/templates/next-app/src/app/api/user/logout/route.ts +0 -8
  119. package/dist/templates/next-app/src/app/api/user/register/route.ts +0 -11
  120. package/dist/templates/next-app/src/app/manifest.ts +0 -16
  121. package/dist/templates/next-app/src/app/robots.txt +0 -2
  122. package/dist/templates/next-app/src/base/cases/AdminPageManager.ts +0 -28
  123. package/dist/templates/next-app/src/base/cases/AppConfig.ts +0 -40
  124. package/dist/templates/next-app/src/base/cases/Datetime.ts +0 -18
  125. package/dist/templates/next-app/src/base/cases/DialogErrorPlugin.ts +0 -57
  126. package/dist/templates/next-app/src/base/cases/DialogHandler.ts +0 -116
  127. package/dist/templates/next-app/src/base/cases/InversifyContainer.ts +0 -45
  128. package/dist/templates/next-app/src/base/cases/NavigateBridge.ts +0 -32
  129. package/dist/templates/next-app/src/base/cases/RequestEncryptPlugin.ts +0 -77
  130. package/dist/templates/next-app/src/base/cases/ResourceState.ts +0 -17
  131. package/dist/templates/next-app/src/base/cases/RouterService.ts +0 -52
  132. package/dist/templates/next-app/src/base/cases/StringEncryptor.ts +0 -73
  133. package/dist/templates/next-app/src/base/cases/TranslateI18nUtil.ts +0 -53
  134. package/dist/templates/next-app/src/base/cases/ZodColumnBuilder.ts +0 -212
  135. package/dist/templates/next-app/src/base/port/AdminLayoutInterface.ts +0 -26
  136. package/dist/templates/next-app/src/base/port/AppApiInterface.ts +0 -36
  137. package/dist/templates/next-app/src/base/port/AppUserApiInterface.ts +0 -27
  138. package/dist/templates/next-app/src/base/port/I18nServiceInterface.ts +0 -25
  139. package/dist/templates/next-app/src/base/port/IOCInterface.ts +0 -33
  140. package/dist/templates/next-app/src/base/port/RouterInterface.ts +0 -11
  141. package/dist/templates/next-app/src/base/port/UserServiceInterface.ts +0 -25
  142. package/dist/templates/next-app/src/base/port/ZodBuilderInterface.ts +0 -8
  143. package/dist/templates/next-app/src/base/services/AdminPageEvent.ts +0 -26
  144. package/dist/templates/next-app/src/base/services/AdminPageScheduler.ts +0 -42
  145. package/dist/templates/next-app/src/base/services/AppApiRequester.ts +0 -67
  146. package/dist/templates/next-app/src/base/services/AppUserGateway.ts +0 -110
  147. package/dist/templates/next-app/src/base/services/I18nService.ts +0 -87
  148. package/dist/templates/next-app/src/base/services/ResourceService.ts +0 -139
  149. package/dist/templates/next-app/src/base/services/UserService.ts +0 -68
  150. package/dist/templates/next-app/src/base/services/adminApi/AdminLocalesApi.ts +0 -106
  151. package/dist/templates/next-app/src/base/services/adminApi/AdminUserApi.ts +0 -87
  152. package/dist/templates/next-app/src/base/services/appApi/AppApiPlugin.ts +0 -110
  153. package/dist/templates/next-app/src/base/services/appApi/AppUserApiBootstrap.ts +0 -52
  154. package/dist/templates/next-app/src/base/types/AppPageRouter.ts +0 -12
  155. package/dist/templates/next-app/src/base/types/PagesRouter.ts +0 -9
  156. package/dist/templates/next-app/src/core/bootstraps/BootstrapClient.ts +0 -76
  157. package/dist/templates/next-app/src/core/bootstraps/BootstrapServer.ts +0 -125
  158. package/dist/templates/next-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -50
  159. package/dist/templates/next-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  160. package/dist/templates/next-app/src/core/bootstraps/PrintBootstrap.ts +0 -18
  161. package/dist/templates/next-app/src/core/clientIoc/ClientIOC.ts +0 -68
  162. package/dist/templates/next-app/src/core/clientIoc/ClientIOCRegister.ts +0 -100
  163. package/dist/templates/next-app/src/core/globals.ts +0 -28
  164. package/dist/templates/next-app/src/core/serverIoc/ServerIOC.ts +0 -80
  165. package/dist/templates/next-app/src/core/serverIoc/ServerIOCRegister.ts +0 -66
  166. package/dist/templates/next-app/src/i18n/loadMessages.ts +0 -103
  167. package/dist/templates/next-app/src/i18n/request.ts +0 -31
  168. package/dist/templates/next-app/src/i18n/routing.ts +0 -35
  169. package/dist/templates/next-app/src/lib/supabase/client.ts +0 -8
  170. package/dist/templates/next-app/src/lib/supabase/conts.ts +0 -2
  171. package/dist/templates/next-app/src/lib/supabase/proxy.ts +0 -84
  172. package/dist/templates/next-app/src/lib/supabase/server.ts +0 -38
  173. package/dist/templates/next-app/src/pages/[locale]/about.tsx +0 -61
  174. package/dist/templates/next-app/src/pages/_app.tsx +0 -50
  175. package/dist/templates/next-app/src/pages/_document.tsx +0 -13
  176. package/dist/templates/next-app/src/proxy.ts +0 -33
  177. package/dist/templates/next-app/src/server/AppErrorApi.ts +0 -10
  178. package/dist/templates/next-app/src/server/AppPageRouteParams.ts +0 -110
  179. package/dist/templates/next-app/src/server/AppSuccessApi.ts +0 -7
  180. package/dist/templates/next-app/src/server/NextApiServer.ts +0 -61
  181. package/dist/templates/next-app/src/server/PagesRouteParams.ts +0 -145
  182. package/dist/templates/next-app/src/server/PasswordEncrypt.ts +0 -18
  183. package/dist/templates/next-app/src/server/ServerAuth.ts +0 -81
  184. package/dist/templates/next-app/src/server/SupabaseBridge.ts +0 -262
  185. package/dist/templates/next-app/src/server/UserCredentialToken.ts +0 -53
  186. package/dist/templates/next-app/src/server/controllers/AdminLocalesController.ts +0 -86
  187. package/dist/templates/next-app/src/server/controllers/AdminUserController.ts +0 -42
  188. package/dist/templates/next-app/src/server/controllers/LocalesController.ts +0 -36
  189. package/dist/templates/next-app/src/server/controllers/UserController.ts +0 -91
  190. package/dist/templates/next-app/src/server/port/AIControllerInterface.ts +0 -8
  191. package/dist/templates/next-app/src/server/port/AdminLocalesControllerInterface.ts +0 -21
  192. package/dist/templates/next-app/src/server/port/AdminUserControllerInterface.ts +0 -11
  193. package/dist/templates/next-app/src/server/port/CrentialTokenInterface.ts +0 -5
  194. package/dist/templates/next-app/src/server/port/DBBridgeInterface.ts +0 -36
  195. package/dist/templates/next-app/src/server/port/DBTableInterface.ts +0 -12
  196. package/dist/templates/next-app/src/server/port/LocalesControllerInterface.ts +0 -10
  197. package/dist/templates/next-app/src/server/port/LocalesRepositoryInterface.ts +0 -43
  198. package/dist/templates/next-app/src/server/port/PaginationInterface.ts +0 -6
  199. package/dist/templates/next-app/src/server/port/RouteParamsnHandlerInterface.ts +0 -18
  200. package/dist/templates/next-app/src/server/port/ServerAuthInterface.ts +0 -15
  201. package/dist/templates/next-app/src/server/port/ServerInterface.ts +0 -23
  202. package/dist/templates/next-app/src/server/port/UserRepositoryInterface.ts +0 -15
  203. package/dist/templates/next-app/src/server/port/UserServiceInterface.ts +0 -14
  204. package/dist/templates/next-app/src/server/port/ValidatorInterface.ts +0 -23
  205. package/dist/templates/next-app/src/server/repositorys/LocalesRepository.ts +0 -216
  206. package/dist/templates/next-app/src/server/repositorys/UserRepository.ts +0 -102
  207. package/dist/templates/next-app/src/server/services/AIService.ts +0 -45
  208. package/dist/templates/next-app/src/server/services/AdminAuthPlugin.ts +0 -21
  209. package/dist/templates/next-app/src/server/services/AdminLocalesService.ts +0 -20
  210. package/dist/templates/next-app/src/server/services/ApiLocaleService.ts +0 -137
  211. package/dist/templates/next-app/src/server/services/ApiUserService.ts +0 -29
  212. package/dist/templates/next-app/src/server/services/UserService.ts +0 -134
  213. package/dist/templates/next-app/src/server/validators/ExtendedExecutorError.ts +0 -6
  214. package/dist/templates/next-app/src/server/validators/LocalesValidator.ts +0 -145
  215. package/dist/templates/next-app/src/server/validators/LoginValidator.ts +0 -82
  216. package/dist/templates/next-app/src/server/validators/PaginationValidator.ts +0 -70
  217. package/dist/templates/next-app/src/server/validators/SignupVerifyValidator.ts +0 -68
  218. package/dist/templates/next-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  219. package/dist/templates/next-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  220. package/dist/templates/next-app/src/styles/css/antd-themes/_common/index.css +0 -3
  221. package/dist/templates/next-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  222. package/dist/templates/next-app/src/styles/css/antd-themes/index.css +0 -4
  223. package/dist/templates/next-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  224. package/dist/templates/next-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  225. package/dist/templates/next-app/src/styles/css/antd-themes/menu/index.css +0 -3
  226. package/dist/templates/next-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  227. package/dist/templates/next-app/src/styles/css/antd-themes/no-context.css +0 -34
  228. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  229. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  230. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  231. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  232. package/dist/templates/next-app/src/styles/css/antd-themes/table/_default.css +0 -44
  233. package/dist/templates/next-app/src/styles/css/antd-themes/table/dark.css +0 -43
  234. package/dist/templates/next-app/src/styles/css/antd-themes/table/index.css +0 -3
  235. package/dist/templates/next-app/src/styles/css/antd-themes/table/pink.css +0 -43
  236. package/dist/templates/next-app/src/styles/css/index.css +0 -6
  237. package/dist/templates/next-app/src/styles/css/page.css +0 -20
  238. package/dist/templates/next-app/src/styles/css/scrollbar.css +0 -34
  239. package/dist/templates/next-app/src/styles/css/tailwind.css +0 -5
  240. package/dist/templates/next-app/src/styles/css/themes/_default.css +0 -30
  241. package/dist/templates/next-app/src/styles/css/themes/dark.css +0 -30
  242. package/dist/templates/next-app/src/styles/css/themes/index.css +0 -3
  243. package/dist/templates/next-app/src/styles/css/themes/pink.css +0 -30
  244. package/dist/templates/next-app/src/styles/css/zIndex.css +0 -9
  245. package/dist/templates/next-app/src/uikit/components/AdminLayout.tsx +0 -150
  246. package/dist/templates/next-app/src/uikit/components/BootstrapsProvider.tsx +0 -39
  247. package/dist/templates/next-app/src/uikit/components/ClientRootProvider.tsx +0 -64
  248. package/dist/templates/next-app/src/uikit/components/ClientSeo.tsx +0 -36
  249. package/dist/templates/next-app/src/uikit/components/ClinetRenderProvider.tsx +0 -42
  250. package/dist/templates/next-app/src/uikit/components/EditableCell.tsx +0 -118
  251. package/dist/templates/next-app/src/uikit/components/FeatureItem.tsx +0 -13
  252. package/dist/templates/next-app/src/uikit/components/IOCProvider.tsx +0 -34
  253. package/dist/templates/next-app/src/uikit/components/LocaleLink.tsx +0 -50
  254. package/dist/templates/next-app/src/uikit/components/With.tsx +0 -17
  255. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportButton.tsx +0 -62
  256. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportEvent.ts +0 -28
  257. package/dist/templates/next-app/src/uikit/components/localesImportButton/import.module.css +0 -6
  258. package/dist/templates/next-app/src/uikit/components-app/AdminButton.tsx +0 -29
  259. package/dist/templates/next-app/src/uikit/components-app/AppBridge.tsx +0 -17
  260. package/dist/templates/next-app/src/uikit/components-app/AppRoutePage.tsx +0 -105
  261. package/dist/templates/next-app/src/uikit/components-app/AuthButton.tsx +0 -20
  262. package/dist/templates/next-app/src/uikit/components-app/LanguageSwitcher.tsx +0 -75
  263. package/dist/templates/next-app/src/uikit/components-app/LogoutButton.tsx +0 -45
  264. package/dist/templates/next-app/src/uikit/components-app/ThemeSwitcher.tsx +0 -144
  265. package/dist/templates/next-app/src/uikit/components-pages/LanguageSwitcher.tsx +0 -98
  266. package/dist/templates/next-app/src/uikit/components-pages/PagesRoutePage.tsx +0 -93
  267. package/dist/templates/next-app/src/uikit/context/IOCContext.ts +0 -25
  268. package/dist/templates/next-app/src/uikit/hook/useI18nInterface.ts +0 -22
  269. package/dist/templates/next-app/src/uikit/hook/useIOC.ts +0 -37
  270. package/dist/templates/next-app/src/uikit/hook/useStrictEffect.ts +0 -32
  271. package/dist/templates/next-app/src/uikit/hook/useWarnTranslations.ts +0 -11
  272. package/dist/templates/next-app/src/uikit/utils/getHashParams.ts +0 -8
  273. package/dist/templates/next-app/src/uikit/utils/getHashVerifyEmailParams.ts +0 -42
  274. package/dist/templates/next-app/tailwind.config.ts +0 -8
  275. package/dist/templates/next-app/tsconfig.json +0 -39
  276. package/dist/templates/node-lib/__tests__/readJson.test.ts +0 -26
  277. package/dist/templates/node-lib/bin/test.js +0 -30
  278. package/dist/templates/node-lib/package.json +0 -66
  279. package/dist/templates/node-lib/rollup.config.js +0 -79
  280. package/dist/templates/node-lib/src/index.ts +0 -7
  281. package/dist/templates/node-lib/src/readJson.ts +0 -12
  282. package/dist/templates/node-lib/tsconfig.json +0 -23
  283. package/dist/templates/pack-app/README.md +0 -108
  284. package/dist/templates/pack-app/eslint.config.js +0 -97
  285. package/dist/templates/pack-app/fe-config.json +0 -35
  286. package/dist/templates/pack-app/package.json +0 -86
  287. package/dist/templates/pack-app/pnpm-workspace.yaml +0 -2
  288. package/dist/templates/pack-app/tsconfig.json +0 -9
  289. package/dist/templates/pack-app/tsconfig.test.json +0 -10
  290. package/dist/templates/pack-app/vite.config.ts +0 -14
  291. package/dist/templates/react-app/.env.template +0 -22
  292. package/dist/templates/react-app/.prettierignore +0 -17
  293. package/dist/templates/react-app/README.en.md +0 -274
  294. package/dist/templates/react-app/README.md +0 -273
  295. package/dist/templates/react-app/__tests__/__mocks__/BootstrapTest.ts +0 -16
  296. package/dist/templates/react-app/__tests__/__mocks__/MockAppConfig.ts +0 -48
  297. package/dist/templates/react-app/__tests__/__mocks__/MockDialogHandler.ts +0 -17
  298. package/dist/templates/react-app/__tests__/__mocks__/MockLogger.ts +0 -14
  299. package/dist/templates/react-app/__tests__/__mocks__/components/TestApp.tsx +0 -38
  300. package/dist/templates/react-app/__tests__/__mocks__/components/TestBootstrapsProvider.tsx +0 -53
  301. package/dist/templates/react-app/__tests__/__mocks__/components/TestRouter.tsx +0 -46
  302. package/dist/templates/react-app/__tests__/__mocks__/components/index.ts +0 -12
  303. package/dist/templates/react-app/__tests__/__mocks__/createMockGlobals.ts +0 -96
  304. package/dist/templates/react-app/__tests__/__mocks__/i18nextHttpBackend.ts +0 -110
  305. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOC.ts +0 -55
  306. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOCRegister.ts +0 -74
  307. package/dist/templates/react-app/__tests__/setup/index.ts +0 -1
  308. package/dist/templates/react-app/__tests__/setup/setupGlobal.ts +0 -64
  309. package/dist/templates/react-app/__tests__/src/App.structure.test.tsx +0 -115
  310. package/dist/templates/react-app/__tests__/src/base/cases/AppConfig.test.ts +0 -288
  311. package/dist/templates/react-app/__tests__/src/base/cases/DialogHandler.test.ts +0 -226
  312. package/dist/templates/react-app/__tests__/src/base/cases/I18nKeyErrorPlugin.test.ts +0 -178
  313. package/dist/templates/react-app/__tests__/src/base/cases/InversifyContainer.test.ts +0 -181
  314. package/dist/templates/react-app/__tests__/src/base/cases/PublicAssetsPath.test.ts +0 -61
  315. package/dist/templates/react-app/__tests__/src/base/cases/RequestLogger.test.ts +0 -177
  316. package/dist/templates/react-app/__tests__/src/base/cases/RequestStatusCatcher.test.ts +0 -191
  317. package/dist/templates/react-app/__tests__/src/base/cases/RouterLoader.test.ts +0 -245
  318. package/dist/templates/react-app/__tests__/src/base/services/I18nService.test.ts +0 -240
  319. package/dist/templates/react-app/__tests__/src/core/IOC.test.ts +0 -242
  320. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapClient.test.ts +0 -135
  321. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapsApp.test.ts +0 -74
  322. package/dist/templates/react-app/__tests__/src/main.test.tsx +0 -46
  323. package/dist/templates/react-app/__tests__/src/uikit/components/BaseHeader.test.tsx +0 -97
  324. package/dist/templates/react-app/__tests__/src/uikit/components/chatMessage/ChatRoot.test.tsx +0 -274
  325. package/dist/templates/react-app/config/IOCIdentifier.ts +0 -91
  326. package/dist/templates/react-app/config/Identifier/common/common.error.ts +0 -34
  327. package/dist/templates/react-app/config/Identifier/common/common.ts +0 -62
  328. package/dist/templates/react-app/config/Identifier/common/index.ts +0 -2
  329. package/dist/templates/react-app/config/Identifier/components/component.chatMessage.ts +0 -56
  330. package/dist/templates/react-app/config/Identifier/components/component.messageBaseList.ts +0 -103
  331. package/dist/templates/react-app/config/Identifier/index.ts +0 -2
  332. package/dist/templates/react-app/config/Identifier/pages/index.ts +0 -9
  333. package/dist/templates/react-app/config/Identifier/pages/page.about.ts +0 -189
  334. package/dist/templates/react-app/config/Identifier/pages/page.executor.ts +0 -275
  335. package/dist/templates/react-app/config/Identifier/pages/page.home.ts +0 -71
  336. package/dist/templates/react-app/config/Identifier/pages/page.identifiter.ts +0 -102
  337. package/dist/templates/react-app/config/Identifier/pages/page.jsonStorage.ts +0 -77
  338. package/dist/templates/react-app/config/Identifier/pages/page.login.ts +0 -162
  339. package/dist/templates/react-app/config/Identifier/pages/page.message.ts +0 -20
  340. package/dist/templates/react-app/config/Identifier/pages/page.register.ts +0 -159
  341. package/dist/templates/react-app/config/Identifier/pages/page.request.ts +0 -169
  342. package/dist/templates/react-app/config/app.router.ts +0 -338
  343. package/dist/templates/react-app/config/common.ts +0 -85
  344. package/dist/templates/react-app/config/feapi.mock.json +0 -34
  345. package/dist/templates/react-app/config/i18n/PageI18nInterface.ts +0 -53
  346. package/dist/templates/react-app/config/i18n/aboutI18n.ts +0 -42
  347. package/dist/templates/react-app/config/i18n/chatMessageI18n.ts +0 -17
  348. package/dist/templates/react-app/config/i18n/executorI18n.ts +0 -51
  349. package/dist/templates/react-app/config/i18n/homeI18n.ts +0 -24
  350. package/dist/templates/react-app/config/i18n/i18nConfig.ts +0 -30
  351. package/dist/templates/react-app/config/i18n/identifiter18n.ts +0 -30
  352. package/dist/templates/react-app/config/i18n/jsonStorage18n.ts +0 -27
  353. package/dist/templates/react-app/config/i18n/login18n.ts +0 -42
  354. package/dist/templates/react-app/config/i18n/messageBaseListI18n.ts +0 -22
  355. package/dist/templates/react-app/config/i18n/messageI18n.ts +0 -14
  356. package/dist/templates/react-app/config/i18n/notFoundI18n.ts +0 -34
  357. package/dist/templates/react-app/config/i18n/register18n.ts +0 -40
  358. package/dist/templates/react-app/config/i18n/request18n.ts +0 -41
  359. package/dist/templates/react-app/config/theme.ts +0 -21
  360. package/dist/templates/react-app/docs/en/bootstrap.md +0 -1891
  361. package/dist/templates/react-app/docs/en/components/chat-message-component.md +0 -320
  362. package/dist/templates/react-app/docs/en/components/chat-message-refactor.md +0 -283
  363. package/dist/templates/react-app/docs/en/components/message-base-list-component.md +0 -171
  364. package/dist/templates/react-app/docs/en/development-guide.md +0 -1199
  365. package/dist/templates/react-app/docs/en/env.md +0 -1336
  366. package/dist/templates/react-app/docs/en/global.md +0 -509
  367. package/dist/templates/react-app/docs/en/i18n.md +0 -979
  368. package/dist/templates/react-app/docs/en/index.md +0 -802
  369. package/dist/templates/react-app/docs/en/ioc.md +0 -1365
  370. package/dist/templates/react-app/docs/en/playwright/e2e-tests.md +0 -321
  371. package/dist/templates/react-app/docs/en/playwright/index.md +0 -19
  372. package/dist/templates/react-app/docs/en/playwright/installation-summary.md +0 -332
  373. package/dist/templates/react-app/docs/en/playwright/overview.md +0 -222
  374. package/dist/templates/react-app/docs/en/playwright/quickstart.md +0 -325
  375. package/dist/templates/react-app/docs/en/playwright/reorganization-notes.md +0 -340
  376. package/dist/templates/react-app/docs/en/playwright/setup-complete.md +0 -290
  377. package/dist/templates/react-app/docs/en/playwright/testing-guide.md +0 -565
  378. package/dist/templates/react-app/docs/en/request.md +0 -423
  379. package/dist/templates/react-app/docs/en/router.md +0 -404
  380. package/dist/templates/react-app/docs/en/store.md +0 -1331
  381. package/dist/templates/react-app/docs/en/test-guide.md +0 -976
  382. package/dist/templates/react-app/docs/en/theme.md +0 -424
  383. package/dist/templates/react-app/docs/en/typescript-guide.md +0 -473
  384. package/dist/templates/react-app/docs/en/why-no-globals.md +0 -797
  385. package/dist/templates/react-app/docs/zh/bootstrap.md +0 -1891
  386. package/dist/templates/react-app/docs/zh/components/chat-message-component.md +0 -320
  387. package/dist/templates/react-app/docs/zh/components/chat-message-refactor.md +0 -283
  388. package/dist/templates/react-app/docs/zh/components/message-base-list-component.md +0 -171
  389. package/dist/templates/react-app/docs/zh/development-guide.md +0 -1199
  390. package/dist/templates/react-app/docs/zh/env.md +0 -1336
  391. package/dist/templates/react-app/docs/zh/global.md +0 -511
  392. package/dist/templates/react-app/docs/zh/i18n.md +0 -979
  393. package/dist/templates/react-app/docs/zh/index.md +0 -786
  394. package/dist/templates/react-app/docs/zh/ioc.md +0 -1364
  395. package/dist/templates/react-app/docs/zh/playwright/e2e-tests.md +0 -321
  396. package/dist/templates/react-app/docs/zh/playwright/index.md +0 -19
  397. package/dist/templates/react-app/docs/zh/playwright/installation-summary.md +0 -332
  398. package/dist/templates/react-app/docs/zh/playwright/overview.md +0 -222
  399. package/dist/templates/react-app/docs/zh/playwright/quickstart.md +0 -325
  400. package/dist/templates/react-app/docs/zh/playwright/reorganization-notes.md +0 -340
  401. package/dist/templates/react-app/docs/zh/playwright/setup-complete.md +0 -290
  402. package/dist/templates/react-app/docs/zh/playwright/testing-guide.md +0 -565
  403. package/dist/templates/react-app/docs/zh/request.md +0 -427
  404. package/dist/templates/react-app/docs/zh/router.md +0 -408
  405. package/dist/templates/react-app/docs/zh/store.md +0 -1329
  406. package/dist/templates/react-app/docs/zh/test-guide.md +0 -976
  407. package/dist/templates/react-app/docs/zh/theme.md +0 -424
  408. package/dist/templates/react-app/docs/zh/typescript-guide.md +0 -473
  409. package/dist/templates/react-app/docs/zh/why-no-globals.md +0 -797
  410. package/dist/templates/react-app/e2e/App.spec.ts +0 -319
  411. package/dist/templates/react-app/e2e/fixtures/base.fixture.ts +0 -40
  412. package/dist/templates/react-app/e2e/main.spec.ts +0 -20
  413. package/dist/templates/react-app/e2e/utils/test-helpers.ts +0 -19
  414. package/dist/templates/react-app/eslint.config.mjs +0 -325
  415. package/dist/templates/react-app/index.html +0 -13
  416. package/dist/templates/react-app/makes/generateTs2LocalesOptions.ts +0 -26
  417. package/dist/templates/react-app/package.json +0 -125
  418. package/dist/templates/react-app/playwright.config.ts +0 -79
  419. package/dist/templates/react-app/postcss.config.js +0 -5
  420. package/dist/templates/react-app/public/locales/en/common.json +0 -235
  421. package/dist/templates/react-app/public/locales/zh/common.json +0 -235
  422. package/dist/templates/react-app/public/logo.svg +0 -1
  423. package/dist/templates/react-app/public/router-root/logo.svg +0 -1
  424. package/dist/templates/react-app/src/App.tsx +0 -35
  425. package/dist/templates/react-app/src/assets/react.svg +0 -1
  426. package/dist/templates/react-app/src/base/apis/AiApi.ts +0 -68
  427. package/dist/templates/react-app/src/base/apis/feApi/FeApi.ts +0 -29
  428. package/dist/templates/react-app/src/base/apis/feApi/FeApiAdapter.ts +0 -14
  429. package/dist/templates/react-app/src/base/apis/feApi/FeApiBootstarp.ts +0 -86
  430. package/dist/templates/react-app/src/base/apis/feApi/FeApiType.ts +0 -21
  431. package/dist/templates/react-app/src/base/apis/userApi/UserApi.ts +0 -142
  432. package/dist/templates/react-app/src/base/apis/userApi/UserApiAdapter.ts +0 -14
  433. package/dist/templates/react-app/src/base/apis/userApi/UserApiBootstarp.ts +0 -86
  434. package/dist/templates/react-app/src/base/apis/userApi/UserApiType.ts +0 -70
  435. package/dist/templates/react-app/src/base/cases/AppConfig.ts +0 -123
  436. package/dist/templates/react-app/src/base/cases/DialogHandler.ts +0 -115
  437. package/dist/templates/react-app/src/base/cases/I18nKeyErrorPlugin.ts +0 -64
  438. package/dist/templates/react-app/src/base/cases/InversifyContainer.ts +0 -45
  439. package/dist/templates/react-app/src/base/cases/PublicAssetsPath.ts +0 -23
  440. package/dist/templates/react-app/src/base/cases/RequestLanguages.ts +0 -55
  441. package/dist/templates/react-app/src/base/cases/RequestLogger.ts +0 -80
  442. package/dist/templates/react-app/src/base/cases/RequestStatusCatcher.ts +0 -40
  443. package/dist/templates/react-app/src/base/cases/ResourceState.ts +0 -23
  444. package/dist/templates/react-app/src/base/cases/RouterLoader.ts +0 -173
  445. package/dist/templates/react-app/src/base/cases/TranslateI18nInterface.ts +0 -26
  446. package/dist/templates/react-app/src/base/port/ExecutorPageBridgeInterface.ts +0 -23
  447. package/dist/templates/react-app/src/base/port/I18nServiceInterface.ts +0 -10
  448. package/dist/templates/react-app/src/base/port/IOCInterface.ts +0 -38
  449. package/dist/templates/react-app/src/base/port/JSONStoragePageBridgeInterface.ts +0 -21
  450. package/dist/templates/react-app/src/base/port/RequestPageBridgeInterface.ts +0 -23
  451. package/dist/templates/react-app/src/base/port/RequestStatusInterface.ts +0 -5
  452. package/dist/templates/react-app/src/base/port/RouteServiceInterface.ts +0 -29
  453. package/dist/templates/react-app/src/base/port/UserServiceInterface.ts +0 -20
  454. package/dist/templates/react-app/src/base/services/BaseLayoutService.ts +0 -61
  455. package/dist/templates/react-app/src/base/services/I18nService.ts +0 -146
  456. package/dist/templates/react-app/src/base/services/IdentifierService.ts +0 -162
  457. package/dist/templates/react-app/src/base/services/RouteService.ts +0 -115
  458. package/dist/templates/react-app/src/base/services/UserBootstrap.ts +0 -45
  459. package/dist/templates/react-app/src/base/services/UserService.ts +0 -88
  460. package/dist/templates/react-app/src/base/types/Page.ts +0 -47
  461. package/dist/templates/react-app/src/base/types/deprecated-antd.d.ts +0 -60
  462. package/dist/templates/react-app/src/base/types/global.d.ts +0 -8
  463. package/dist/templates/react-app/src/core/IOC.ts +0 -28
  464. package/dist/templates/react-app/src/core/bootstraps/BootstrapClient.ts +0 -108
  465. package/dist/templates/react-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -54
  466. package/dist/templates/react-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  467. package/dist/templates/react-app/src/core/bootstraps/PrintBootstrap.ts +0 -14
  468. package/dist/templates/react-app/src/core/bootstraps/SaveAppInfo.ts +0 -28
  469. package/dist/templates/react-app/src/core/clientIoc/ClientIOC.ts +0 -47
  470. package/dist/templates/react-app/src/core/clientIoc/ClientIOCRegister.ts +0 -142
  471. package/dist/templates/react-app/src/core/globals.ts +0 -47
  472. package/dist/templates/react-app/src/main.tsx +0 -19
  473. package/dist/templates/react-app/src/pages/404.tsx +0 -19
  474. package/dist/templates/react-app/src/pages/500.tsx +0 -18
  475. package/dist/templates/react-app/src/pages/NoRouteFound.tsx +0 -5
  476. package/dist/templates/react-app/src/pages/auth/Layout.tsx +0 -27
  477. package/dist/templates/react-app/src/pages/auth/LoginPage.tsx +0 -166
  478. package/dist/templates/react-app/src/pages/auth/RegisterPage.tsx +0 -226
  479. package/dist/templates/react-app/src/pages/base/AboutPage.tsx +0 -123
  480. package/dist/templates/react-app/src/pages/base/ExecutorPage.tsx +0 -467
  481. package/dist/templates/react-app/src/pages/base/HomePage.tsx +0 -81
  482. package/dist/templates/react-app/src/pages/base/IdentifierPage.tsx +0 -117
  483. package/dist/templates/react-app/src/pages/base/JSONStoragePage.tsx +0 -132
  484. package/dist/templates/react-app/src/pages/base/Layout.tsx +0 -20
  485. package/dist/templates/react-app/src/pages/base/MessagePage.tsx +0 -71
  486. package/dist/templates/react-app/src/pages/base/RedirectPathname.tsx +0 -18
  487. package/dist/templates/react-app/src/pages/base/RequestPage.tsx +0 -193
  488. package/dist/templates/react-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  489. package/dist/templates/react-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  490. package/dist/templates/react-app/src/styles/css/antd-themes/_common/index.css +0 -3
  491. package/dist/templates/react-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  492. package/dist/templates/react-app/src/styles/css/antd-themes/index.css +0 -4
  493. package/dist/templates/react-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  494. package/dist/templates/react-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  495. package/dist/templates/react-app/src/styles/css/antd-themes/menu/index.css +0 -3
  496. package/dist/templates/react-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  497. package/dist/templates/react-app/src/styles/css/antd-themes/no-context.css +0 -34
  498. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  499. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  500. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  501. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  502. package/dist/templates/react-app/src/styles/css/antd-themes/table/_default.css +0 -44
  503. package/dist/templates/react-app/src/styles/css/antd-themes/table/dark.css +0 -43
  504. package/dist/templates/react-app/src/styles/css/antd-themes/table/index.css +0 -3
  505. package/dist/templates/react-app/src/styles/css/antd-themes/table/pink.css +0 -43
  506. package/dist/templates/react-app/src/styles/css/index.css +0 -6
  507. package/dist/templates/react-app/src/styles/css/page.css +0 -20
  508. package/dist/templates/react-app/src/styles/css/scrollbar.css +0 -34
  509. package/dist/templates/react-app/src/styles/css/tailwind.css +0 -5
  510. package/dist/templates/react-app/src/styles/css/themes/_default.css +0 -30
  511. package/dist/templates/react-app/src/styles/css/themes/dark.css +0 -30
  512. package/dist/templates/react-app/src/styles/css/themes/index.css +0 -3
  513. package/dist/templates/react-app/src/styles/css/themes/pink.css +0 -30
  514. package/dist/templates/react-app/src/styles/css/zIndex.css +0 -9
  515. package/dist/templates/react-app/src/uikit/bridges/ExecutorPageBridge.ts +0 -72
  516. package/dist/templates/react-app/src/uikit/bridges/JSONStoragePageBridge.ts +0 -41
  517. package/dist/templates/react-app/src/uikit/bridges/NavigateBridge.ts +0 -22
  518. package/dist/templates/react-app/src/uikit/bridges/RequestPageBridge.ts +0 -136
  519. package/dist/templates/react-app/src/uikit/components/AppRouterProvider.tsx +0 -35
  520. package/dist/templates/react-app/src/uikit/components/BaseHeader.tsx +0 -51
  521. package/dist/templates/react-app/src/uikit/components/BaseLayoutProvider.tsx +0 -44
  522. package/dist/templates/react-app/src/uikit/components/BaseRouteProvider.tsx +0 -21
  523. package/dist/templates/react-app/src/uikit/components/BaseRouteSeo.tsx +0 -18
  524. package/dist/templates/react-app/src/uikit/components/BootstrapsProvider.tsx +0 -11
  525. package/dist/templates/react-app/src/uikit/components/ClientSeo.tsx +0 -62
  526. package/dist/templates/react-app/src/uikit/components/ComboProvider.tsx +0 -38
  527. package/dist/templates/react-app/src/uikit/components/LanguageSwitcher.tsx +0 -78
  528. package/dist/templates/react-app/src/uikit/components/Loading.tsx +0 -49
  529. package/dist/templates/react-app/src/uikit/components/LocaleLink.tsx +0 -43
  530. package/dist/templates/react-app/src/uikit/components/LogoutButton.tsx +0 -58
  531. package/dist/templates/react-app/src/uikit/components/MessageBaseList.tsx +0 -258
  532. package/dist/templates/react-app/src/uikit/components/RouterRenderComponent.tsx +0 -19
  533. package/dist/templates/react-app/src/uikit/components/ThemeSwitcher.tsx +0 -137
  534. package/dist/templates/react-app/src/uikit/components/With.tsx +0 -17
  535. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatMessageBridge.ts +0 -205
  536. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatRoot.tsx +0 -21
  537. package/dist/templates/react-app/src/uikit/components/chatMessage/FocusBar.tsx +0 -108
  538. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageApi.ts +0 -282
  539. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageItem.tsx +0 -102
  540. package/dist/templates/react-app/src/uikit/components/chatMessage/MessagesList.tsx +0 -86
  541. package/dist/templates/react-app/src/uikit/contexts/BaseRouteContext.ts +0 -42
  542. package/dist/templates/react-app/src/uikit/contexts/IOCContext.ts +0 -13
  543. package/dist/templates/react-app/src/uikit/hooks/useAppTranslation.ts +0 -26
  544. package/dist/templates/react-app/src/uikit/hooks/useI18nInterface.ts +0 -25
  545. package/dist/templates/react-app/src/uikit/hooks/useIOC.ts +0 -35
  546. package/dist/templates/react-app/src/uikit/hooks/useNavigateBridge.ts +0 -21
  547. package/dist/templates/react-app/src/uikit/hooks/useRouterI18nGuard.ts +0 -25
  548. package/dist/templates/react-app/src/uikit/hooks/useStrictEffect.ts +0 -31
  549. package/dist/templates/react-app/src/vite-env.d.ts +0 -1
  550. package/dist/templates/react-app/tailwind.config.js +0 -4
  551. package/dist/templates/react-app/tsconfig.app.json +0 -36
  552. package/dist/templates/react-app/tsconfig.e2e.json +0 -24
  553. package/dist/templates/react-app/tsconfig.json +0 -22
  554. package/dist/templates/react-app/tsconfig.node.json +0 -27
  555. package/dist/templates/react-app/tsconfig.test.json +0 -18
  556. package/dist/templates/react-app/vite.config.ts +0 -144
@@ -1,67 +0,0 @@
1
- 'use client';
2
-
3
- import { ResourceTable } from '@brain-toolkit/antd-blocks/resourceTable/ResourceTable';
4
- import { ResourceTableHeader } from '@brain-toolkit/antd-blocks/resourceTable/ResourceTableHeader';
5
- import { useFactory, useLifecycle } from '@brain-toolkit/react-kit';
6
- import { ResourceStore } from '@qlover/corekit-bridge';
7
- import { useMemo } from 'react';
8
- import { ResourceState } from '@/base/cases/ResourceState';
9
- import { ZodColumnBuilder } from '@/base/cases/ZodColumnBuilder';
10
- import { AdminUserApi } from '@/base/services/adminApi/AdminUserApi';
11
- import { AdminPageEvent } from '@/base/services/AdminPageEvent';
12
- import { ResourceService } from '@/base/services/ResourceService';
13
- import { ClientSeo } from '@/uikit/components/ClientSeo';
14
- import { useI18nInterface } from '@/uikit/hook/useI18nInterface';
15
- import { useIOC } from '@/uikit/hook/useIOC';
16
- import { useWarnTranslations } from '@/uikit/hook/useWarnTranslations';
17
- import { userSchema } from '@migrations/schema/UserSchema';
18
- import { adminUsers18n, adminTableI18n } from '@config/i18n';
19
-
20
- const ns = 'admin_users';
21
-
22
- const localesTT = {
23
- ...adminUsers18n,
24
- ...adminTableI18n
25
- };
26
-
27
- export default function UsersPage() {
28
- const tt = useI18nInterface(localesTT);
29
- const t = useWarnTranslations();
30
- const adminUserApi = useIOC(AdminUserApi);
31
- const resourceStore = useFactory(ResourceStore, () => new ResourceState());
32
- const service = useFactory(ResourceService, ns, resourceStore, adminUserApi);
33
- const pageEvent = useFactory(AdminPageEvent, ns, service);
34
-
35
- const zodColumnBuilder = useFactory(
36
- ZodColumnBuilder,
37
- ns,
38
- userSchema.omit({
39
- password: true,
40
- credential_token: true
41
- })
42
- );
43
-
44
- useLifecycle(pageEvent);
45
-
46
- const options = useMemo(
47
- () => zodColumnBuilder.translate(t).buildAll(),
48
- [t, zodColumnBuilder]
49
- );
50
-
51
- return (
52
- <div data-testid="UsersPage">
53
- <ClientSeo i18nInterface={tt} />
54
-
55
- <ResourceTableHeader
56
- settings={Object.assign({}, tt, { create: false })}
57
- tableEvent={pageEvent}
58
- />
59
-
60
- <ResourceTable
61
- columns={options}
62
- tableEvent={pageEvent}
63
- actionProps={false}
64
- />
65
- </div>
66
- );
67
- }
@@ -1,18 +0,0 @@
1
- import type { PageLayoutProps } from '@/base/types/AppPageRouter';
2
- import { bootstrapServer } from '@/core/bootstraps/BootstrapServer';
3
- import { redirect } from '@/i18n/routing';
4
- import { AppPageRouteParams } from '@/server/AppPageRouteParams';
5
- import { ServerAuth } from '@/server/ServerAuth';
6
-
7
- export default async function AuthRootPage(props: PageLayoutProps) {
8
- const pageParams = new AppPageRouteParams(await props.params!);
9
- const locale = pageParams.getLocale();
10
-
11
- if (await bootstrapServer.getIOC(ServerAuth).hasAuth()) {
12
- console.info('> User already logged in, redirecting to home page');
13
-
14
- return redirect({ href: '/', locale: locale });
15
- }
16
-
17
- return <>{props.children}</>;
18
- }
@@ -1,126 +0,0 @@
1
- 'use client';
2
-
3
- import { UserOutlined, LockOutlined, GoogleOutlined } from '@ant-design/icons';
4
- import { Form, Input, Button } from 'antd';
5
- import { useState } from 'react';
6
- import { LoginValidator } from '@/server/validators/LoginValidator';
7
- import { LocaleLink } from '@/uikit/components/LocaleLink';
8
- import { useIOC } from '@/uikit/hook/useIOC';
9
- import { useWarnTranslations } from '@/uikit/hook/useWarnTranslations';
10
- import type { LoginI18nInterface } from '@config/i18n/loginI18n';
11
- import { I } from '@config/IOCIdentifier';
12
- import { ROUTE_REGISTER } from '@config/route';
13
-
14
- interface LoginFormData {
15
- email: string;
16
- password: string;
17
- }
18
-
19
- export function LoginForm(props: { tt: LoginI18nInterface }) {
20
- const { tt } = props;
21
- const t = useWarnTranslations();
22
- const userService = useIOC(I.UserServiceInterface);
23
- const appConfig = useIOC(I.AppConfig);
24
- const routerService = useIOC(I.RouterServiceInterface);
25
- const [loading, setLoading] = useState(false);
26
-
27
- const handleLogin = async (values: LoginFormData) => {
28
- try {
29
- setLoading(true);
30
- await userService.login(values);
31
- routerService.replaceHome();
32
- } catch {
33
- // do nothing
34
- } finally {
35
- setLoading(false);
36
- }
37
- };
38
-
39
- return (
40
- <Form
41
- data-testid="LoginForm"
42
- name="login"
43
- onFinish={handleLogin}
44
- layout="vertical"
45
- className="space-y-4"
46
- validateTrigger="onSubmit"
47
- initialValues={{
48
- email: appConfig.testLoginEmail,
49
- password: appConfig.testLoginPassword
50
- }}
51
- >
52
- <Form.Item
53
- name="email"
54
- rules={[{ required: true, type: 'email', message: tt.emailRequired }]}
55
- >
56
- <Input
57
- prefix={<UserOutlined className="text-text-tertiary" />}
58
- placeholder={tt.email}
59
- title={tt.emailTitle}
60
- className="h-12 text-base bg-secondary border-c-border"
61
- />
62
- </Form.Item>
63
-
64
- <Form.Item
65
- name="password"
66
- rules={[
67
- { required: true, message: tt.passwordRequired },
68
- {
69
- validator(_, value) {
70
- const validator = new LoginValidator();
71
- const result = validator.validatePassword(value);
72
- if (result != null) {
73
- return Promise.reject(t(result.message));
74
- }
75
- return Promise.resolve();
76
- }
77
- }
78
- ]}
79
- >
80
- <Input.Password
81
- prefix={<LockOutlined />}
82
- placeholder={tt.password}
83
- title={tt.passwordTitle}
84
- className="h-12 text-base"
85
- />
86
- </Form.Item>
87
-
88
- <div className="flex justify-end">
89
- <LocaleLink href="#" title={tt.forgotPasswordTitle}>
90
- {tt.forgotPassword}
91
- </LocaleLink>
92
- </div>
93
-
94
- <Form.Item>
95
- <Button
96
- type="primary"
97
- htmlType="submit"
98
- loading={loading}
99
- title={tt.buttonTitle}
100
- className="w-full h-12 text-base"
101
- >
102
- {tt.button}
103
- </Button>
104
- </Form.Item>
105
-
106
- <div className="text-center text-text-tertiary my-4">
107
- {tt.continueWith}
108
- </div>
109
-
110
- <Button
111
- icon={<GoogleOutlined />}
112
- className="w-full h-12 text-base"
113
- title={tt.withGoogleTitle}
114
- >
115
- {tt.withGoogle}
116
- </Button>
117
-
118
- <div className="text-center mt-6">
119
- <span className="text-text-tertiary">{tt.noAccount} </span>
120
- <LocaleLink href={ROUTE_REGISTER} title={tt.createAccountTitle}>
121
- {tt.createAccount}
122
- </LocaleLink>
123
- </div>
124
- </Form>
125
- );
126
- }
@@ -1,90 +0,0 @@
1
- import { notFound } from 'next/navigation';
2
- import type { PageParamsProps } from '@/base/types/AppPageRouter';
3
- import { bootstrapServer } from '@/core/bootstraps/BootstrapServer';
4
- import { redirect } from '@/i18n/routing';
5
- import {
6
- AppPageRouteParams,
7
- type PageParamsType
8
- } from '@/server/AppPageRouteParams';
9
- import { ServerAuth } from '@/server/ServerAuth';
10
- import { FeatureItem } from '@/uikit/components/FeatureItem';
11
- import { AppRoutePage } from '@/uikit/components-app/AppRoutePage';
12
- import { loginI18n, i18nConfig, NS_PAGE_LOGIN } from '@config/i18n';
13
- import { COMMON_ADMIN_TITLE } from '@config/Identifier';
14
- import { ROUTE_LOGIN } from '@config/route';
15
- import { LoginForm } from './LoginForm';
16
- import type { Metadata } from 'next';
17
-
18
- // Generate static params for all supported locales (used for SSG)
19
- export async function generateStaticParams() {
20
- // Return one entry for each supported locale
21
- return i18nConfig.supportedLngs.map((locale) => ({ locale }));
22
- }
23
-
24
- // Allow Next.js to statically generate this page if possible (default behavior)
25
- // Note: 'auto' is not a valid value in Next.js 15, removed to use default behavior
26
-
27
- // Optional: Use revalidate if you want ISR (Incremental Static Regeneration)
28
- // export const revalidate = 3600; // Rebuild every hour (optional)
29
-
30
- // Generate localized SEO metadata per locale (Next.js 15+ best practice)
31
- export async function generateMetadata({
32
- params
33
- }: {
34
- params: Promise<PageParamsType>;
35
- }): Promise<Metadata> {
36
- const pageParams = new AppPageRouteParams(await params);
37
-
38
- return await pageParams.getI18nInterface(loginI18n);
39
- }
40
-
41
- export default async function LoginPage(props: PageParamsProps) {
42
- if (!props.params) {
43
- return notFound();
44
- }
45
-
46
- const params = await props.params;
47
- const pageParams = new AppPageRouteParams(params);
48
-
49
- if (await bootstrapServer.getIOC(ServerAuth).hasAuth()) {
50
- return redirect({ href: '/', locale: params.locale! });
51
- }
52
-
53
- const tt = await pageParams.getI18nInterface(
54
- { ...loginI18n, adminTitle: COMMON_ADMIN_TITLE },
55
- NS_PAGE_LOGIN
56
- );
57
-
58
- return (
59
- <AppRoutePage
60
- data-testid="AppRoute-LoginPage"
61
- tt={{
62
- title: tt.title,
63
- adminTitle: tt.adminTitle
64
- }}
65
- headerHref={ROUTE_LOGIN}
66
- mainProps={{
67
- className: 'text-xs1 bg-primary flex min-h-screen'
68
- }}
69
- >
70
- <div className="hidden lg:flex bg-secondary lg:w-1/2 p-12 flex-col">
71
- <h1 className="text-4xl font-bold text-text mb-4">{tt.welcome}</h1>
72
- <p className="text-text-secondary text-lg mb-8">{tt.subtitle}</p>
73
- <div className="space-y-4">
74
- <FeatureItem icon="🎯" text={tt.feature_ai_paths} />
75
- <FeatureItem icon="🎯" text={tt.feature_smart_recommendations} />
76
- <FeatureItem icon="📊" text={tt.feature_progress_tracking} />
77
- </div>
78
- </div>
79
-
80
- <div className="w-full lg:w-1/2 p-8 sm:p-12 flex items-center justify-center">
81
- <div className="w-full max-w-[420px]">
82
- <h2 className="text-2xl font-semibold mb-2 text-text">{tt.title}</h2>
83
- <p className="text-text-secondary mb-8">{tt.subtitle}</p>
84
-
85
- <LoginForm tt={tt} />
86
- </div>
87
- </div>
88
- </AppRoutePage>
89
- );
90
- }
@@ -1,8 +0,0 @@
1
- import { redirect } from 'next/navigation';
2
- import { ROUTE_LOGIN } from '@config/route';
3
-
4
- export default async function AuthRootPage() {
5
- console.log('AuthRootPage redirect to login page');
6
-
7
- redirect(ROUTE_LOGIN);
8
- }
@@ -1,197 +0,0 @@
1
- 'use client';
2
-
3
- import { LockOutlined, MailOutlined, UserOutlined } from '@ant-design/icons';
4
- import { useStore } from '@brain-toolkit/react-kit';
5
- import { Button, Checkbox, Form, Input } from 'antd';
6
- import { useState } from 'react';
7
- import { useIOC } from '@/uikit/hook/useIOC';
8
- import type { RegisterI18nInterface } from '@config/i18n';
9
- import { I } from '@config/IOCIdentifier';
10
-
11
- export function RegisterForm(props: { tt: RegisterI18nInterface }) {
12
- const { tt } = props;
13
- const userService = useIOC(I.UserServiceInterface);
14
- const logger = useIOC(I.Logger);
15
- const routerService = useIOC(I.RouterServiceInterface);
16
- const [loading, setLoading] = useState(false);
17
- const result = useStore(userService.getUIStore(), (state) => state.result);
18
-
19
- const handleRegister = async (values: {
20
- username: string;
21
- email: string;
22
- password: string;
23
- }) => {
24
- try {
25
- setLoading(true);
26
- await userService.register({
27
- username: values.username,
28
- email: values.email,
29
- password: values.password
30
- });
31
- } catch (error) {
32
- logger.error(error);
33
- } finally {
34
- setLoading(false);
35
- }
36
- };
37
-
38
- const handleLoginClick = (e: React.MouseEvent) => {
39
- e.preventDefault();
40
- routerService.gotoLogin();
41
- };
42
-
43
- return (
44
- <Form
45
- data-testid="RegisterForm"
46
- name="register"
47
- onFinish={handleRegister}
48
- layout="vertical"
49
- className="space-y-4"
50
- validateTrigger="onSubmit"
51
- disabled={!!result}
52
- initialValues={{
53
- username: 'myused@sina.com',
54
- email: 'myused@sina.com',
55
- password: 'q1234566',
56
- confirmPassword: 'q1234566',
57
- agreeToTerms: true
58
- }}
59
- >
60
- {result && result.email_confirmed_at == null ? (
61
- <div className="text-xl text-red-500">{tt.email_verify}</div>
62
- ) : null}
63
-
64
- <Form.Item
65
- name="username"
66
- rules={[
67
- {
68
- required: true,
69
- message: tt.username_required
70
- }
71
- ]}
72
- >
73
- <Input
74
- prefix={<UserOutlined className="text-text-tertiary" />}
75
- placeholder={tt.username}
76
- className="h-12 text-base bg-secondary border-border"
77
- />
78
- </Form.Item>
79
-
80
- <Form.Item
81
- name="email"
82
- rules={[
83
- {
84
- required: true,
85
- type: 'email',
86
- message: tt.email_required
87
- }
88
- ]}
89
- >
90
- <Input
91
- prefix={<MailOutlined className="text-text-tertiary" />}
92
- placeholder={tt.email}
93
- className="h-12 text-base bg-secondary border-border"
94
- />
95
- </Form.Item>
96
-
97
- <Form.Item
98
- name="password"
99
- rules={[
100
- {
101
- required: true,
102
- message: tt.password_required
103
- }
104
- ]}
105
- >
106
- <Input.Password
107
- prefix={<LockOutlined />}
108
- placeholder={tt.password}
109
- className="h-12 text-base"
110
- />
111
- </Form.Item>
112
-
113
- <Form.Item
114
- name="confirmPassword"
115
- dependencies={['password']}
116
- rules={[
117
- {
118
- required: true,
119
- message: tt.confirm_password_required
120
- },
121
- ({ getFieldValue }) => ({
122
- validator(_, value) {
123
- if (!value || getFieldValue('password') === value) {
124
- return Promise.resolve();
125
- }
126
- return Promise.reject(tt.password_mismatch);
127
- }
128
- })
129
- ]}
130
- >
131
- <Input.Password
132
- prefix={<LockOutlined />}
133
- placeholder={tt.confirm_password}
134
- className="h-12 text-base"
135
- />
136
- </Form.Item>
137
-
138
- <Form.Item
139
- name="agreeToTerms"
140
- valuePropName="checked"
141
- rules={[
142
- {
143
- validator: (_, value) =>
144
- value
145
- ? Promise.resolve()
146
- : Promise.reject(new Error(tt.terms_required))
147
- }
148
- ]}
149
- >
150
- <Checkbox>
151
- <span className="text-text-secondary">
152
- {tt.terms_prefix}{' '}
153
- <a
154
- href="#"
155
- className="text-brand hover:text-brand-hover"
156
- target="_blank"
157
- rel="noopener noreferrer"
158
- >
159
- {tt.terms_link}
160
- </a>{' '}
161
- {tt.terms_and}{' '}
162
- <a
163
- href="#"
164
- className="text-brand hover:text-brand-hover"
165
- target="_blank"
166
- rel="noopener noreferrer"
167
- >
168
- {tt.privacy_link}
169
- </a>
170
- </span>
171
- </Checkbox>
172
- </Form.Item>
173
-
174
- <Form.Item>
175
- <Button
176
- type="primary"
177
- htmlType="submit"
178
- loading={loading}
179
- className="w-full h-12 text-base"
180
- >
181
- {tt.button}
182
- </Button>
183
- </Form.Item>
184
-
185
- <div className="text-center mt-6">
186
- <span className="text-text-tertiary">{tt.have_account} </span>
187
- <a
188
- href="#"
189
- className="text-brand hover:text-brand-hover"
190
- onClick={handleLoginClick}
191
- >
192
- {tt.login_link}
193
- </a>
194
- </div>
195
- </Form>
196
- );
197
- }
@@ -1,90 +0,0 @@
1
- import { notFound } from 'next/navigation';
2
- import type { PageParamsProps } from '@/base/types/AppPageRouter';
3
- import { bootstrapServer } from '@/core/bootstraps/BootstrapServer';
4
- import { redirect } from '@/i18n/routing';
5
- import {
6
- AppPageRouteParams,
7
- type PageParamsType
8
- } from '@/server/AppPageRouteParams';
9
- import { ServerAuth } from '@/server/ServerAuth';
10
- import { FeatureItem } from '@/uikit/components/FeatureItem';
11
- import { AppRoutePage } from '@/uikit/components-app/AppRoutePage';
12
- import { i18nConfig, register18n } from '@config/i18n';
13
- import { COMMON_ADMIN_TITLE } from '@config/Identifier';
14
- import { RegisterForm } from './RegisterForm';
15
- import type { Metadata } from 'next';
16
-
17
- // Generate static params for all supported locales (used for SSG)
18
- export async function generateStaticParams() {
19
- // Return one entry for each supported locale
20
- return i18nConfig.supportedLngs.map((locale) => ({ locale }));
21
- }
22
-
23
- // Allow Next.js to statically generate this page if possible (default behavior)
24
- // Note: 'auto' is not a valid value in Next.js 15, removed to use default behavior
25
-
26
- // Optional: Use revalidate if you want ISR (Incremental Static Regeneration)
27
- // export const revalidate = 3600; // Rebuild every hour (optional)
28
-
29
- // Generate localized SEO metadata per locale (Next.js 15+ best practice)
30
- export async function generateMetadata({
31
- params
32
- }: {
33
- params: Promise<PageParamsType>;
34
- }): Promise<Metadata> {
35
- const pageParams = new AppPageRouteParams(await params);
36
-
37
- return await pageParams.getI18nInterface(register18n);
38
- }
39
-
40
- export default async function LoginPage(props: PageParamsProps) {
41
- if (!props.params) {
42
- return notFound();
43
- }
44
-
45
- const params = await props.params;
46
- const pageParams = new AppPageRouteParams(params);
47
-
48
- if (await bootstrapServer.getIOC(ServerAuth).hasAuth()) {
49
- return redirect({ href: '/', locale: params.locale! });
50
- }
51
-
52
- const tt = await pageParams.getI18nInterface({
53
- ...register18n,
54
- adminTitle: COMMON_ADMIN_TITLE
55
- });
56
-
57
- return (
58
- <AppRoutePage
59
- data-testid="AppRoute-RegisterPage"
60
- tt={{
61
- title: tt.title,
62
- adminTitle: tt.adminTitle
63
- }}
64
- showAuthButton={false}
65
- headerHref=""
66
- mainProps={{
67
- className: 'text-xs1 bg-primary flex min-h-screen'
68
- }}
69
- >
70
- <div className="hidden lg:flex bg-secondary lg:w-1/2 p-12 flex-col">
71
- <h1 className="text-4xl font-bold text-text mb-4">{tt.welcome}</h1>
72
- <p className="text-text-secondary text-lg mb-8">{tt.subtitle}</p>
73
- <div className="space-y-4">
74
- <FeatureItem icon="🎯" text={tt.feature_ai_paths} />
75
- <FeatureItem icon="🎯" text={tt.feature_smart_recommendations} />
76
- <FeatureItem icon="📊" text={tt.feature_progress_tracking} />
77
- </div>
78
- </div>
79
-
80
- <div className="w-full lg:w-1/2 p-8 sm:p-12 flex items-center justify-center">
81
- <div className="w-full max-w-[420px]">
82
- <h2 className="text-2xl font-semibold mb-2 text-text">{tt.title}</h2>
83
- <p className="text-text-secondary mb-8">{tt.subtitle}</p>
84
-
85
- <RegisterForm tt={tt} />
86
- </div>
87
- </div>
88
- </AppRoutePage>
89
- );
90
- }
@@ -1,63 +0,0 @@
1
- import { NextIntlClientProvider } from 'next-intl';
2
- import { setRequestLocale } from 'next-intl/server';
3
- import type { PageLayoutProps } from '@/base/types/AppPageRouter';
4
- import { AppPageRouteParams } from '@/server/AppPageRouteParams';
5
- import { BootstrapsProvider } from '@/uikit/components/BootstrapsProvider';
6
- import { ClientRootProvider } from '@/uikit/components/ClientRootProvider';
7
- import { IOCProvider } from '@/uikit/components/IOCProvider';
8
- import { i18nConfig } from '@config/i18n';
9
- import '@/styles/css/index.css';
10
- import { themeConfig } from '@config/theme';
11
-
12
- export function generateStaticParams() {
13
- return i18nConfig.supportedLngs.map((locale) => ({ locale }));
14
- }
15
-
16
- /**
17
- * RootLayout is the root layout for the app
18
- *
19
- * 注意事项:
20
- *
21
- * 1. Layout 组件建议不要使用类似客户端渲染, 比如 useMountedClient 等这样会导致重渲染时dom节点发生变化,
22
- * 页面闪烁特别是切换语言时
23
- *
24
- * 2. Layout 组件内 IOCProvider 置于顶层, 因为整个项目依赖容器化
25
- * 在 spa 中项目中,也就是前端渲染时是不需要要区分渲染环境(server 和 client)
26
- *
27
- * 3. 除了已有的 provider 外, 尽量使用 ClientRootProvider 包裹所有客户端组件
28
- *
29
- * @param children - The children components
30
- * @param params - The page parameters
31
- * @returns
32
- */
33
- export default async function RootLayout({
34
- children,
35
- params
36
- }: PageLayoutProps) {
37
- const pageParams = new AppPageRouteParams(await params!);
38
- const locale = pageParams.getLocale();
39
- const theme = await pageParams.getTheme();
40
-
41
- // Enable static rendering
42
- setRequestLocale(locale);
43
-
44
- // Get messages for the current locale to prevent flickering during language switch
45
- // Load default namespaces (common, api) - admin namespaces are loaded in admin layout
46
- const messages = await pageParams.getI18nMessages();
47
-
48
- return (
49
- <html data-testid="AppRoute-RootLayout" lang={locale} data-theme={theme}>
50
- <body>
51
- <IOCProvider>
52
- <NextIntlClientProvider locale={locale} messages={messages}>
53
- <BootstrapsProvider>
54
- <ClientRootProvider themeConfig={themeConfig}>
55
- {children}
56
- </ClientRootProvider>
57
- </BootstrapsProvider>
58
- </NextIntlClientProvider>
59
- </IOCProvider>
60
- </body>
61
- </html>
62
- );
63
- }
@@ -1,24 +0,0 @@
1
- // import { useTranslations } from 'next-intl'; // Client-side translation hook
2
- import { identity as t } from 'lodash';
3
- import { Link } from '@/i18n/routing'; // i18n-aware Link component
4
-
5
- export default function NotFound() {
6
- return (
7
- <div
8
- data-testid="NotFound"
9
- className="space-y-6 py-24 flex flex-col items-center"
10
- >
11
- {/* Large translated 404 headline */}
12
- <h1 className="text-4xl font-bold text-center">{'title'}</h1>
13
- {/* Description text, translated */}
14
- <p className="text-lg text-gray-600 text-center">{t('description')}</p>
15
- {/* Link back to home page, translated label */}
16
- <Link
17
- href="/"
18
- className="inline-block rounded-xl bg-gray-900 text-white font-medium px-6 py-3 hover:bg-gray-800 transition"
19
- >
20
- {t('backToHome')}
21
- </Link>
22
- </div>
23
- );
24
- }