@gadmin2n/schematics 0.0.64 → 0.0.66

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 (198) hide show
  1. package/dist/lib/application/files/gadmin2-game-angle-demo/.dockerignore +2 -2
  2. package/dist/lib/application/files/gadmin2-game-angle-demo/Dockerfile +40 -26
  3. package/dist/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +30 -4
  4. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/example.prisma +33 -0
  5. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +170 -0
  6. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Event.ts +70 -0
  7. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Game.ts +6 -6
  8. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/ITActivityDay.ts +70 -0
  9. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Log.ts +2 -2
  10. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Role.ts +2 -2
  11. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.env +20 -9
  12. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.env.local +1 -0
  13. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.eslintrc.js +1 -0
  14. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.prettierignore +1 -0
  15. package/dist/lib/application/files/gadmin2-game-angle-demo/server/README.md +2 -18
  16. package/dist/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +1 -1
  17. package/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +1232 -0
  18. package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +65 -38
  19. package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma/.generator.prisma +4 -3
  20. package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma.config.ts +16 -0
  21. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/games.ts +1 -71
  22. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/index.ts +17 -21
  23. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/permissions.ts +278 -0
  24. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/seedDataMngtPages.ts +258 -0
  25. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/users.ts +7 -0
  26. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/alias.config.ts +7 -0
  27. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.controller.ts +151 -11
  28. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.module.ts +29 -13
  29. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.service.ts +151 -12
  30. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/auth.guard.ts +87 -41
  31. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/http-cache.interceptor.ts +21 -0
  32. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/logger.ts +19 -0
  33. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/safe-log.util.ts +176 -0
  34. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/{yufuid.ts → taihu.ts} +49 -34
  35. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/tracing.ts +174 -0
  36. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/trim.pipe.ts +51 -0
  37. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/utils.ts +91 -0
  38. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/woaAuth.ts +25 -12
  39. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +22 -12
  40. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.spec.ts +20 -0
  41. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.ts +190 -0
  42. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.module.ts +10 -0
  43. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.spec.ts +338 -0
  44. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.ts +83 -0
  45. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.spec.ts +20 -0
  46. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.ts +188 -0
  47. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.module.ts +10 -0
  48. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.spec.ts +18 -0
  49. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.ts +83 -0
  50. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.spec.ts +20 -0
  51. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.ts +250 -0
  52. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.module.ts +10 -0
  53. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.spec.ts +18 -0
  54. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.ts +1051 -0
  55. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.spec.ts +20 -0
  56. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.ts +196 -0
  57. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.module.ts +13 -0
  58. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.spec.ts +18 -0
  59. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.ts +219 -0
  60. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.spec.ts +20 -0
  61. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.ts +196 -0
  62. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.module.ts +10 -0
  63. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.spec.ts +18 -0
  64. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.ts +199 -0
  65. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.spec.ts +20 -0
  66. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.ts +210 -0
  67. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.module.ts +12 -0
  68. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.spec.ts +18 -0
  69. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.ts +849 -0
  70. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/roles-refresher.service.ts +133 -0
  71. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.spec.ts +20 -0
  72. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.ts +196 -0
  73. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.module.ts +10 -0
  74. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.spec.ts +18 -0
  75. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.ts +201 -0
  76. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.spec.ts +20 -0
  77. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.ts +196 -0
  78. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.module.ts +10 -0
  79. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.spec.ts +18 -0
  80. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.ts +216 -0
  81. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.spec.ts +20 -0
  82. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.ts +198 -0
  83. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.module.ts +10 -0
  84. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.spec.ts +18 -0
  85. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.ts +104 -0
  86. package/dist/lib/application/files/gadmin2-game-angle-demo/server/start-prod.sh +130 -0
  87. package/dist/lib/application/files/gadmin2-game-angle-demo/server/tsconfig.json +18 -3
  88. package/dist/lib/application/files/gadmin2-game-angle-demo/web/index.html +19 -0
  89. package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +34 -42
  90. package/dist/lib/application/files/gadmin2-game-angle-demo/web/postcss.config.cjs +6 -0
  91. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +111 -185
  92. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/auditLogProvider.ts +5 -5
  93. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +2 -2
  94. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SqlModal.tsx +419 -0
  95. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/business/index.tsx +1 -1
  96. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +49 -51
  97. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +38 -0
  98. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +4 -0
  99. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/{header/index.tsx → header.tsx} +22 -31
  100. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/index.ts +3 -1
  101. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +32 -0
  102. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +19 -0
  103. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +331 -166
  104. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +61 -0
  105. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +21 -0
  106. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/index.ts +1 -0
  107. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +44 -0
  108. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +74 -0
  109. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/http.ts +28 -0
  110. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +258 -0
  111. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +16 -0
  112. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/audit-log.enum.ts +13 -0
  113. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/index.ts +1 -0
  114. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-name-initials.ts +8 -0
  115. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-random-color.ts +27 -0
  116. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/http.ts +87 -0
  117. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/index.tsx +6 -1
  118. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +22 -59
  119. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/utils.tsx +5 -0
  120. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +211 -0
  121. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useFetchData.ts +33 -0
  122. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRoles.ts +30 -0
  123. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useUserPageAccess.ts +339 -0
  124. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +8 -4
  125. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +3 -11
  126. package/dist/lib/application/files/gadmin2-game-angle-demo/web/{public → src}/locales/en/common.json +1 -1
  127. package/dist/lib/application/files/gadmin2-game-angle-demo/web/{public → src}/locales/zh_CN/common.json +1 -1
  128. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +3 -0
  129. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +134 -0
  130. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +113 -0
  131. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +122 -0
  132. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.ts +8 -0
  133. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +6 -0
  134. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +213 -0
  135. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +61 -0
  136. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +168 -0
  137. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +42 -0
  138. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +42 -0
  139. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +101 -0
  140. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +731 -0
  141. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/hooks/usePageManagement.ts +36 -0
  142. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.ts +1 -0
  143. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +1215 -0
  144. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/queries.ts +17 -0
  145. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/types.ts +45 -0
  146. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +1089 -0
  147. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +25 -0
  148. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +28 -0
  149. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +160 -0
  150. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +202 -0
  151. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.ts +2 -0
  152. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +212 -0
  153. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/queries.ts +10 -0
  154. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/types.ts +9 -0
  155. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +30 -0
  156. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +47 -0
  157. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +56 -0
  158. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +302 -0
  159. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/hooks/useRolePage.ts +35 -0
  160. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.ts +1 -0
  161. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +431 -0
  162. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/queries.ts +8 -0
  163. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/types.ts +8 -0
  164. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +17 -0
  165. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +19 -0
  166. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +188 -0
  167. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/index.ts +5 -0
  168. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +48 -0
  169. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +140 -0
  170. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.ts +1 -0
  171. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +372 -0
  172. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/queries.ts +14 -0
  173. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +132 -0
  174. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +58 -0
  175. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +128 -0
  176. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +18 -0
  177. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +21 -0
  178. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/audit-log.ts +1 -0
  179. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/index.ts +3 -0
  180. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/role.ts +7 -0
  181. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/user.ts +1 -0
  182. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/vite-env.d.ts +1 -0
  183. package/dist/lib/application/files/gadmin2-game-angle-demo/web/tsconfig.json +5 -4
  184. package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +31 -0
  185. package/dist/lib/application/files/gadmin2-game-angle-demo/web/yarn.lock +8321 -0
  186. package/package.json +1 -1
  187. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/sample.prisma +0 -65
  188. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Source.ts +0 -76
  189. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Tasklog.ts +0 -76
  190. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/roles.ts +0 -4
  191. package/dist/lib/application/files/gadmin2-game-angle-demo/web/craco.config.js +0 -27
  192. package/dist/lib/application/files/gadmin2-game-angle-demo/web/public/index.html +0 -53
  193. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/styles.ts +0 -10
  194. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/utils.ts +0 -76
  195. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/react-app-env.d.ts +0 -1
  196. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/reportWebVitals.ts +0 -15
  197. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.less +0 -79
  198. /package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/{index.js → index.jsx} +0 -0
