@alepha/ui 0.15.4 → 0.15.5

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 (99) hide show
  1. package/dist/admin/AdminApiKeys-DsmGnHNh.js +3 -0
  2. package/dist/admin/AdminApiKeys-GMORg-1l.js +442 -0
  3. package/dist/admin/AdminApiKeys-GMORg-1l.js.map +1 -0
  4. package/dist/admin/AdminAudits-8SM96viT.js +3 -0
  5. package/dist/admin/{AdminAudits-Oh7iAfQa.js → AdminAudits-pkWrjq1Z.js} +2 -2
  6. package/dist/admin/{AdminAudits-Oh7iAfQa.js.map → AdminAudits-pkWrjq1Z.js.map} +1 -1
  7. package/dist/admin/AdminFiles-B56ocq4H.js +3 -0
  8. package/dist/admin/{AdminFiles-Cu8GHgQ3.js → AdminFiles-WeQbsCsl.js} +2 -2
  9. package/dist/admin/{AdminFiles-Cu8GHgQ3.js.map → AdminFiles-WeQbsCsl.js.map} +1 -1
  10. package/dist/admin/AdminJobs-B-q9iGO3.js +697 -0
  11. package/dist/admin/AdminJobs-B-q9iGO3.js.map +1 -0
  12. package/dist/admin/AdminJobs-CED1syCn.js +3 -0
  13. package/dist/admin/AdminLayout-BX4FIpXv.css +143 -0
  14. package/dist/admin/AdminLayout-BX4FIpXv.css.map +1 -0
  15. package/dist/admin/{AdminLayout-QJLIesuG.js → AdminLayout-BqZiXx4H.js} +3 -2
  16. package/dist/admin/AdminLayout-BqZiXx4H.js.map +1 -0
  17. package/dist/admin/AdminNotifications-B0B1rdc4.js +3 -0
  18. package/dist/admin/{AdminNotifications-CgYkBuG_.js → AdminNotifications-Ds5Un0NJ.js} +2 -2
  19. package/dist/admin/{AdminNotifications-CgYkBuG_.js.map → AdminNotifications-Ds5Un0NJ.js.map} +1 -1
  20. package/dist/admin/{AdminParameters-Cl-R0nXt.js → AdminParameters-BU3lATdJ.js} +1 -1
  21. package/dist/admin/{AdminParameters-hjNG_KXb.js → AdminParameters-CfDUpc78.js} +4 -4
  22. package/dist/admin/{AdminParameters-hjNG_KXb.js.map → AdminParameters-CfDUpc78.js.map} +1 -1
  23. package/dist/admin/AdminSessions-BDGK2MS6.js +3 -0
  24. package/dist/admin/{AdminSessions-Bey9cuy1.js → AdminSessions-DzIOxM3b.js} +2 -2
  25. package/dist/admin/{AdminSessions-Bey9cuy1.js.map → AdminSessions-DzIOxM3b.js.map} +1 -1
  26. package/dist/admin/{AdminUserAudits-C7AN9jx7.js → AdminUserAudits-CiUPN2BC.js} +2 -2
  27. package/dist/admin/{AdminUserAudits-C7AN9jx7.js.map → AdminUserAudits-CiUPN2BC.js.map} +1 -1
  28. package/dist/admin/{AdminUserAudits-Cp_ERd2g.js → AdminUserAudits-Cj79gENT.js} +1 -1
  29. package/dist/admin/{AdminUserCreate-BVIm4JdN.js → AdminUserCreate-BwQKr4xE.js} +2 -2
  30. package/dist/admin/{AdminUserCreate-BVIm4JdN.js.map → AdminUserCreate-BwQKr4xE.js.map} +1 -1
  31. package/dist/admin/{AdminUserCreate-C1aInRDk.js → AdminUserCreate-Cq-mUmBs.js} +1 -1
  32. package/dist/admin/{AdminUserDetails-Dcn3OwMC.js → AdminUserDetails-DRjVAPFd.js} +1 -1
  33. package/dist/admin/{AdminUserDetails-yM4x8JE6.js → AdminUserDetails-uqtC5aJ1.js} +2 -2
  34. package/dist/admin/{AdminUserDetails-yM4x8JE6.js.map → AdminUserDetails-uqtC5aJ1.js.map} +1 -1
  35. package/dist/admin/{AdminUserLayout-gb-nbggz.js → AdminUserLayout-CGzmHHby.js} +1 -1
  36. package/dist/admin/{AdminUserLayout-BnfBC1gD.js → AdminUserLayout-CiPay35T.js} +2 -2
  37. package/dist/admin/{AdminUserLayout-BnfBC1gD.js.map → AdminUserLayout-CiPay35T.js.map} +1 -1
  38. package/dist/admin/{AdminUserSessions-kmkXG-xf.js → AdminUserSessions-DAE8Nf1F.js} +2 -2
  39. package/dist/admin/{AdminUserSessions-kmkXG-xf.js.map → AdminUserSessions-DAE8Nf1F.js.map} +1 -1
  40. package/dist/admin/AdminUserSessions-DcdzuNZ9.js +3 -0
  41. package/dist/admin/AdminUserSettings-D7V6-ceX.js +3 -0
  42. package/dist/admin/{AdminUserSettings-DZ9iWhJW.js → AdminUserSettings-EbahaV2a.js} +2 -2
  43. package/dist/admin/{AdminUserSettings-DZ9iWhJW.js.map → AdminUserSettings-EbahaV2a.js.map} +1 -1
  44. package/dist/admin/AdminUsers-D9nyzGqQ.js +3 -0
  45. package/dist/admin/{AdminUsers-D6Y5K8Am.js → AdminUsers-Dcjh0KNW.js} +2 -2
  46. package/dist/admin/{AdminUsers-D6Y5K8Am.js.map → AdminUsers-Dcjh0KNW.js.map} +1 -1
  47. package/dist/admin/index.d.ts +24 -36
  48. package/dist/admin/index.d.ts.map +1 -1
  49. package/dist/admin/index.js +52 -169
  50. package/dist/admin/index.js.map +1 -1
  51. package/dist/auth/AuthLayout-BaD7RD2h.css +143 -0
  52. package/dist/auth/AuthLayout-BaD7RD2h.css.map +1 -0
  53. package/dist/auth/AuthLayout-Dj5K4SIN.js.map +1 -1
  54. package/dist/auth/index.d.ts +9 -1
  55. package/dist/auth/index.d.ts.map +1 -1
  56. package/dist/auth/index.js +1 -2
  57. package/dist/auth/index.js.map +1 -1
  58. package/dist/core/index.d.ts +13 -21
  59. package/dist/core/index.d.ts.map +1 -1
  60. package/dist/core/index.js +26 -38
  61. package/dist/core/index.js.map +1 -1
  62. package/dist/demo/{DemoLogin-S-b15cmE.js → DemoLogin-CvCG2WVh.js} +3 -1
  63. package/dist/demo/{DemoLogin-S-b15cmE.js.map → DemoLogin-CvCG2WVh.js.map} +1 -1
  64. package/dist/demo/{DemoRegister-B29MdAaZ.js → DemoRegister-CmeHbOAs.js} +3 -1
  65. package/dist/demo/{DemoRegister-B29MdAaZ.js.map → DemoRegister-CmeHbOAs.js.map} +1 -1
  66. package/dist/demo/{DemoResetPassword-CPTy88iK.js → DemoResetPassword-CKO5iA_6.js} +3 -1
  67. package/dist/demo/{DemoResetPassword-CPTy88iK.js.map → DemoResetPassword-CKO5iA_6.js.map} +1 -1
  68. package/dist/demo/index.js +3 -3
  69. package/package.json +3 -3
  70. package/src/admin/AdminRouter.ts +34 -0
  71. package/src/admin/components/AdminLayout.tsx +2 -0
  72. package/src/admin/components/jobs/AdminJobs.tsx +733 -119
  73. package/src/admin/components/keys/AdminApiKeys.tsx +537 -0
  74. package/src/admin/components/parameters/AdminParameters.tsx +2 -3
  75. package/src/admin/index.ts +3 -5
  76. package/src/auth/AuthRouter.ts +1 -2
  77. package/src/auth/components/AuthLayout.tsx +1 -0
  78. package/src/core/components/buttons/ActionButton.tsx +15 -2
  79. package/src/core/components/buttons/DarkModeButton.css +6 -0
  80. package/src/core/components/buttons/DarkModeButton.tsx +18 -71
  81. package/src/core/components/buttons/LanguageButton.tsx +2 -7
  82. package/src/core/components/buttons/ThemeButton.tsx +2 -6
  83. package/src/core/components/layout/AdminShell.tsx +17 -1
  84. package/src/core/components/layout/AppBar.tsx +5 -8
  85. package/src/core/index.ts +0 -1
  86. package/src/core/styles.css +1 -0
  87. package/src/demo/components/auth/DemoLogin.tsx +2 -0
  88. package/src/demo/components/auth/DemoRegister.tsx +2 -0
  89. package/src/demo/components/auth/DemoResetPassword.tsx +2 -0
  90. package/dist/admin/AdminAudits-BU-p1g7A.js +0 -3
  91. package/dist/admin/AdminFiles-Bg9feLFH.js +0 -3
  92. package/dist/admin/AdminLayout-BfeFXiul.js +0 -3
  93. package/dist/admin/AdminLayout-QJLIesuG.js.map +0 -1
  94. package/dist/admin/AdminNotifications-DmfGPqHe.js +0 -3
  95. package/dist/admin/AdminSessions-Cn4_jB04.js +0 -3
  96. package/dist/admin/AdminUserSessions-rvA0ztxn.js +0 -3
  97. package/dist/admin/AdminUserSettings-Dg-wTRzN.js +0 -3
  98. package/dist/admin/AdminUsers-RCaxccEW.js +0 -3
  99. package/src/admin/MainRouter.ts +0 -23
