@alepha/ui 0.17.2 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/admin/{AdminApiKeys-CF_qOO3u.js → AdminApiKeys-C-6_Q-lH.js} +56 -192
  2. package/dist/admin/AdminApiKeys-C-6_Q-lH.js.map +1 -0
  3. package/dist/admin/{AdminAudits-BQno3hZG.js → AdminAudits-Bgbf04hO.js} +25 -61
  4. package/dist/admin/AdminAudits-Bgbf04hO.js.map +1 -0
  5. package/dist/admin/{AdminFiles-kvuUaASF.js → AdminFiles-B9a7G3cY.js} +6 -8
  6. package/dist/admin/AdminFiles-B9a7G3cY.js.map +1 -0
  7. package/dist/admin/{AdminJobDashboard-CrPxp0W1.js → AdminJobDashboard-DaTwf5OY.js} +55 -186
  8. package/dist/admin/AdminJobDashboard-DaTwf5OY.js.map +1 -0
  9. package/dist/admin/{AdminJobExecutions-D-b4Zt7W.js → AdminJobExecutions-B9cek5dl.js} +132 -168
  10. package/dist/admin/AdminJobExecutions-B9cek5dl.js.map +1 -0
  11. package/dist/admin/{AdminJobRegistry-CNX5cpDx.js → AdminJobRegistry-DFgV3oqx.js} +60 -83
  12. package/dist/admin/AdminJobRegistry-DFgV3oqx.js.map +1 -0
  13. package/dist/admin/AdminLayout-DHsvWxVB.js +70 -0
  14. package/dist/admin/AdminLayout-DHsvWxVB.js.map +1 -0
  15. package/dist/admin/{AdminParameters-DCGbpt2c.js → AdminParameters-DHw9ATgl.js} +53 -53
  16. package/dist/admin/AdminParameters-DHw9ATgl.js.map +1 -0
  17. package/dist/admin/{AdminSessions-DyhW6RZv.js → AdminSessions-BhGJPI3z.js} +11 -18
  18. package/dist/admin/AdminSessions-BhGJPI3z.js.map +1 -0
  19. package/dist/admin/{AdminUserLayout-CrBj4UuI.js → AdminUserLayout-BdC4Te8m.js} +112 -151
  20. package/dist/admin/AdminUserLayout-BdC4Te8m.js.map +1 -0
  21. package/dist/admin/AdminUserProfile-DAt23fqY.js +69 -0
  22. package/dist/admin/AdminUserProfile-DAt23fqY.js.map +1 -0
  23. package/dist/admin/AdminUserSessions-1uzcx02z.js +109 -0
  24. package/dist/admin/AdminUserSessions-1uzcx02z.js.map +1 -0
  25. package/dist/admin/AdminUsers-C85c3eiQ.js +121 -0
  26. package/dist/admin/AdminUsers-C85c3eiQ.js.map +1 -0
  27. package/dist/{auth/AuthLayout-CdJcrPs4.js → admin/AuthLayout-DFJvCvzw.js} +3 -3
  28. package/dist/{auth/AuthLayout-CdJcrPs4.js.map → admin/AuthLayout-DFJvCvzw.js.map} +1 -1
  29. package/dist/{auth/IconGoogle-Bm18QD2q.js → admin/IconGoogle-CSQLPYwX.js} +1 -1
  30. package/dist/{auth/IconGoogle-Bm18QD2q.js.map → admin/IconGoogle-CSQLPYwX.js.map} +1 -1
  31. package/dist/{demo/DemoLogin-DjJ9314c.js → admin/Login-BGheURrg.js} +15 -129
  32. package/dist/{auth/Login-BS_FYTy0.js.map → admin/Login-BGheURrg.js.map} +1 -1
  33. package/dist/{auth/Profile-CjDsW378.js → admin/Profile-B-c9pCPf.js} +5 -5
  34. package/dist/{auth/Profile-CjDsW378.js.map → admin/Profile-B-c9pCPf.js.map} +1 -1
  35. package/dist/{demo/DemoRegister-DzkJ5M83.js → admin/Register-Cs10l8vX.js} +20 -146
  36. package/dist/{auth/Register-C5eqzAaD.js.map → admin/Register-Cs10l8vX.js.map} +1 -1
  37. package/dist/{demo/DemoResetPassword-DWh4_BpQ.js → admin/ResetPassword-BwDdfkGH.js} +20 -82
  38. package/dist/{auth/ResetPassword-XifinVao.js.map → admin/ResetPassword-BwDdfkGH.js.map} +1 -1
  39. package/dist/{demo/DemoVerifyEmail-DbU_tCj8.js → admin/VerifyEmail-DfXHAiQl.js} +15 -32
  40. package/dist/{auth/VerifyEmail-DTgbeJOO.js.map → admin/VerifyEmail-DfXHAiQl.js.map} +1 -1
  41. package/dist/admin/auth-Dr0Cf8I7.js +319 -0
  42. package/dist/admin/auth-Dr0Cf8I7.js.map +1 -0
  43. package/dist/admin/core-2xoLiT0o.js +4031 -0
  44. package/dist/admin/core-2xoLiT0o.js.map +1 -0
  45. package/dist/admin/index.d.ts +739 -13
  46. package/dist/admin/index.d.ts.map +1 -1
  47. package/dist/admin/index.js +79 -111
  48. package/dist/admin/index.js.map +1 -1
  49. package/dist/admin/rolldown-runtime-CjeV3_4I.js +18 -0
  50. package/dist/auth/AuthLayout-CAE1pX9s.js +22 -0
  51. package/dist/auth/AuthLayout-CAE1pX9s.js.map +1 -0
  52. package/dist/auth/{Login-BS_FYTy0.js → Login-Denw_UGy.js} +8 -8
  53. package/dist/auth/Login-Denw_UGy.js.map +1 -0
  54. package/dist/auth/Profile-BMX_Ar_s.js +155 -0
  55. package/dist/auth/Profile-BMX_Ar_s.js.map +1 -0
  56. package/dist/auth/{Register-C5eqzAaD.js → Register-6hi_cpfF.js} +8 -8
  57. package/dist/auth/Register-6hi_cpfF.js.map +1 -0
  58. package/dist/auth/{ResetPassword-XifinVao.js → ResetPassword-CqfTk1FI.js} +6 -6
  59. package/dist/auth/ResetPassword-CqfTk1FI.js.map +1 -0
  60. package/dist/auth/{VerifyEmail-DTgbeJOO.js → VerifyEmail-nWiSTMjF.js} +5 -5
  61. package/dist/auth/VerifyEmail-nWiSTMjF.js.map +1 -0
  62. package/dist/auth/core-niW0sFLv.js +2264 -0
  63. package/dist/auth/core-niW0sFLv.js.map +1 -0
  64. package/dist/auth/index.d.ts +336 -8
  65. package/dist/auth/index.d.ts.map +1 -1
  66. package/dist/auth/index.js +18 -22
  67. package/dist/auth/index.js.map +1 -1
  68. package/dist/core/index.d.ts +1033 -843
  69. package/dist/core/index.d.ts.map +1 -1
  70. package/dist/core/index.js +1626 -1354
  71. package/dist/core/index.js.map +1 -1
  72. package/dist/demo/AuthLayout-jLa0aKsI.js +22 -0
  73. package/dist/demo/AuthLayout-jLa0aKsI.js.map +1 -0
  74. package/dist/demo/DemoButton-BmaWZVwf.js +178 -0
  75. package/dist/demo/DemoButton-BmaWZVwf.js.map +1 -0
  76. package/dist/demo/{DemoDataTable-lnBKWBf8.js → DemoDataTable-Z9xyV221.js} +18 -18
  77. package/dist/demo/DemoDataTable-Z9xyV221.js.map +1 -0
  78. package/dist/demo/DemoDialog-4ItHLf9t.js +101 -0
  79. package/dist/demo/DemoDialog-4ItHLf9t.js.map +1 -0
  80. package/dist/demo/DemoFlex-EtVq8QfX.js +105 -0
  81. package/dist/demo/DemoFlex-EtVq8QfX.js.map +1 -0
  82. package/dist/demo/DemoHeading-BS-vGfkI.js +18 -0
  83. package/dist/demo/DemoHeading-BS-vGfkI.js.map +1 -0
  84. package/dist/demo/{DemoHome-CUMZsYaH.js → DemoHome-Clbn8AmS.js} +9 -12
  85. package/dist/demo/DemoHome-Clbn8AmS.js.map +1 -0
  86. package/dist/demo/DemoJsonViewer-DkIX_ky2.js +109 -0
  87. package/dist/demo/DemoJsonViewer-DkIX_ky2.js.map +1 -0
  88. package/dist/demo/DemoLayout-C56xb5EE.js +73 -0
  89. package/dist/demo/DemoLayout-C56xb5EE.js.map +1 -0
  90. package/dist/demo/DemoLogin-BZwpicOS.js +128 -0
  91. package/dist/demo/DemoLogin-BZwpicOS.js.map +1 -0
  92. package/dist/demo/DemoRegister-C7_qc4MJ.js +140 -0
  93. package/dist/demo/DemoRegister-C7_qc4MJ.js.map +1 -0
  94. package/dist/demo/DemoResetPassword-BI1Ct4Dw.js +76 -0
  95. package/dist/demo/DemoResetPassword-BI1Ct4Dw.js.map +1 -0
  96. package/dist/demo/{DemoSidebar-C1csnGhX.js → DemoSidebar-CcBo4ltC.js} +6 -9
  97. package/dist/demo/DemoSidebar-CcBo4ltC.js.map +1 -0
  98. package/dist/demo/DemoText-CzXuUn3g.js +124 -0
  99. package/dist/demo/DemoText-CzXuUn3g.js.map +1 -0
  100. package/dist/demo/DemoToast-BgHDhWrX.js +95 -0
  101. package/dist/demo/DemoToast-BgHDhWrX.js.map +1 -0
  102. package/dist/demo/{DemoTypeForm-CWz6fJrJ.js → DemoTypeForm-DDzWoMSV.js} +4 -4
  103. package/dist/demo/{DemoTypeForm-CWz6fJrJ.js.map → DemoTypeForm-DDzWoMSV.js.map} +1 -1
  104. package/dist/demo/DemoVerifyEmail-C_Irdnov.js +30 -0
  105. package/dist/demo/DemoVerifyEmail-C_Irdnov.js.map +1 -0
  106. package/dist/demo/IconGoogle-CSQLPYwX.js +56 -0
  107. package/dist/demo/IconGoogle-CSQLPYwX.js.map +1 -0
  108. package/dist/demo/Login-hSOU3jZc.js +219 -0
  109. package/dist/demo/Login-hSOU3jZc.js.map +1 -0
  110. package/dist/demo/Profile-CWqti7FB.js +155 -0
  111. package/dist/demo/Profile-CWqti7FB.js.map +1 -0
  112. package/dist/demo/Register-a70LPgs2.js +375 -0
  113. package/dist/demo/Register-a70LPgs2.js.map +1 -0
  114. package/dist/demo/ResetPassword-DWN0lzr5.js +286 -0
  115. package/dist/demo/ResetPassword-DWN0lzr5.js.map +1 -0
  116. package/dist/demo/Showcase-Dq3MISpd.js +232 -0
  117. package/dist/demo/Showcase-Dq3MISpd.js.map +1 -0
  118. package/dist/demo/VerifyEmail-DZWL72K4.js +135 -0
  119. package/dist/demo/VerifyEmail-DZWL72K4.js.map +1 -0
  120. package/dist/demo/auth-d6n3xbug.js +257 -0
  121. package/dist/demo/auth-d6n3xbug.js.map +1 -0
  122. package/dist/demo/core-RCUw1Q-a.js +4217 -0
  123. package/dist/demo/core-RCUw1Q-a.js.map +1 -0
  124. package/dist/demo/index.d.ts +17 -6
  125. package/dist/demo/index.d.ts.map +1 -1
  126. package/dist/demo/index.js +92 -24
  127. package/dist/demo/index.js.map +1 -1
  128. package/dist/demo/rolldown-runtime-CjeV3_4I.js +18 -0
  129. package/package.json +16 -20
  130. package/src/admin/AdminRouter.ts +10 -39
  131. package/src/admin/components/AdminLayout.tsx +42 -10
  132. package/src/admin/components/audits/AdminAudits.tsx +10 -64
  133. package/src/admin/components/files/AdminFiles.tsx +2 -3
  134. package/src/admin/components/jobs/AdminJobDashboard.tsx +36 -142
  135. package/src/admin/components/jobs/AdminJobExecutions.tsx +117 -175
  136. package/src/admin/components/jobs/AdminJobRegistry.tsx +58 -73
  137. package/src/admin/components/keys/AdminApiKeys.tsx +21 -169
  138. package/src/admin/components/parameters/AdminParameters.tsx +4 -4
  139. package/src/admin/components/parameters/ParameterEmptyState.tsx +1 -2
  140. package/src/admin/components/parameters/ParameterHistory.tsx +3 -3
  141. package/src/admin/components/parameters/ParameterTree.tsx +2 -8
  142. package/src/admin/components/parameters/types.ts +3 -3
  143. package/src/admin/components/sessions/AdminSessions.tsx +8 -16
  144. package/src/admin/components/users/AdminUserLayout.tsx +113 -150
  145. package/src/admin/components/users/AdminUserProfile.tsx +50 -0
  146. package/src/admin/components/users/AdminUserSessions.tsx +106 -126
  147. package/src/admin/components/users/AdminUsers.tsx +46 -62
  148. package/src/admin/index.ts +0 -4
  149. package/src/auth/components/buttons/UserButton.tsx +1 -1
  150. package/src/auth/index.ts +0 -4
  151. package/src/core/UiRouter.ts +1 -1
  152. package/src/core/atoms/alephaSidebarAtom.ts +7 -31
  153. package/src/core/components/{layout/AlephaMantineProvider.tsx → AlephaMantineProvider.tsx} +3 -4
  154. package/src/core/components/Flex.tsx +63 -0
  155. package/src/core/components/Heading.tsx +19 -0
  156. package/src/core/components/Text.tsx +140 -0
  157. package/src/core/components/buttons/ActionButton.tsx +12 -1
  158. package/src/core/components/buttons/BurgerButton.tsx +3 -3
  159. package/src/core/components/buttons/LanguageButton.tsx +1 -1
  160. package/src/core/components/buttons/ToggleSidebarButton.tsx +1 -4
  161. package/src/core/components/data/DetailDrawer.tsx +144 -0
  162. package/src/core/components/data/DetailList.tsx +64 -0
  163. package/src/core/components/data/StatCards.tsx +50 -0
  164. package/src/core/components/layout/AppBar.tsx +11 -10
  165. package/src/core/components/layout/Breadcrumb.tsx +8 -8
  166. package/src/core/components/layout/Container.tsx +15 -0
  167. package/src/core/components/layout/DashboardShell.tsx +23 -238
  168. package/src/core/components/layout/Omnibar.tsx +1 -2
  169. package/src/core/components/layout/Sidebar.tsx +103 -71
  170. package/src/core/components/layout/index.ts +65 -0
  171. package/src/core/{components/form → form/components}/Control.tsx +32 -14
  172. package/src/core/{components/form → form/components}/ControlArray.tsx +2 -5
  173. package/src/core/{components/form → form/components}/ControlDate.tsx +1 -4
  174. package/src/core/{components/form → form/components}/ControlNumber.tsx +1 -4
  175. package/src/core/{components/form → form/components}/ControlObject.tsx +1 -4
  176. package/src/core/{components/form → form/components}/ControlQueryBuilder.tsx +7 -7
  177. package/src/core/{components/form → form/components}/ControlSelect.tsx +2 -4
  178. package/src/core/{components/form → form/components}/TypeForm.browser.spec.tsx +22 -64
  179. package/src/core/{components/form → form/components}/TypeForm.tsx +1 -3
  180. package/src/core/form/factories/dialogForm.tsx +31 -0
  181. package/src/core/form/index.ts +23 -0
  182. package/src/core/{utils → form/utils}/parseInput.ts +2 -4
  183. package/src/core/index.ts +43 -51
  184. package/src/core/interfaces/AlephaIntent.ts +6 -0
  185. package/src/core/interfaces/AlephaTheme.ts +0 -1
  186. package/src/core/json/factories/dialogJson.tsx +24 -0
  187. package/src/core/json/index.ts +2 -0
  188. package/src/core/primitives/$ui.ts +17 -0
  189. package/src/core/services/DialogService.tsx +1 -48
  190. package/src/core/styles.css +1 -8
  191. package/src/core/{components/table → table/components}/ColumnPicker.tsx +2 -3
  192. package/src/core/{components/table → table/components}/DataTable.tsx +8 -9
  193. package/src/core/{components/table → table/components}/DataTableFilters.tsx +6 -3
  194. package/src/core/{components/table → table/components}/DataTableToolbar.tsx +4 -5
  195. package/src/core/{components/table → table/components}/FilterPicker.tsx +2 -3
  196. package/src/core/table/index.ts +12 -0
  197. package/src/core/{components/table → table/interfaces}/types.ts +2 -2
  198. package/src/demo/DemoRouter.ts +87 -6
  199. package/src/demo/components/DemoHome.tsx +6 -10
  200. package/src/demo/components/DemoLayout.tsx +38 -8
  201. package/src/demo/components/auth/DemoLogin.tsx +1 -1
  202. package/src/demo/components/auth/DemoRegister.tsx +1 -1
  203. package/src/demo/components/auth/DemoResetPassword.tsx +1 -1
  204. package/src/demo/components/auth/DemoVerifyEmail.tsx +1 -1
  205. package/src/demo/components/core/DemoButton.tsx +160 -0
  206. package/src/demo/components/core/DemoFlex.tsx +101 -0
  207. package/src/demo/components/core/DemoHeading.tsx +13 -0
  208. package/src/demo/components/core/DemoText.tsx +110 -0
  209. package/src/demo/components/json/DemoJsonViewer.tsx +1 -1
  210. package/src/demo/components/layout/DemoDialog.tsx +103 -0
  211. package/src/demo/components/{core → layout}/DemoSidebar.tsx +0 -1
  212. package/src/demo/components/layout/DemoToast.tsx +96 -0
  213. package/src/demo/components/shared/MacWindow.tsx +149 -74
  214. package/src/demo/components/shared/Showcase.tsx +4 -8
  215. package/src/demo/index.ts +1 -4
  216. package/src/demo/primitives/$uiDemo.ts +10 -0
  217. package/dist/admin/AdminApiKeys-CF_qOO3u.js.map +0 -1
  218. package/dist/admin/AdminAudits-BQno3hZG.js.map +0 -1
  219. package/dist/admin/AdminFiles-kvuUaASF.js.map +0 -1
  220. package/dist/admin/AdminJobDashboard-CrPxp0W1.js.map +0 -1
  221. package/dist/admin/AdminJobExecutions-D-b4Zt7W.js.map +0 -1
  222. package/dist/admin/AdminJobRegistry-CNX5cpDx.js.map +0 -1
  223. package/dist/admin/AdminLayout-e-ZP5nWw.js +0 -37
  224. package/dist/admin/AdminLayout-e-ZP5nWw.js.map +0 -1
  225. package/dist/admin/AdminParameters-DCGbpt2c.js.map +0 -1
  226. package/dist/admin/AdminSessions-DyhW6RZv.js.map +0 -1
  227. package/dist/admin/AdminUserAudits-D1GcREEE.js +0 -177
  228. package/dist/admin/AdminUserAudits-D1GcREEE.js.map +0 -1
  229. package/dist/admin/AdminUserCreate-DR8LA0tv.js +0 -104
  230. package/dist/admin/AdminUserCreate-DR8LA0tv.js.map +0 -1
  231. package/dist/admin/AdminUserDetails-CDkZNHQD.js +0 -477
  232. package/dist/admin/AdminUserDetails-CDkZNHQD.js.map +0 -1
  233. package/dist/admin/AdminUserLayout-CrBj4UuI.js.map +0 -1
  234. package/dist/admin/AdminUserSessions-srgFHrqy.js +0 -129
  235. package/dist/admin/AdminUserSessions-srgFHrqy.js.map +0 -1
  236. package/dist/admin/AdminUserSettings-BFuxl-xT.js +0 -167
  237. package/dist/admin/AdminUserSettings-BFuxl-xT.js.map +0 -1
  238. package/dist/admin/AdminUsers-D1pDpiwK.js +0 -118
  239. package/dist/admin/AdminUsers-D1pDpiwK.js.map +0 -1
  240. package/dist/demo/DemoDataTable-lnBKWBf8.js.map +0 -1
  241. package/dist/demo/DemoHome-CUMZsYaH.js.map +0 -1
  242. package/dist/demo/DemoJsonViewer-_uokbGaW.js +0 -429
  243. package/dist/demo/DemoJsonViewer-_uokbGaW.js.map +0 -1
  244. package/dist/demo/DemoLayout-DHVoacE6.js +0 -46
  245. package/dist/demo/DemoLayout-DHVoacE6.js.map +0 -1
  246. package/dist/demo/DemoLogin-DjJ9314c.js.map +0 -1
  247. package/dist/demo/DemoRegister-DzkJ5M83.js.map +0 -1
  248. package/dist/demo/DemoResetPassword-DWh4_BpQ.js.map +0 -1
  249. package/dist/demo/DemoSidebar-C1csnGhX.js.map +0 -1
  250. package/dist/demo/DemoVerifyEmail-DbU_tCj8.js.map +0 -1
  251. package/dist/demo/Showcase-BzoXNlCn.js +0 -185
  252. package/dist/demo/Showcase-BzoXNlCn.js.map +0 -1
  253. package/dist/json/index.d.ts +0 -57
  254. package/dist/json/index.d.ts.map +0 -1
  255. package/dist/json/index.js +0 -325
  256. package/dist/json/index.js.map +0 -1
  257. package/src/admin/components/users/AdminUserAudits.tsx +0 -184
  258. package/src/admin/components/users/AdminUserCreate.tsx +0 -85
  259. package/src/admin/components/users/AdminUserDetails.tsx +0 -431
  260. package/src/admin/components/users/AdminUserSettings.tsx +0 -171
  261. package/src/core/components/data/ErrorViewer.tsx +0 -171
  262. package/src/json/extensions/DialogService.tsx +0 -31
  263. package/src/json/index.ts +0 -18
  264. package/src/json/styles.css +0 -1
  265. /package/dist/{demo → auth}/IconGoogle-Ch1m3Uzl.js +0 -0
  266. /package/dist/{demo → auth}/IconGoogle-Ch1m3Uzl.js.map +0 -0
  267. /package/src/{json → core/json}/components/JsonViewer.css +0 -0
  268. /package/src/{json → core/json}/components/JsonViewer.tsx +0 -0
  269. /package/src/core/{components/table → table/components}/DataTablePagination.tsx +0 -0
  270. /package/src/core/{components/table → table/components}/useTableSelection.ts +0 -0