@@ -1,185 +1,111 @@
1
- import React from "react";
2
- import { Refine, ResourceProps } from "@refinedev/core";
3
- import {
4
- notificationProvider,
5
- ErrorComponent,
6
- ThemedLayoutV2,
7
- } from "@refinedev/antd";
8
- import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar";
9
- import routerProvider, {
10
- NavigateToResource,
11
- UnsavedChangesNotifier,
12
- } from "@refinedev/react-router-v6";
13
- import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom";
14
- import { useTranslation } from "react-i18next";
15
- import resources from "generated/resources";
16
- import { OffLayoutArea } from "components/offLayoutArea";
17
- import { Header } from "components/layout";
18
- import { CustomSider } from "./components/layout";
19
- import { ColorModeContextProvider } from "components/contexts/color-mode";
20
- import { BusinessContextProvider } from "components/contexts/business";
21
- import { authProvider } from "authProvider";
22
- import produce from "immer";
23
- import Index from "pages/index";
24
- import "@refinedev/antd/dist/reset.css";
25
- import { auditLogProvider } from "auditLogProvider";
26
- import {
27
- DashboardOutlined,
28
- SettingOutlined,
29
- } from "@ant-design/icons";
30
- import { gadminCrudProvider as dataProvider } from "./helpers/login";
31
-
32
- const SYSTEM_MENU_NAME = "system";
33
- const newResources: ResourceProps[] = produce(resources, (draft) => {
34
- draft.forEach((resource) => {
35
- if (
36
- resource.meta &&
37
- ["game", "studio", "role", "log"].includes(resource.name)
38
- ) {
39
- resource.meta.parent = SYSTEM_MENU_NAME;
40
- resource.list = `/${SYSTEM_MENU_NAME}${resource.list}`;
41
- resource.create = `/${SYSTEM_MENU_NAME}${resource.create}`;
42
- resource.edit = `/${SYSTEM_MENU_NAME}${resource.edit}`;
43
- resource.clone = `/${SYSTEM_MENU_NAME}${resource.clone}`;
44
- resource.show = `/${SYSTEM_MENU_NAME}${resource.show}`;
45
- }
46
- });
47
- draft.splice(0, 0, {
48
- name: "index",
49
- list: "/index",
50
- meta: { icon: <DashboardOutlined /> },
51
- });
52
- draft.push({
53
- name: SYSTEM_MENU_NAME,
54
- list: `/${SYSTEM_MENU_NAME}`,
55
- meta: { icon: <SettingOutlined /> },
56
- });
57
- });
58
-
59
- function App() {
60
- const { t, i18n } = useTranslation();
61
-
62
- const i18nProvider = {
63
- translate: (key: string, defaultMessage?: string) => t(key, defaultMessage),
64
- changeLocale: (lang: string) => i18n.changeLanguage(lang),
65
- getLocale: () => i18n.language,
66
- };
67
-
68
- return (
69
- <BrowserRouter>
70
- <RefineKbarProvider>
71
- <BusinessContextProvider>
72
- <ColorModeContextProvider>
73
- <Refine
74
- resources={newResources}
75
- notificationProvider={notificationProvider}
76
- routerProvider={routerProvider}
77
- i18nProvider={i18nProvider}
78
- authProvider={authProvider}
79
- auditLogProvider={auditLogProvider(dataProvider)}
80
- dataProvider={{
81
- default: dataProvider,
82
- }}
83
- options={{
84
- syncWithLocation: true,
85
- warnWhenUnsavedChanges: true,
86
- }}
87
- >
88
- <Routes>
89
- <Route
90
- path="/"
91
- element={
92
- <ThemedLayoutV2
93
- Sider={CustomSider}
94
- Title={() => null}
95
- Header={Header}
96
- OffLayoutArea={OffLayoutArea}
97
- >
98
- <Outlet />
99
- </ThemedLayoutV2>
100
- }
101
- >
102
- <Route
103
- index
104
- element={<NavigateToResource resource="index" />}
105
- />
106
- <Route path="index" element={<Index />} />
107
- {newResources
108
- .filter((resource) => !resource?.meta?.parent)
109
- .map((resource) => {
110
- const {
111
- list: List,
112
- create: Create,
113
- edit: Edit,
114
- show: Show,
115
- } = resource?.meta?.components || {};
116
- return (
117
- <Route
118
- key={`/${resource.name}`}
119
- path={`/${resource.name}`}
120
- >
121
- {List ? <Route index element={<List />} /> : null}
122
- {Create ? (
123
- <Route path="create" element={<Create />} />
124
- ) : null}
125
- {Edit ? (
126
- <Route path="edit/:id" element={<Edit />} />
127
- ) : null}
128
- {Show ? (
129
- <Route path="show/:id" element={<Show />} />
130
- ) : null}
131
- {Edit ? (
132
- <Route path="clone/:id" element={<Edit />} />
133
- ) : null}
134
- </Route>
135
- );
136
- })}
137
- {[SYSTEM_MENU_NAME].map((name) => (
138
- <Route path={name}>
139
- {newResources
140
- .filter((resource) => resource?.meta?.parent === name)
141
- .map((resource) => {
142
- const {
143
- list: List,
144
- create: Create,
145
- edit: Edit,
146
- show: Show,
147
- } = resource?.meta?.components || {};
148
-
149
- return (
150
- <Route
151
- key={`${resource.name}`}
152
- path={`${resource.name}`}
153
- >
154
- {List ? <Route index element={<List />} /> : null}
155
- {Create ? (
156
- <Route path="create" element={<Create />} />
157
- ) : null}
158
- {Edit ? (
159
- <Route path="edit/:id" element={<Edit />} />
160
- ) : null}
161
- {Show ? (
162
- <Route path="show/:id" element={<Show />} />
163
- ) : null}
164
- {Edit ? (
165
- <Route path="clone/:id" element={<Edit />} />
166
- ) : null}
167
- </Route>
168
- );
169
- })}
170
- </Route>
171
- ))}
172
- <Route path="*" element={<ErrorComponent />} />
173
- </Route>
174
- </Routes>
175
- <RefineKbar />
176
- <UnsavedChangesNotifier />
177
- </Refine>
178
- </ColorModeContextProvider>
179
- </BusinessContextProvider>
180
- </RefineKbarProvider>
181
- </BrowserRouter>
182
- );
183
- }
184
-
185
- export default App;
1
+ import React from "react";
2
+ import { Refine } from "@refinedev/core";
3
+ import {
4
+ notificationProvider,
5
+ ErrorComponent,
6
+ } from "@refinedev/antd";
7
+ import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar";
8
+ import routerProvider, {
9
+ NavigateToResource,
10
+ UnsavedChangesNotifier,
11
+ } from "@refinedev/react-router-v6";
12
+ import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom";
13
+ import { useTranslation } from "react-i18next";
14
+ import { useMemo } from "react";
15
+ import { Spin } from "antd";
16
+ import { Layout } from "components/layout";
17
+ import { ColorModeContextProvider } from "components/contexts/color-mode";
18
+ import { BusinessContextProvider } from "components/contexts/business";
19
+ import { AgentProvider, AgentPanel } from "components/agentPanel";
20
+ import { authProvider } from "authProvider";
21
+ import "@refinedev/antd/dist/reset.css";
22
+ import "./styles/antd.css";
23
+ import "./styles/fc.css";
24
+ import "./styles/index.css";
25
+ import { auditLogProvider } from "auditLogProvider";
26
+ import { gadminCrudProvider as dataProvider } from "./helpers/login";
27
+ import { useDynamicResources } from "hooks/useDynamicResources";
28
+ import { renderRoutes } from "config/routeRegistry";
29
+
30
+ const isDev = import.meta.env.DEV;
31
+
32
+ // Wrapper component that only renders AgentProvider in development
33
+ const DevAgentWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {
34
+ if (!isDev) return <>{children}</>;
35
+ return (
36
+ <AgentProvider>
37
+ {children}
38
+ <AgentPanel />
39
+ </AgentProvider>
40
+ );
41
+ };
42
+
43
+ function App() {
44
+ const { i18n } = useTranslation();
45
+
46
+ // Stable reference — i18n object identity never changes, so this memo runs once.
47
+ // i18n.t / i18n.language are called at invocation time, always returning fresh values.
48
+ const i18nProvider = useMemo(() => ({
49
+ translate: (key: string, defaultMessage?: string) => i18n.t(key, defaultMessage ?? ""),
50
+ changeLocale: (lang: string) => i18n.changeLanguage(lang),
51
+ getLocale: () => i18n.language,
52
+ }), [i18n]);
53
+
54
+ const resources = useDynamicResources();
55
+
56
+ return (
57
+ <BrowserRouter>
58
+ <RefineKbarProvider>
59
+ <BusinessContextProvider>
60
+ <ColorModeContextProvider>
61
+ <DevAgentWrapper>
62
+ <Refine
63
+ resources={resources}
64
+ notificationProvider={notificationProvider}
65
+ routerProvider={routerProvider}
66
+ i18nProvider={i18nProvider}
67
+ authProvider={authProvider}
68
+ auditLogProvider={auditLogProvider(dataProvider)}
69
+ dataProvider={{
70
+ default: dataProvider,
71
+ }}
72
+ options={{
73
+ syncWithLocation: true,
74
+ warnWhenUnsavedChanges: true,
75
+ }}
76
+ >
77
+ {resources.length === 0 ? (
78
+ <div style={{ display: "flex", justifyContent: "center", alignItems: "center", height: "100vh" }}>
79
+ <Spin size="large" />
80
+ </div>
81
+ ) : (
82
+ <Routes>
83
+ <Route
84
+ path="/"
85
+ element={
86
+ <Layout>
87
+ <Outlet />
88
+ </Layout>
89
+ }
90
+ >
91
+ <Route
92
+ index
93
+ element={<NavigateToResource resource={resources[0]?.name} />}
94
+ />
95
+ {renderRoutes()}
96
+ <Route path="*" element={<ErrorComponent />} />
97
+ </Route>
98
+ </Routes>
99
+ )}
100
+ <RefineKbar />
101
+ <UnsavedChangesNotifier />
102
+ </Refine>
103
+ </DevAgentWrapper>
104
+ </ColorModeContextProvider>
105
+ </BusinessContextProvider>
106
+ </RefineKbarProvider>
107
+ </BrowserRouter>
108
+ );
109
+ }
110
+
111
+ export default App;
@@ -10,7 +10,7 @@ export function auditLogProvider(
10
10
  return {
11
11
  get: async ({ resource, meta, }) => {
12
12
  const { data } = await dataProvider.getList({
13
- resource: "log",
13
+ resource: "audit",
14
14
  filters: [
15
15
  {
16
16
  field: "resource",
@@ -34,7 +34,7 @@ export function auditLogProvider(
34
34
  params.data.length === params?.meta?.ids.length
35
35
  ) {
36
36
  return dataProvider.createMany({
37
- resource: "log",
37
+ resource: "audit",
38
38
  variables: params.data.map((item: any, index: number) => ({
39
39
  action: params.action,
40
40
  resource: params.resource,
@@ -49,7 +49,7 @@ export function auditLogProvider(
49
49
  });
50
50
  } else {
51
51
  return dataProvider.createMany({
52
- resource: "log",
52
+ resource: "audit",
53
53
  variables: params.meta.ids.map((id: any) => ({
54
54
  action: params.action,
55
55
  resource: params.resource,
@@ -63,7 +63,7 @@ export function auditLogProvider(
63
63
  }
64
64
  }
65
65
  return dataProvider.create({
66
- resource: "log",
66
+ resource: "audit",
67
67
  variables: {
68
68
  action: params.action,
69
69
  resource: params.resource,
@@ -77,7 +77,7 @@ export function auditLogProvider(
77
77
  },
78
78
  update: async ({ id, name }) => {
79
79
  const { data } = await dataProvider.update({
80
- resource: "log",
80
+ resource: "audit",
81
81
  id,
82
82
  variables: { name },
83
83
  });
@@ -1,6 +1,6 @@
1
1
  import { AuthBindings } from '@refinedev/core';
2
- import { getApiUrl } from 'helpers/utils';
3
- import { requestHeaders } from 'helpers/login';
2
+ import { getApiUrl } from 'config/http';
3
+ import { requestHeaders } from 'helpers';
4
4
  import memoize from 'lodash.memoize';
5
5
 
6
6
  const getUserInfoOnce = memoize(async () => {