@@ -1,75 +1,24 @@
1
- import {
2
- Flex,
3
- type MantineBreakpoint,
4
- SegmentedControl,
5
- type SegmentedControlProps,
6
- useComputedColorScheme,
7
- useMantineColorScheme,
8
- } from "@mantine/core";
1
+ import { useMantineColorScheme } from "@mantine/core";
9
2
  import { IconMoon, IconSun } from "@tabler/icons-react";
10
- import { useEffect, useState } from "react";
11
3
  import ActionButton, { type ActionProps } from "./ActionButton.tsx";
12
4
 
13
- export interface DarkModeButtonProps {
14
- mode?: "minimal" | "segmented";
15
- size?: MantineBreakpoint;
16
- variant?:
17
- | "filled"
18
- | "light"
19
- | "outline"
20
- | "default"
21
- | "subtle"
22
- | "transparent";
23
-
24
- fullWidth?: boolean;
25
-
26
- segmentedProps?: Partial<SegmentedControlProps>;
27
- actionProps?: Partial<ActionProps>;
28
- }
29
-
30
- const DarkModeButton = (props: DarkModeButtonProps) => {
5
+ /**
6
+ * SSR-safe dark mode toggle button.
7
+ *
8
+ * Uses CSS-based icon switching to avoid hydration mismatches.
9
+ * Both icons are rendered, CSS hides the wrong one based on
10
+ * `data-mantine-color-scheme` attribute.
11
+ */
12
+ const DarkModeButton = (props: Partial<ActionProps>) => {
31
13
  const { setColorScheme } = useMantineColorScheme();
32
- const computedColorScheme = useComputedColorScheme("light");
33
- const [colorScheme, setColorScheme2] = useState("default");
34
- const mode = props.mode ?? "minimal";
35
-
36
- useEffect(() => {
37
- setColorScheme2(computedColorScheme);
38
- }, [computedColorScheme]);
39
14
 
40
15
  const toggleColorScheme = () => {
41
- setColorScheme(computedColorScheme === "dark" ? "light" : "dark");
16
+ const current =
17
+ document.documentElement.getAttribute("data-mantine-color-scheme") ??
18
+ "light";
19
+ setColorScheme(current === "dark" ? "light" : "dark");
42
20
  };
43
21
 
44
- if (mode === "segmented") {
45
- return (
46
- <SegmentedControl
47
- value={colorScheme}
48
- onChange={(value) => setColorScheme(value as "light" | "dark")}
49
- data={[
50
- {
51
- value: "light",
52
- label: (
53
- <Flex h={20} align="center" justify="center">
54
- <IconSun size={16} />
55
- </Flex>
56
- ),
57
- },
58
- {
59
- value: "dark",
60
- label: (
61
- <Flex h={20} align="center" justify="center">
62
- <IconMoon size={16} />
63
- </Flex>
64
- ),
65
- },
66
- ]}
67
- w={props.fullWidth ? "100%" : undefined}
68
- {...props.segmentedProps}
69
- />
70
- );
71
- }
72
-
73
22
  return (
74
23
  <ActionButton
75
24
  onClick={toggleColorScheme}
@@ -77,15 +26,13 @@ const DarkModeButton = (props: DarkModeButtonProps) => {
77
26
  size={props.size ?? "sm"}
78
27
  aria-label="Toggle color scheme"
79
28
  px={"xs"}
80
- fullWidth={props.fullWidth ?? false}
81
29
  icon={
82
- colorScheme === "dark"
83
- ? IconSun
84
- : colorScheme === "light"
85
- ? IconMoon
86
- : IconSun
30
+ <>
31
+ <IconSun className="alepha-light-hidden" />
32
+ <IconMoon className="alepha-dark-hidden" />
33
+ </>
87
34
  }
88
- {...props.actionProps}
35
+ {...props}
89
36
  />
90
37
  );
91
38
  };
@@ -2,12 +2,7 @@ import { IconLanguage } from "@tabler/icons-react";
2
2
  import { useI18n } from "alepha/react/i18n";
3
3
  import ActionButton, { type ActionProps } from "./ActionButton.tsx";
4
4
 
5
- export interface LanguageButtonProps {
6
- languages?: string[];
7
- actionProps?: ActionProps;
8
- }
9
-
10
- const LanguageButton = (props: LanguageButtonProps) => {
5
+ const LanguageButton = (props: Partial<ActionProps>) => {
11
6
  const i18n = useI18n();
12
7
  return (
13
8
  <ActionButton
@@ -20,7 +15,7 @@ const LanguageButton = (props: LanguageButtonProps) => {
20
15
  active: i18n.lang === lang,
21
16
  })),
22
17
  }}
23
- {...props.actionProps}
18
+ {...props}
24
19
  />
25
20
  );
