@qlover/create-app 1.0.2 → 2.0.0

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 +43 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/package.json +4 -3
  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 -51
  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,44 +0,0 @@
1
- import { useStore } from '@brain-toolkit/react-kit';
2
- import { I } from '@config/IOCIdentifier';
3
- import { BaseLayoutService } from '@/base/services/BaseLayoutService';
4
- import { Loading } from './Loading';
5
- import { useIOC } from '../hooks/useIOC';
6
- import { useNavigateBridge } from '../hooks/useNavigateBridge';
7
- import { useRouterI18nGuard } from '../hooks/useRouterI18nGuard';
8
- import { useStrictEffect } from '../hooks/useStrictEffect';
9
-
10
- /**
11
- * BaseLayoutProvider
12
- *
13
- * /pages/base/Layout.tsx 布局组件的服务提供者
14
- *
15
- * - 验证用户信息渲染组件,如果用户未登录则渲染 loading
16
- *
17
- * @param children - The children to render
18
- * @returns
19
- */
20
- export function BaseLayoutProvider({
21
- children
22
- }: {
23
- children: React.ReactNode;
24
- }) {
25
- const ioc = useIOC();
26
- const baseLayoutService = ioc(BaseLayoutService);
27
- const userService = ioc(I.UserServiceInterface);
28
-
29
- useStore(userService.getStore());
30
-
31
- useRouterI18nGuard();
32
-
33
- useNavigateBridge();
34
-
35
- useStrictEffect(() => {
36
- baseLayoutService.use(ioc(I.I18nKeyErrorPlugin)).starup(ioc);
37
- }, []);
38
-
39
- if (!userService.isAuthenticated()) {
40
- return <Loading data-testid="BaseLayoutProviderLoading" fullscreen />;
41
- }
42
-
43
- return children;
44
- }
@@ -1,21 +0,0 @@
1
- import type { RouteMeta } from '@/base/types/Page';
2
- import { BaseRoutePageContext } from '@/uikit/contexts/BaseRouteContext';
3
- import { BaseRouteSeo } from './BaseRouteSeo';
4
- import type { PropsWithChildren } from 'react';
5
-
6
- export function BaseRouteProvider(props: PropsWithChildren<RouteMeta>) {
7
- const { children, ..._props } = props;
8
-
9
- return (
10
- <BaseRoutePageContext.Provider
11
- data-testid="BaseRouteProvider"
12
- value={_props}
13
- >
14
- {typeof _props.i18nInterface === 'object' &&
15
- _props.i18nInterface != null &&
16
- Object.keys(_props.i18nInterface).length > 0 && <BaseRouteSeo />}
17
-
18
- {children}
19
- </BaseRoutePageContext.Provider>
20
- );
21
- }
@@ -1,18 +0,0 @@
1
- import type { PageI18nInterface } from '@config/i18n/PageI18nInterface';
2
- import { ClientSeo } from './ClientSeo';
3
- import { useBaseRoutePage } from '../contexts/BaseRouteContext';
4
-
5
- export function BaseRouteSeo() {
6
- const { i18nInterface } = useBaseRoutePage();
7
-
8
- if (!i18nInterface) {
9
- return null;
10
- }
11
-
12
- return (
13
- <ClientSeo
14
- data-testid="BaseRouteSeo"
15
- i18nInterface={i18nInterface as unknown as PageI18nInterface}
16
- />
17
- );
18
- }
@@ -1,11 +0,0 @@
1
- 'use client';
2
- import { clientIOC } from '@/core/clientIoc/ClientIOC';
3
- import { IOCContext } from '../contexts/IOCContext';
4
-
5
- export function BootstrapsProvider(props: { children: React.ReactNode }) {
6
- const IOC = clientIOC.create();
7
-
8
- return (
9
- <IOCContext.Provider value={IOC}>{props.children}</IOCContext.Provider>
10
- );
11
- }
@@ -1,62 +0,0 @@
1
- /* eslint-disable no-restricted-globals */
2
- import { useEffect } from 'react';
3
- import type { PageI18nInterface } from '@config/i18n/PageI18nInterface';
4
-
5
- export function ClientSeo(props: {
6
- i18nInterface: PageI18nInterface;
7
- children?: React.ReactNode;
8
- }) {
9
- const { i18nInterface, children } = props;
10
-
11
- useEffect(() => {
12
- // Set title
13
- document.title = i18nInterface.title;
14
-
15
- // Helper function to create or update meta tag
16
- const setMetaTag = (name: string, content: string | undefined) => {
17
- if (!content) return;
18
-
19
- let meta = document.querySelector(`meta[name="${name}"]`);
20
- if (!meta) {
21
- meta = document.createElement('meta');
22
- meta.setAttribute('name', name);
23
- document.head.appendChild(meta);
24
- }
25
- meta.setAttribute('content', content);
26
- };
27
-
28
- // Set basic meta tags
29
- setMetaTag('description', i18nInterface.description);
30
- setMetaTag('keywords', i18nInterface.keywords);
31
- setMetaTag('author', i18nInterface.author);
32
- setMetaTag('publishedTime', i18nInterface.publishedTime);
33
- setMetaTag('modifiedTime', i18nInterface.modifiedTime);
34
-
35
- // Set canonical
36
- if (i18nInterface.canonical) {
37
- setMetaTag('canonical', i18nInterface.canonical);
38
- }
39
-
40
- // Set Open Graph tags
41
- if (i18nInterface.og) {
42
- setMetaTag('og:title', i18nInterface.og.title);
43
- setMetaTag('og:description', i18nInterface.og.description);
44
- setMetaTag('og:image', i18nInterface.og.image);
45
- }
46
-
47
- // Cleanup function (optional, removes meta tags when component unmounts)
48
- return () => {
49
- // You can optionally remove these tags on unmount
50
- // const metaNames = [
51
- // 'description', 'keywords', 'author', 'publishedTime',
52
- // 'modifiedTime', 'canonical', 'og:title', 'og:description', 'og:image'
53
- // ];
54
- // metaNames.forEach(name => {
55
- // const meta = document.querySelector(`meta[name="${name}"]`);
56
- // if (meta) meta.remove();
57
- // });
58
- };
59
- }, [i18nInterface]);
60
-
61
- return <>{children}</>;
62
- }
@@ -1,38 +0,0 @@
1
- 'use client';
2
- import { AntdThemeProvider } from '@brain-toolkit/antd-theme-override/react';
3
- import { useMountedClient } from '@brain-toolkit/react-kit';
4
- import { I } from '@config/IOCIdentifier';
5
- import { clientIOC } from '@/core/clientIoc/ClientIOC';
6
- import type { CommonThemeConfig } from '@config/theme';
7
-
8
- /**
9
- * CommonProvider is a provider for the common components
10
- *
11
- * @param param0
12
- * @returns
13
- */
14
- export function ComboProvider(props: {
15
- themeConfig: CommonThemeConfig;
16
- children: React.ReactNode;
17
- }) {
18
- /**
19
- * useMountedClient 会等待客户端完全初始化
20
- * 只有在客户端准备就绪后才渲染组件内容
21
- * 这样可以确保所有的客户端代码(包括 API 配置、插件等)都已经正确初始化
22
- */
23
- const mounted = useMountedClient();
24
-
25
- const { themeConfig, children } = props;
26
-
27
- const IOC = clientIOC.create();
28
-
29
- return (
30
- <AntdThemeProvider
31
- data-testid="ComboProvider"
32
- theme={themeConfig.antdTheme}
33
- staticApi={IOC(I.DialogHandler)}
34
- >
35
- {mounted ? children : null}
36
- </AntdThemeProvider>
37
- );
38
- }
@@ -1,78 +0,0 @@
1
- import { GlobalOutlined, TranslationOutlined } from '@ant-design/icons';
2
- import { useStore } from '@brain-toolkit/react-kit/hooks/useStore';
3
- import { i18nConfig } from '@config/i18n/i18nConfig';
4
- import { IOCIdentifier } from '@config/IOCIdentifier';
5
- import { Dropdown } from 'antd';
6
- import { useCallback } from 'react';
7
- import { useLocation, useNavigate } from 'react-router-dom';
8
- import type { LocaleType } from '@config/i18n/i18nConfig';
9
- import { useIOC } from '../hooks/useIOC';
10
-
11
- const { supportedLngs } = i18nConfig;
12
-
13
- export function LanguageSwitcher() {
14
- const navigate = useNavigate();
15
- const i18nService = useIOC(IOCIdentifier.I18nServiceInterface);
16
- const language = useStore(i18nService, i18nService.selector.language);
17
- const { pathname } = useLocation();
18
-
19
- const languageOptions = supportedLngs.map((lang) => ({
20
- key: lang,
21
- value: lang,
22
- label: (
23
- <div
24
- className="flex items-center gap-2"
25
- data-testid={`LanguageSwitcherOption-${lang}`}
26
- >
27
- <GlobalOutlined />
28
- <span>{lang.toUpperCase()}</span>
29
- </div>
30
- )
31
- }));
32
-
33
- const handleLanguageChange = useCallback(
34
- async (newLang: LocaleType) => {
35
- i18nService.changeLoading(true);
36
- // Change i18n language
37
- await i18nService.changeLanguage(newLang);
38
- // Update URL path
39
- navigate(pathname.replace(`/${language}`, `/${newLang}`));
40
-
41
- i18nService.changeLoading(false);
42
- },
43
- [language, pathname, navigate, i18nService]
44
- );
45
-
46
- // const nextLocale = useMemo(() => {
47
- // const targetIndex = i18nConfig.supportedLngs.indexOf(language) + 1;
48
- // return i18nConfig.supportedLngs[
49
- // targetIndex % i18nConfig.supportedLngs.length
50
- // ];
51
- // }, [language]);
52
-
53
- return (
54
- <Dropdown
55
- data-testid="LanguageSwitcherDropdown"
56
- trigger={['hover', 'click']}
57
- placement="bottom"
58
- menu={{
59
- // @ts-ignore
60
- 'data-testid': 'LanguageSwitcherSelect',
61
- selectedKeys: [language],
62
- items: languageOptions,
63
- onClick: ({ key }) => {
64
- handleLanguageChange(key as LocaleType);
65
- }
66
- }}
67
- >
68
- <span
69
- data-testid="LanguageSwitcher"
70
- data-testvalue={language}
71
- className="text-text hover:text-text-hover cursor-pointer text-lg transition-colors"
72
- // onClick={() => handleLanguageChange(nextLocale)}
73
- >
74
- <TranslationOutlined />
75
- </span>
76
- </Dropdown>
77
- );
78
- }
@@ -1,49 +0,0 @@
1
- import { clsx } from 'clsx';
2
-
3
- /**
4
- * Loading component
5
- *
6
- * @description This component displays a loading indicator. It can be used to indicate loading states either in fullscreen mode or within a specific section of the page.
7
- *
8
- * @param {boolean} fullscreen - Determines if the loading indicator should cover the entire screen. Defaults to false.
9
- *
10
- * @returns {JSX.Element} A div element displaying a loading icon.
11
- *
12
- * @example
13
- * <Loading fullscreen={true} />
14
- * <Loading fullscreen={false} />
15
- */
16
- export function Loading({ fullscreen = false }: { fullscreen?: boolean }) {
17
- return (
18
- <div
19
- data-testid="LoadingRoot"
20
- className={clsx('flex justify-center items-center', {
21
- 'fixed inset-0 backdrop-blur-sm z-50': fullscreen,
22
- relative: !fullscreen
23
- })}
24
- style={{
25
- backgroundColor: fullscreen
26
- ? 'var(--fe-color-bg-container)'
27
- : 'transparent'
28
- }}
29
- >
30
- <div className="flex space-x-3">
31
- {[0, 1, 2].map((i) => (
32
- <div
33
- data-testid="Loading"
34
- key={i}
35
- className={clsx(
36
- 'w-3 h-3 rounded-full',
37
- 'bg-(--fe-color-primary)',
38
- 'animate-[bounce_1s_ease-in-out_infinite]'
39
- )}
40
- style={{
41
- animationDelay: `${i * 0.2}s`,
42
- opacity: 0.6
43
- }}
44
- />
45
- ))}
46
- </div>
47
- </div>
48
- );
49
- }
@@ -1,43 +0,0 @@
1
- import { useLocaleRoutes } from '@config/common';
2
- import { Link as RouterLink, useParams } from 'react-router-dom';
3
- import type { ReactNode } from 'react';
4
- import type { LinkProps, To } from 'react-router-dom';
5
-
6
- interface LocaleLinkProps extends Omit<LinkProps, 'href' | 'to'> {
7
- href: string | To;
8
- locale?: string;
9
- children: ReactNode;
10
- defaultLocale?: string;
11
- className?: string;
12
- }
13
-
14
- export const LocaleLink: React.FC<LocaleLinkProps> = ({
15
- href,
16
- locale,
17
- children,
18
- defaultLocale,
19
- ...props
20
- }) => {
21
- const { lng } = useParams<{ lng: string }>();
22
-
23
- locale = locale || lng;
24
-
25
- const isDefaultLocale = locale === defaultLocale;
26
- const shouldAddLocale = useLocaleRoutes && !isDefaultLocale;
27
-
28
- let localizedHref: string | To;
29
- if (typeof href === 'string') {
30
- localizedHref = shouldAddLocale ? `/${locale}${href}` : href;
31
- } else {
32
- localizedHref = {
33
- ...href,
34
- pathname: shouldAddLocale ? `/${locale}${href.pathname}` : href.pathname
35
- };
36
- }
37
-
38
- return (
39
- <RouterLink data-testid="locale-link" {...props} to={localizedHref}>
40
- {children}
41
- </RouterLink>
42
- );
43
- };
@@ -1,58 +0,0 @@
1
- import { LogoutOutlined } from '@ant-design/icons';
2
- import {
3
- AUTH_LOGOUT_DIALOG_CONTENT,
4
- AUTH_LOGOUT_DIALOG_TITLE
5
- } from '@config/Identifier/common/common';
6
- import { IOCIdentifier } from '@config/IOCIdentifier';
7
- import { Button, Grid } from 'antd';
8
- import { useCallback } from 'react';
9
- import { useAppTranslation } from '../hooks/useAppTranslation';
10
- import { useIOC } from '../hooks/useIOC';
11
-
12
- const { useBreakpoint } = Grid;
13
-
14
- export function LogoutButton() {
15
- const { t } = useAppTranslation();
16
- const dialogHandler = useIOC(IOCIdentifier.DialogHandler);
17
- const userService = useIOC(IOCIdentifier.UserServiceInterface);
18
- const routeService = useIOC(IOCIdentifier.RouteServiceInterface);
19
- const breakpoint = useBreakpoint();
20
- const tTitle = t(AUTH_LOGOUT_DIALOG_TITLE);
21
- const tContent = t(AUTH_LOGOUT_DIALOG_CONTENT);
22
-
23
- const onClick = useCallback(() => {
24
- dialogHandler.confirm({
25
- title: tTitle,
26
- okButtonProps: {
27
- 'data-testid': 'LogoutButton-OkButton'
28
- },
29
- cancelButtonProps: {
30
- 'data-testid': 'LogoutButton-CancelButton'
31
- },
32
- content: tContent,
33
- onOk: async () => {
34
- await userService.logout();
35
- routeService.reset();
36
- routeService.gotoLogin();
37
- }
38
- });
39
- }, [tTitle, tContent]);
40
-
41
- if (breakpoint.md) {
42
- return (
43
- <Button data-testid="LogoutButton" danger onClick={onClick}>
44
- {tTitle}
45
- </Button>
46
- );
47
- }
48
-
49
- return (
50
- <span
51
- data-testid="LogoutButton"
52
- className="text-text hover:text-red-500 cursor-pointer text-lg transition-colors block md:hidden"
53
- onClick={onClick}
54
- >
55
- <LogoutOutlined />
56
- </span>
57
- );
58
- }
@@ -1,258 +0,0 @@
1
- import { useFactory, useStore } from '@brain-toolkit/react-kit';
2
- import { messageBaseListI18n } from '@config/i18n/messageBaseListI18n';
3
- import { I } from '@config/IOCIdentifier';
4
- import {
5
- MessageSender,
6
- MessageSenderExecutor,
7
- MessagesStore,
8
- MessageStatus,
9
- SenderStrategyPlugin,
10
- SendFailureStrategy,
11
- ThreadUtil
12
- } from '@qlover/corekit-bridge';
13
- import { Button, Input } from 'antd';
14
- import { random } from 'lodash';
15
- import { useCallback, useMemo, useState } from 'react';
16
- import { useI18nInterface } from '../hooks/useI18nInterface';
17
- import { useIOC } from '../hooks/useIOC';
18
- import type {
19
- GatewayOptions,
20
- MessageGetwayInterface,
21
- MessageInterface,
22
- MessagesStateInterface,
23
- MessageStoreMsg
24
- } from '@qlover/corekit-bridge';
25
-
26
- interface MessageBaseMsg extends MessageStoreMsg<string, unknown> {}
27
-
28
- function createMessagesState(): MessagesStateInterface<MessageBaseMsg> {
29
- return {
30
- messages: []
31
- };
32
- }
33
-
34
- class MessageBaseApi implements MessageGetwayInterface {
35
- /**
36
- * @override
37
- */
38
- public async sendMessage<M extends MessageInterface<unknown>>(
39
- message: M,
40
- options?: GatewayOptions<M>
41
- ): Promise<unknown | M> {
42
- const times = random(200, 1000);
43
-
44
- await ThreadUtil.sleep(times);
45
-
46
- const messageContent = (message as any).content ?? '';
47
- if (messageContent.includes('Failed') || messageContent.includes('error')) {
48
- const error = new Error('Failed to send message');
49
- await options?.onError?.(error);
50
- throw error;
51
- }
52
-
53
- if (times % 5 === 0) {
54
- const error = new Error(`Network error(${times})`);
55
- await options?.onError?.(error);
56
- throw error;
57
- }
58
-
59
- // Return object response to demonstrate formatting
60
- const result = {
61
- status: 'success',
62
- timestamp: new Date().toISOString(),
63
- delay: `${times}ms`,
64
- echo: messageContent,
65
- data: {
66
- message: 'Message received successfully',
67
- processed: true,
68
- metadata: {
69
- length: messageContent?.length || 0,
70
- type: 'text'
71
- }
72
- }
73
- };
74
-
75
- options?.onComplete?.(message);
76
-
77
- return result;
78
- }
79
- }
80
-
81
- export function MessageBaseList() {
82
- const [inputValue, setInputValue] = useState('');
83
- const logger = useIOC(I.Logger);
84
- const tt = useI18nInterface(messageBaseListI18n);
85
- const messagesStore = useFactory(
86
- MessagesStore<MessageBaseMsg>,
87
- createMessagesState
88
- );
89
- const messageBaseApi = useFactory(MessageBaseApi);
90
-
91
- const [messagesSender] = useState(() =>
92
- new MessageSender<MessageBaseMsg>(messagesStore, {
93
- gateway: messageBaseApi,
94
- logger,
95
- executor: new MessageSenderExecutor()
96
- }).use(new SenderStrategyPlugin(SendFailureStrategy.KEEP_FAILED))
97
- );
98
-
99
- const messages = useStore(messagesStore, (state) => state.messages);
100
-
101
- const loadingMessage = useMemo(() => {
102
- return messages.find((message) => message.loading);
103
- }, [messages]);
104
-
105
- const onSend = useCallback(() => {
106
- messagesSender.send({
107
- content: inputValue
108
- });
109
- setInputValue('');
110
- }, [inputValue, messagesSender]);
111
-
112
- /**
113
- * Render message result with proper formatting
114
- * - For objects/arrays: display as formatted JSON
115
- * - For strings: display as plain text
116
- */
117
- const renderResult = (result: unknown) => {
118
- if (!result) return null;
119
-
120
- // Check if result is an object or array
121
- if (typeof result === 'object') {
122
- try {
123
- const jsonString = JSON.stringify(result, null, 2);
124
- return (
125
- <pre
126
- data-testid="MessageResultJson"
127
- className="text-xs font-mono bg-green-100 p-2 rounded mt-1 overflow-x-auto whitespace-pre-wrap"
128
- >
129
- {jsonString}
130
- </pre>
131
- );
132
- } catch {
133
- return String(result);
134
- }
135
- }
136
-
137
- // For strings and other primitives
138
- return <span data-testid="MessageResultText">{String(result)}</span>;
139
- };
140
-
141
- return (
142
- <div data-testid="MessageBaseList" className="max-w-4xl mx-auto">
143
- {/* Page Title */}
144
- <div className="mb-6">
145
- <h1 className="text-2xl font-bold text-text mb-2">{tt.title}</h1>
146
- <p className="text-sm text-text-secondary">{tt.description}</p>
147
- </div>
148
-
149
- {/* Messages Container */}
150
- <div className="bg-secondary rounded-lg shadow-sm border border-primary mb-4">
151
- <div
152
- data-testid="MessageBaseListItems"
153
- className="flex flex-col gap-3 p-4 max-h-96 min-h-64 overflow-y-auto"
154
- >
155
- {messages.length === 0 ? (
156
- <div className="flex items-center justify-center h-full text-text-secondary">
157
- <div className="text-center">
158
- <p className="text-base mb-1">{tt.noMessages}</p>
159
- <p className="text-sm">{tt.getStarted}</p>
160
- </div>
161
- </div>
162
- ) : (
163
- messages.map((message) => (
164
- <div
165
- key={message.id}
166
- data-testid="MessageBaseListItem"
167
- className="space-y-2"
168
- >
169
- {/* User Message */}
170
- <div className="flex justify-end">
171
- <div className="max-w-[70%] bg-blue-500 text-white rounded-lg px-4 py-2 shadow-sm">
172
- <div className="text-sm font-medium mb-1">{tt.user}</div>
173
- <div className="wrap-break-word">{message.content}</div>
174
- </div>
175
- </div>
176
-
177
- {/* Gateway Response */}
178
- <div className="flex justify-start">
179
- <div className="max-w-[70%]">
180
- {message.loading ? (
181
- <div className="bg-base rounded-lg px-4 py-2 shadow-sm border border-primary">
182
- <div className="text-sm font-medium text-text-secondary mb-1">
183
- {tt.gateway}
184
- </div>
185
- <div className="flex items-center gap-2 text-text-secondary">
186
- <div className="flex gap-1">
187
- <span
188
- className="animate-bounce inline-block w-1.5 h-1.5 bg-text-secondary rounded-full"
189
- style={{ animationDelay: '0ms' }}
190
- ></span>
191
- <span
192
- className="animate-bounce inline-block w-1.5 h-1.5 bg-text-secondary rounded-full"
193
- style={{ animationDelay: '150ms' }}
194
- ></span>
195
- <span
196
- className="animate-bounce inline-block w-1.5 h-1.5 bg-text-secondary rounded-full"
197
- style={{ animationDelay: '300ms' }}
198
- ></span>
199
- </div>
200
- <span className="text-sm">{tt.processing}</span>
201
- </div>
202
- </div>
203
- ) : message.status === MessageStatus.FAILED ? (
204
- <div className="bg-red-50 border border-red-200 rounded-lg px-4 py-2 shadow-sm">
205
- <div className="text-sm font-medium text-red-800 mb-1">
206
- {tt.gatewayFailed}
207
- </div>
208
- <div className="text-red-600 text-sm">
209
- ❌ {(message as any).error?.message || tt.sendFailed}
210
- </div>
211
- </div>
212
- ) : message.result ? (
213
- <div className="bg-green-50 border border-green-200 rounded-lg px-4 py-2 shadow-sm">
214
- <div className="text-sm font-medium text-green-800 mb-1">
215
- ✓ {tt.gatewayResponse}
216
- </div>
217
- <div className="text-green-900">
218
- {renderResult(message.result)}
219
- </div>
220
- </div>
221
- ) : null}
222
- </div>
223
- </div>
224
- </div>
225
- ))
226
- )}
227
- </div>
228
- </div>
229
-
230
- {/* Input Area */}
231
- <div className="bg-secondary rounded-lg shadow-sm border border-primary p-4">
232
- <div className="flex gap-2">
233
- <Input
234
- value={inputValue}
235
- onPressEnter={onSend}
236
- onChange={(e) =>
237
- setInputValue((e.target as HTMLInputElement).value)
238
- }
239
- placeholder={tt.inputPlaceholder}
240
- size="large"
241
- className="flex-1"
242
- disabled={loadingMessage?.loading}
243
- />
244
- <Button
245
- disabled={!inputValue || loadingMessage?.loading}
246
- loading={loadingMessage?.loading}
247
- type="primary"
248
- size="large"
249
- onClick={onSend}
250
- >
251
- {tt.sendButton}
252
- </Button>
253
- </div>
254
- <div className="mt-2 text-xs text-text-secondary">{tt.errorTip}</div>
255
- </div>
256
- </div>
257
- );
258
- }