@@ -1,12 +1,6 @@
1
1
  import { DataTable, Flex, Text } from "@alepha/ui";
2
2
  import { Badge, Tooltip } from "@mantine/core";
3
- import {
4
- IconAlertTriangle,
5
- IconCheck,
6
- IconInfoCircle,
7
- IconUser,
8
- IconX,
9
- } from "@tabler/icons-react";
3
+ import { IconCheck, IconUser, IconX } from "@tabler/icons-react";
10
4
  import { type Page, t } from "alepha";
11
5
  import type { AdminAuditController, AuditEntity } from "alepha/api/audits";
12
6
  import { useClient } from "alepha/react";
@@ -18,49 +12,6 @@ export interface AdminAuditsProps {
18
12
  userRealmName?: string;
19
13
  }
20
14
 
21
- const getSeverityColor = (severity: string) => {
22
- switch (severity) {
23
- case "critical":
24
- return "red";
25
- case "warning":
26
- return "yellow";
27
- default:
28
- return "blue";
29
- }
30
- };
31
-
32
- const getSeverityIcon = (severity: string) => {
33
- switch (severity) {
34
- case "critical":
35
- return <IconAlertTriangle size={12} />;
36
- case "warning":
37
- return <IconAlertTriangle size={12} />;
38
- default:
39
- return <IconInfoCircle size={12} />;
40
- }
41
- };
42
-
43
- const getTypeColor = (type: string) => {
44
- switch (type) {
45
- case "auth":
46
- return "blue";
47
- case "user":
48
- return "grape";
49
- case "security":
50
- return "red";
51
- case "system":
52
- return "orange";
53
- case "access":
54
- return "cyan";
55
- case "payment":
56
- return "green";
57
- case "order":
58
- return "teal";
59
- default:
60
- return "gray";
61
- }
62
- };
63
-
64
15
  const AdminAudits = (props: AdminAuditsProps) => {
65
16
  const client = useClient<AdminAuditController>();
66
17
  const router = useRouter<AdminRouter>();
@@ -100,7 +51,7 @@ const AdminAudits = (props: AdminAuditsProps) => {
100
51
  },
101
52
  onClick: () => {
102
53
  if (item.userId) {
103
- router.push("adminUserDetails", {
54
+ router.push("adminUserProfile", {
104
55
  params: { userId: item.userId },
105
56
  });
106
57
  }
@@ -120,7 +71,7 @@ const AdminAudits = (props: AdminAuditsProps) => {
120
71
  label: "Type",
121
72
  fit: true,
122
73
  value: (item) => (
123
- <Badge size="sm" variant="light" color={getTypeColor(item.type)}>
74
+ <Badge size="sm" variant="default">
124
75
  {item.type}
125
76
  </Badge>
126
77
  ),
@@ -129,7 +80,7 @@ const AdminAudits = (props: AdminAuditsProps) => {
129
80
  label: "Action",
130
81
  fit: true,
131
82
  value: (item) => (
132
- <Badge size="sm" variant="outline">
83
+ <Badge size="sm" variant="default">
133
84
  {item.action}
134
85
  </Badge>
135
86
  ),
@@ -138,14 +89,9 @@ const AdminAudits = (props: AdminAuditsProps) => {
138
89
  label: "Severity",
139
90
  fit: true,
140
91
  value: (item) => (
141
- <Badge
142
- size="xs"
143
- variant="light"
144
- color={getSeverityColor(item.severity)}
145
- leftSection={getSeverityIcon(item.severity)}
146
- >
92
+ <Text size="xs" tt="capitalize">
147
93
  {item.severity}
148
- </Badge>
94
+ </Text>
149
95
  ),
150
96
  },
151
97
  user: {
@@ -190,9 +136,9 @@ const AdminAudits = (props: AdminAuditsProps) => {
190
136
  value: (item) =>
191
137
  item.resourceType ? (
192
138
  <Tooltip label={`${item.resourceType}: ${item.resourceId}`}>
193
- <Badge size="xs" variant="dot" color="gray">
139
+ <Text size="xs" ff="monospace">
194
140
  {item.resourceType}
195
- </Badge>
141
+ </Text>
196
142
  </Tooltip>
197
143
  ) : (
198
144
  <Text size="xs" c="dimmed">
@@ -205,10 +151,10 @@ const AdminAudits = (props: AdminAuditsProps) => {
205
151
  fit: true,
206
152
  value: (item) =>
207
153
  item.success ? (
208
- <IconCheck size={14} color="var(--mantine-color-green-6)" />
154
+ <IconCheck size={14} />
209
155
  ) : (
210
156
  <Tooltip label={item.errorMessage || "Failed"}>
211
- <IconX size={14} color="var(--mantine-color-red-6)" />
157
+ <IconX size={14} />
212
158
  </Tooltip>
213
159
  ),
214
160
  },
@@ -1,5 +1,4 @@
1
1
  import { DataTable, Flex, Text } from "@alepha/ui";
2
- import { Badge } from "@mantine/core";
3
2
  import { type Page, t } from "alepha";
4
3
  import { type FileController, type FileEntity, files } from "alepha/api/files";
5
4
  import { useClient } from "alepha/react";
@@ -67,9 +66,9 @@ const AdminFiles = () => {
67
66
  label: "Bucket",
68
67
  fit: true,
69
68
  value: (item) => (
70
- <Badge size="sm" variant="light" color="blue">
69
+ <Text size="xs" ff="monospace">
71
70
  {item.bucket}
72
- </Badge>
71
+ </Text>
73
72
  ),
74
73
  },
75
74
  mimeType: {
@@ -1,11 +1,9 @@
1
- import { ActionButton, Flex, Text, useToast } from "@alepha/ui";
1
+ import { ActionButton, Flex, StatCards, Text, useToast } from "@alepha/ui";
2
2
  import { AreaChart, BarChart, DonutChart } from "@mantine/charts";
3
- import { Badge, Paper, SimpleGrid, Table, ThemeIcon } from "@mantine/core";
3
+ import { Paper, SimpleGrid, Table } from "@mantine/core";
4
4
  import {
5
5
  IconAlertTriangle,
6
6
  IconCircleCheck,
7
- IconCircleX,
8
- IconClock,
9
7
  IconPlayerPlay,
10
8
  IconRefresh,
11
9
  IconTerminal2,
@@ -38,44 +36,6 @@ const formatDuration = (
38
36
  return `${Math.floor(duration / 3600000)}h ${Math.floor((duration % 3600000) / 60000)}m`;
39
37
  };
40
38
 
41
- const getStatusColor = (status: string) => {
42
- switch (status) {
43
- case "completed":
44
- return "teal";
45
- case "running":
46
- return "blue";
47
- case "failed":
48
- case "dead":
49
- return "red";
50
- case "cancelled":
51
- return "orange";
52
- case "scheduled":
53
- return "violet";
54
- case "retrying":
55
- return "yellow";
56
- case "pending":
57
- return "gray";
58
- default:
59
- return "gray";
60
- }
61
- };
62
-
63
- const getStatusIcon = (status: string, size = 14) => {
64
- switch (status) {
65
- case "completed":
66
- return <IconCircleCheck size={size} />;
67
- case "failed":
68
- case "dead":
69
- return <IconCircleX size={size} />;
70
- case "running":
71
- return <IconPlayerPlay size={size} />;
72
- case "cancelled":
73
- return <IconAlertTriangle size={size} />;
74
- default:
75
- return <IconClock size={size} />;
76
- }
77
- };
78
-
79
39
  // ─────────────────────────────────────────────────────────────────────────────
80
40
 
81
41
  interface RecentExecution {
@@ -104,10 +64,10 @@ const AdminJobDashboard = () => {
104
64
  const [statsData, recentData, failureData, activityData, queueData] =
105
65
  await Promise.all([
106
66
  client.getJobStats(),
107
- client.findExecutions({ query: { sort: "-createdAt", size: 10 } }),
108
- client.getTopFailures(),
109
- client.getActivity({ query: { days: 14 } }),
110
- client.getQueueDepth(),
67
+ client.findJobExecutions({ query: { sort: "-createdAt", size: 10 } }),
68
+ client.getJobTopFailures(),
69
+ client.getJobActivity({ query: { days: 14 } }),
70
+ client.getJobQueueDepth(),
111
71
  ]);
112
72
  setStats(statsData);
113
73
  setRecent(recentData.content as RecentExecution[]);
@@ -176,91 +136,30 @@ const AdminJobDashboard = () => {
176
136
 
177
137
  {/* Stats Cards */}
178
138
  {stats && (
179
- <SimpleGrid cols={{ base: 2, sm: 4 }} spacing="md">
180
- <Paper p="md" radius="md" withBorder>
181
- <Flex justify="space-between">
182
- <Flex direction="column">
183
- <Text size="xs" c="dimmed" tt="uppercase" fw={600}>
184
- Registered
185
- </Text>
186
- <Text size="xl" fw={700} ff="monospace">
187
- {stats.registered}
188
- </Text>
189
- </Flex>
190
- <ThemeIcon size="lg" radius="md" variant="light" color="blue">
191
- <IconTerminal2 size={20} />
192
- </ThemeIcon>
193
- </Flex>
194
- </Paper>
195
-
196
- <Paper p="md" radius="md" withBorder>
197
- <Flex justify="space-between">
198
- <Flex direction="column">
199
- <Text size="xs" c="dimmed" tt="uppercase" fw={600}>
200
- Running
201
- </Text>
202
- <Text
203
- size="xl"
204
- fw={700}
205
- ff="monospace"
206
- c={stats.running > 0 ? "blue" : undefined}
207
- >
208
- {stats.running}
209
- </Text>
210
- </Flex>
211
- <ThemeIcon
212
- size="lg"
213
- radius="md"
214
- variant="light"
215
- color={stats.running > 0 ? "blue" : "gray"}
216
- >
217
- <IconPlayerPlay size={20} />
218
- </ThemeIcon>
219
- </Flex>
220
- </Paper>
221
-
222
- <Paper p="md" radius="md" withBorder>
223
- <Flex justify="space-between">
224
- <Flex direction="column">
225
- <Text size="xs" c="dimmed" tt="uppercase" fw={600}>
226
- Completed 24h
227
- </Text>
228
- <Text size="xl" fw={700} ff="monospace" c="teal">
229
- {stats.completed24h}
230
- </Text>
231
- </Flex>
232
- <ThemeIcon size="lg" radius="md" variant="light" color="teal">
233
- <IconCircleCheck size={20} />
234
- </ThemeIcon>
235
- </Flex>
236
- </Paper>
237
-
238
- <Paper p="md" radius="md" withBorder>
239
- <Flex justify="space-between">
240
- <Flex direction="column">
241
- <Text size="xs" c="dimmed" tt="uppercase" fw={600}>
242
- Failed 24h
243
- </Text>
244
- <Text
245
- size="xl"
246
- fw={700}
247
- ff="monospace"
248
- c={stats.failed24h > 0 ? "red" : undefined}
249
- >
250
- {stats.failed24h}
251
- </Text>
252
- </Flex>
253
- <ThemeIcon
254
- size="lg"
255
- radius="md"
256
- variant="light"
257
- color={stats.failed24h > 0 ? "red" : "gray"}
258
- >
259
- <IconAlertTriangle size={20} />
260
- </ThemeIcon>
261
- </Flex>
262
- </Paper>
263
- </SimpleGrid>
139
+ <StatCards
140
+ items={[
141
+ {
142
+ label: "Registered",
143
+ value: stats.registered,
144
+ icon: IconTerminal2,
145
+ },
146
+ {
147
+ label: "Running",
148
+ value: stats.running,
149
+ icon: IconPlayerPlay,
150
+ },
151
+ {
152
+ label: "Completed 24h",
153
+ value: stats.completed24h,
154
+ icon: IconCircleCheck,
155
+ },
156
+ {
157
+ label: "Failed 24h",
158
+ value: stats.failed24h,
159
+ icon: IconAlertTriangle,
160
+ },
161
+ ]}
162
+ />
264
163
  )}
265
164
 
266
165
  {/* Charts Row */}
@@ -366,21 +265,16 @@ const AdminJobDashboard = () => {
366
265
  </Text>
367
266
  </Table.Td>
368
267
  <Table.Td>
369
- <Badge
370
- size="xs"
371
- variant="light"
372
- color={getStatusColor(exec.status)}
373
- leftSection={getStatusIcon(exec.status, 10)}
374
- >
268
+ <Text size="xs" ff="monospace">
375
269
  {exec.status}
376
- </Badge>
270
+ </Text>
377
271
  </Table.Td>
378
272
  <Table.Td>
379
273
  <Text size="xs" c="dimmed" ff="monospace">
380
274
  {exec.startedAt &&
381
275
  (exec.completedAt || exec.status === "running")
382
276
  ? formatDuration(exec.startedAt, exec.completedAt)
383
- : ""}
277
+ : "\u2014"}
384
278
  </Text>
385
279
  </Table.Td>
386
280
  </Table.Tr>
@@ -421,9 +315,9 @@ const AdminJobDashboard = () => {
421
315
  </Text>
422
316
  </Table.Td>
423
317
  <Table.Td>
424
- <Badge size="xs" variant="light" color="red">
318
+ <Text size="xs" fw={600} ff="monospace">
425
319
  {f.failures}
426
- </Badge>
320
+ </Text>
427
321
  </Table.Td>
428
322
  <Table.Td>
429
323
  <Text
@@ -432,7 +326,7 @@ const AdminJobDashboard = () => {
432
326
  lineClamp={1}
433
327
  style={{ maxWidth: 200 }}
434
328
  >
435
- {f.lastError ?? ""}
329
+ {f.lastError ?? "\u2014"}
436
330
  </Text>
437
331
  </Table.Td>
438
332
  </Table.Tr>