26
21
  };
@@ -4,11 +4,7 @@ import { alephaThemeListAtom } from "../../atoms/alephaThemeListAtom.ts";
4
4
  import { useTheme } from "../../hooks/useTheme.ts";
5
5
  import ActionButton, { type ActionProps } from "./ActionButton.tsx";
6
6
 
7
- export interface ThemeButtonProps {
8
- actionProps?: Partial<ActionProps>;
9
- }
10
-
11
- const ThemeButton = (props: ThemeButtonProps) => {
7
+ const ThemeButton = (props: Partial<ActionProps>) => {
12
8
  const [theme, setTheme] = useTheme();
13
9
  const themeList = useStore(alephaThemeListAtom)[0];
14
10
 
@@ -26,7 +22,7 @@ const ThemeButton = (props: ThemeButtonProps) => {
26
22
  active: theme.name === it.name,
27
23
  })),
28
24
  }}
29
- {...props.actionProps}
25
+ {...props}
30
26
  />
31
27
  );
32
28
  };
@@ -21,7 +21,11 @@ import {
21
21
  import { alephaSidebarAtom } from "../../atoms/alephaSidebarAtom.ts";
22
22
  import { ui } from "../../constants/ui.ts";
23
23
  import AppBar, { type AppBarProps } from "./AppBar.tsx";
24
- import { Sidebar, type SidebarProps } from "./Sidebar.tsx";
24
+ import {
25
+ Sidebar,
26
+ type SidebarMenuItem,
27
+ type SidebarProps,
28
+ } from "./Sidebar.tsx";
25
29
 
26
30
  export interface AdminShellProps {
27
31
  appShellProps?: Partial<AppShellProps>;
@@ -240,6 +244,17 @@ const AdminShell = (props: AdminShellProps) => {
240
244
  // When collapsed but hovering, show defaultWidth (not current width)
241
245
  const isExpandedByHover = collapsed && isHovering;
242
246
  const effectiveCollapsed = collapsed && !isHovering;
247
+
248
+ // Wrap onItemClick to collapse sidebar when clicking during hover-expansion
249
+ const handleSidebarItemClick = useCallback(
250
+ (item: SidebarMenuItem) => {
251
+ if (isExpandedByHover) {
252
+ setIsHovering(false);
253
+ }
254
+ props.sidebarProps?.onItemClick?.(item);
255
+ },
256
+ [isExpandedByHover, props.sidebarProps?.onItemClick],
257
+ );
243
258
  const hoverWidth = Math.max(defaultWidth, collapsedWidth);
244
259
  // When hovering, keep main content at collapsed width (sidebar overlays)
245
260
  const sidebarWidth = hasSidebar
@@ -300,6 +315,7 @@ const AdminShell = (props: AdminShellProps) => {
300
315
  <Sidebar
301
316
  {...(props.sidebarProps ?? {})}
302
317
  collapsed={effectiveCollapsed}
318
+ onItemClick={handleSidebarItemClick}
303
319
  />
304
320
  {(canResize || isExpandedByHover) && (
305
321
  <Flex
@@ -11,14 +11,11 @@ import {
11
11
  import { IconArrowLeft } from "@tabler/icons-react";
12
12
  import { Link, useRouter } from "alepha/react/router";
13
13
  import type { ComponentType, ReactNode } from "react";
14
+ import type { ActionProps } from "../buttons/ActionButton.tsx";
14
15
  import ActionButton from "../buttons/ActionButton.tsx";
15
16
  import BurgerButton from "../buttons/BurgerButton.tsx";
16
- import DarkModeButton, {
17
- type DarkModeButtonProps,
18
- } from "../buttons/DarkModeButton.tsx";
19
- import LanguageButton, {
20
- type LanguageButtonProps,
21
- } from "../buttons/LanguageButton.tsx";
17
+ import DarkModeButton from "../buttons/DarkModeButton.tsx";
18
+ import LanguageButton from "../buttons/LanguageButton.tsx";
22
19
  import OmnibarButton, {
23
20
  type OmnibarButtonProps,
24
21
  } from "../buttons/OmnibarButton.tsx";
@@ -53,7 +50,7 @@ export interface AppBarBurger extends AppBarAbstractItem {
53
50
 
54
51
  export interface AppBarDark extends AppBarAbstractItem {
55
52
  type: "dark";
56
- props?: DarkModeButtonProps;
53
+ props?: Partial<ActionProps>;
57
54
  }
58
55
 
59
56
  export interface AppBarSearch extends AppBarAbstractItem {
@@ -63,7 +60,7 @@ export interface AppBarSearch extends AppBarAbstractItem {
63
60
 
64
61
  export interface AppBarLang extends AppBarAbstractItem {
65
62
  type: "lang";
66
- props?: LanguageButtonProps;
63
+ props?: Partial<ActionProps>;
67
64
  }
68
65
 
69
66
  export interface AppBarSpacer extends AppBarAbstractItem {
package/src/core/index.ts CHANGED
@@ -39,7 +39,6 @@ export { default as ClipboardButton } from "./components/buttons/ClipboardButton
39
39
  export { default as DarkModeButton } from "./components/buttons/DarkModeButton.tsx";
40
40
  export { default as LanguageButton } from "./components/buttons/LanguageButton.tsx";
41
41
  export { default as OmnibarButton } from "./components/buttons/OmnibarButton.tsx";
42
- export type { ThemeButtonProps } from "./components/buttons/ThemeButton.tsx";
43
42
  export { default as ThemeButton } from "./components/buttons/ThemeButton.tsx";
44
43
  export { default as ToggleSidebarButton } from "./components/buttons/ToggleSidebarButton.tsx";
45
44
  export { default as AlertDialog } from "./components/dialogs/AlertDialog.tsx";
@@ -3,6 +3,7 @@
3
3
  @import "@mantine/spotlight/styles.css";
4
4
  @import "@mantine/dates/styles.css";
5
5
  @import "@mantine/notifications/styles.css";
6
+ @import "./components/buttons/DarkModeButton.css";
6
7
 
7
8
  :root {
8
9
  --alepha-background-light: var(--mantine-color-gray-1);
@@ -94,6 +94,8 @@ const buildRealmConfig = (props: {
94
94
  firstNameLastNameEnabled: false,
95
95
  firstNameLastNameRequired: false,
96
96
  resetPasswordAllowed: props.resetPasswordAllowed,
97
+ adminEmails: [],
98
+ adminUsernames: [],
97
99
  passwordPolicy: {
98
100
  minLength: 8,
99
101
  requireUppercase: true,
@@ -106,6 +106,8 @@ const buildRealmConfig = (props: {
106
106
  firstNameLastNameEnabled: false,
107
107
  firstNameLastNameRequired: false,
108
108
  resetPasswordAllowed: true,
109
+ adminEmails: [],
110
+ adminUsernames: [],
109
111
  passwordPolicy: {
110
112
  minLength: 8,
111
113
  requireUppercase: true,
@@ -40,6 +40,8 @@ const buildRealmConfig = (props: {
40
40
  firstNameLastNameEnabled: false,
41
41
  firstNameLastNameRequired: false,
42
42
  resetPasswordAllowed: props.resetPasswordAllowed,
43
+ adminEmails: [],
44
+ adminUsernames: [],
43
45
  passwordPolicy: {
44
46
  minLength: 8,
45
47
  requireUppercase: true,
@@ -1,3 +0,0 @@
1
- import { t as AdminAudits_default } from "./AdminAudits-Oh7iAfQa.js";
2
-
3
- export { AdminAudits_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminFiles_default } from "./AdminFiles-Cu8GHgQ3.js";
2
-
3
- export { AdminFiles_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminLayout_default } from "./AdminLayout-QJLIesuG.js";
2
-
3
- export { AdminLayout_default as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdminLayout-QJLIesuG.js","names":[],"sources":["../../src/admin/components/AdminLayout.tsx"],"sourcesContent":["import {\n ActionButton,\n AdminShell,\n type AdminShellProps,\n AlephaMantineProvider,\n OmnibarButton,\n} from \"@alepha/ui\";\nimport { UserButton } from \"@alepha/ui/auth\";\nimport { IconArrowLeft } from \"@tabler/icons-react\";\n\nexport interface AdminLayoutProps {\n adminShellProps?: AdminShellProps;\n}\n\nconst AdminLayout = (props: AdminLayoutProps) => {\n return (\n <AlephaMantineProvider>\n <AdminShell\n appBarProps={{\n items: [\n {\n element: (\n <ActionButton\n variant={\"subtle\"}\n icon={IconArrowLeft}\n href={\"/\"}\n />\n ),\n position: \"left\",\n },\n {\n element: <OmnibarButton />,\n position: \"center\",\n },\n {\n element: <UserButton />,\n position: \"right\",\n },\n {\n type: \"dark\",\n position: \"right\",\n },\n ],\n }}\n sidebarProps={{\n autoPopulateMenu: {\n startsWith: \"/admin\",\n },\n }}\n {...props.adminShellProps}\n />\n </AlephaMantineProvider>\n );\n};\n\nexport default AdminLayout;\n"],"mappings":";;;;;;AAcA,MAAM,eAAe,UAA4B;AAC/C,QACE,oBAAC,mCACC,oBAAC;EACC,aAAa,EACX,OAAO;GACL;IACE,SACE,oBAAC;KACC,SAAS;KACT,MAAM;KACN,MAAM;MACN;IAEJ,UAAU;IACX;GACD;IACE,SAAS,oBAAC,kBAAgB;IAC1B,UAAU;IACX;GACD;IACE,SAAS,oBAAC,eAAa;IACvB,UAAU;IACX;GACD;IACE,MAAM;IACN,UAAU;IACX;GACF,EACF;EACD,cAAc,EACZ,kBAAkB,EAChB,YAAY,UACb,EACF;EACD,GAAI,MAAM;GACV,GACoB;;AAI5B,0BAAe"}
@@ -1,3 +0,0 @@
1
- import { t as AdminNotifications_default } from "./AdminNotifications-CgYkBuG_.js";
2
-
3
- export { AdminNotifications_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminSessions_default } from "./AdminSessions-Bey9cuy1.js";
2
-
3
- export { AdminSessions_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminUserSessions_default } from "./AdminUserSessions-kmkXG-xf.js";
2
-
3
- export { AdminUserSessions_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminUserSettings_default } from "./AdminUserSettings-DZ9iWhJW.js";
2
-
3
- export { AdminUserSettings_default as default };
@@ -1,3 +0,0 @@
1
- import { t as AdminUsers_default } from "./AdminUsers-D6Y5K8Am.js";
2
-
3
- export { AdminUsers_default as default };
@@ -1,23 +0,0 @@
1
- import { AlephaMantineProvider } from "@alepha/ui";
2
- import { AuthRouter } from "@alepha/ui/auth";
3
- import { $inject } from "alepha";
4
- import { $page } from "alepha/react/router";
5
- import { AdminRouter } from "./AdminRouter.ts";
6
-
7
- /**
8
- * Main application router that combines Auth and Admin routers.
9
- *
10
- * We assume that the main application router will always have Admin and Auth routers.
11
- *
12
- * This is basically a convenience class to avoid having to inject these routers everywhere.
13
- * Code is lightweight enough that we can just copy it if needed.
14
- */
15
- export class MainRouter {
16
- auth = $inject(AuthRouter);
17
- admin = $inject(AdminRouter);
18
-
19
- layout = $page({
20
- component: AlephaMantineProvider,
21
- children: () => [this.auth.layout, this.admin.adminLayout],
22
- });
23
- }