@vertesia/ui 0.70.0 → 0.72.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 (69) hide show
  1. package/lib/esm/core/components/shadcn/index.js +2 -2
  2. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  3. package/lib/esm/core/components/shadcn/tabs.js +13 -8
  4. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  5. package/lib/esm/core/components/shadcn/theme/ThemeProvider.js +1 -0
  6. package/lib/esm/core/components/shadcn/theme/ThemeProvider.js.map +1 -1
  7. package/lib/esm/features/permissions/UserPermissionsProvider.js +1 -0
  8. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  9. package/lib/esm/session/auth/useCurrentTenant.js +63 -0
  10. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -0
  11. package/lib/esm/session/index.js +1 -0
  12. package/lib/esm/session/index.js.map +1 -1
  13. package/lib/esm/shell/SplashScreen.js +10 -3
  14. package/lib/esm/shell/SplashScreen.js.map +1 -1
  15. package/lib/esm/shell/VertesiaShell.js +2 -2
  16. package/lib/esm/shell/VertesiaShell.js.map +1 -1
  17. package/lib/esm/shell/apps/CheckAppAccess.js +23 -0
  18. package/lib/esm/shell/apps/CheckAppAccess.js.map +1 -0
  19. package/lib/esm/shell/apps/index.js +2 -0
  20. package/lib/esm/shell/apps/index.js.map +1 -0
  21. package/lib/esm/shell/index.js +1 -0
  22. package/lib/esm/shell/index.js.map +1 -1
  23. package/lib/esm/shell/login/InviteAcceptModal.js +29 -12
  24. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  25. package/lib/tsconfig.tsbuildinfo +1 -1
  26. package/lib/types/core/components/shadcn/index.d.ts +2 -2
  27. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  28. package/lib/types/core/components/shadcn/tabs.d.ts +4 -1
  29. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  30. package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts +2 -1
  31. package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts.map +1 -1
  32. package/lib/types/features/permissions/UserPermissionsProvider.d.ts +2 -1
  33. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  34. package/lib/types/session/auth/useCurrentTenant.d.ts +15 -0
  35. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -0
  36. package/lib/types/session/index.d.ts +1 -0
  37. package/lib/types/session/index.d.ts.map +1 -1
  38. package/lib/types/shell/SplashScreen.d.ts +3 -1
  39. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  40. package/lib/types/shell/VertesiaShell.d.ts +3 -1
  41. package/lib/types/shell/VertesiaShell.d.ts.map +1 -1
  42. package/lib/types/shell/apps/CheckAppAccess.d.ts +6 -0
  43. package/lib/types/shell/apps/CheckAppAccess.d.ts.map +1 -0
  44. package/lib/types/shell/apps/index.d.ts +2 -0
  45. package/lib/types/shell/apps/index.d.ts.map +1 -0
  46. package/lib/types/shell/index.d.ts +1 -0
  47. package/lib/types/shell/index.d.ts.map +1 -1
  48. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  49. package/lib/vertesia-ui-core.js +1 -1
  50. package/lib/vertesia-ui-core.js.map +1 -1
  51. package/lib/vertesia-ui-features.js +1 -1
  52. package/lib/vertesia-ui-features.js.map +1 -1
  53. package/lib/vertesia-ui-session.js +1 -1
  54. package/lib/vertesia-ui-session.js.map +1 -1
  55. package/lib/vertesia-ui-shell.js +1 -1
  56. package/lib/vertesia-ui-shell.js.map +1 -1
  57. package/package.json +4 -4
  58. package/src/core/components/shadcn/index.ts +2 -2
  59. package/src/core/components/shadcn/tabs.tsx +31 -14
  60. package/src/core/components/shadcn/theme/ThemeProvider.tsx +2 -0
  61. package/src/features/permissions/UserPermissionsProvider.tsx +1 -0
  62. package/src/session/auth/useCurrentTenant.ts +73 -0
  63. package/src/session/index.ts +1 -0
  64. package/src/shell/SplashScreen.tsx +36 -3
  65. package/src/shell/VertesiaShell.tsx +4 -2
  66. package/src/shell/apps/CheckAppAccess.tsx +25 -0
  67. package/src/shell/apps/index.ts +1 -0
  68. package/src/shell/index.tsx +1 -0
  69. package/src/shell/login/InviteAcceptModal.tsx +36 -20
@@ -1,6 +1,6 @@
1
1
  import ModeToggle from './theme/ThemeSwitcher';
2
- import { ThemeProvider } from './theme/ThemeProvider';
3
- export { ModeToggle, ThemeProvider };
2
+ import { ThemeProvider, ThemeProviderContext } from './theme/ThemeProvider';
3
+ export { ModeToggle, ThemeProvider, ThemeProviderContext };
4
4
  export * from './button';
5
5
  export * from './card';
6
6
  export * from './dialog';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAErC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAE3D,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -8,9 +8,10 @@ const TabsContext = React.createContext({
8
8
  tabs: undefined,
9
9
  current: undefined,
10
10
  setTab: undefined,
11
- responsive: false
11
+ responsive: false,
12
+ variant: "tabs"
12
13
  });
13
- const VTabs = ({ tabs, defaultValue, current, className, fullWidth, children, onTabChange, responsive = false }) => {
14
+ const VTabs = ({ tabs, defaultValue, current, className, fullWidth, children, onTabChange, responsive = false, variant = "tabs" }) => {
14
15
  const currentValue = typeof current === 'function' ? current() : current || defaultValue;
15
16
  const [value, setValue] = React.useState(currentValue);
16
17
  React.useEffect(() => {
@@ -27,10 +28,10 @@ const VTabs = ({ tabs, defaultValue, current, className, fullWidth, children, on
27
28
  const setTab = React.useCallback((tabName) => {
28
29
  handleValueChange(tabName);
29
30
  }, [handleValueChange]);
30
- return (_jsx(TabsContext.Provider, { value: { tabs, size: fullWidth ? tabs.length : 0, current: value, setTab, responsive: responsive }, children: _jsx(TabsPrimitive.Root, { defaultValue: tabs[0]?.name, value: value, onValueChange: handleValueChange, className: className, children: children }) }));
31
+ return (_jsx(TabsContext.Provider, { value: { tabs, size: fullWidth ? tabs.length : 0, current: value, setTab, responsive: responsive, variant }, children: _jsx(TabsPrimitive.Root, { defaultValue: tabs[0]?.name, value: value, onValueChange: handleValueChange, className: className, children: children }) }));
31
32
  };
32
33
  const VTabsBar = ({ className }) => {
33
- const { tabs, size, current, setTab, responsive } = React.useContext(TabsContext);
34
+ const { tabs, size, current, setTab, responsive, variant } = React.useContext(TabsContext);
34
35
  const fullWidth = size !== 0;
35
36
  const handleTabChange = React.useCallback((tabName) => {
36
37
  if (!tabs || !setTab)
@@ -47,7 +48,7 @@ const VTabsBar = ({ className }) => {
47
48
  }
48
49
  return (_jsxs(_Fragment, { children: [responsive && (_jsx("div", { className: "px-2 block lg:hidden", children: _jsx(VSelectBox, { label: "Tab", className: (className), options: tabs, optionLabel: (tab) => typeof tab.label === 'string' ? tab.label : String(tab.label), value: tabs.find(tab => tab.name === current), onChange: (tab) => {
49
50
  handleTabChange(tab.name);
50
- } }) })), _jsx(TabsList, { size: size, className: cn((fullWidth ? "w-full" : ""), className, (responsive ? "hidden lg:flex" : "")), children: tabs.map((tab) => (_jsx(TabsTrigger, { value: tab.name, disabled: tab.disabled, href: tab.href, onClick: () => handleTabChange(tab.name), children: tab.label }, tab.name))) })] }));
51
+ } }) })), _jsx(TabsList, { size: size, variant: variant, className: cn((fullWidth ? "w-full" : ""), className, (responsive ? "hidden lg:flex" : "")), children: tabs.map((tab) => (_jsx(TabsTrigger, { value: tab.name, disabled: tab.disabled, href: tab.href, variant: variant, onClick: () => handleTabChange(tab.name), children: tab.label }, tab.name))) })] }));
51
52
  };
52
53
  const VTabsPanel = () => {
53
54
  const { tabs } = React.useContext(TabsContext);
@@ -55,9 +56,11 @@ const VTabsPanel = () => {
55
56
  return null;
56
57
  return (_jsx(_Fragment, { children: tabs.map((tab) => (_jsx(TabsContent, { value: tab.name, children: tab.content }, tab.name))) }));
57
58
  };
58
- const TabsList = React.forwardRef(({ className, size, ...props }, ref) => (_jsx(TabsContext.Provider, { value: { size }, children: _jsx(TabsPrimitive.List, { ref: ref, className: cn("border-b -mb-px flex space-x-4", className), ...props }) })));
59
+ const TabsList = React.forwardRef(({ className, size, variant = "tabs", ...props }, ref) => (_jsx(TabsContext.Provider, { value: { size, variant }, children: _jsx(TabsPrimitive.List, { ref: ref, className: cn(variant === "tabs"
60
+ ? "border-b -mb-px flex space-x-4"
61
+ : "flex space-x-2 p-1 rounded-md", className), ...props }) })));
59
62
  TabsList.displayName = TabsPrimitive.List.displayName;
60
- const TabsTrigger = React.forwardRef(({ className, href, ...props }, ref) => {
63
+ const TabsTrigger = React.forwardRef(({ className, href, variant = "tabs", ...props }, ref) => {
61
64
  const { size } = React.useContext(TabsContext);
62
65
  const handleClick = React.useCallback((event) => {
63
66
  if (href) {
@@ -68,7 +71,9 @@ const TabsTrigger = React.forwardRef(({ className, href, ...props }, ref) => {
68
71
  props.onClick(event);
69
72
  }
70
73
  }, [href, props.onClick]);
71
- return (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn("border-b-2 px-2 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer", "border-transparent text-muted-foreground hover:border-border hover:text-foreground", "data-[state=active]:border-primary data-[state=active]:text-primary", "disabled:pointer-events-none disabled:opacity-50", className, size ? `w-1/${size}` : ""), onClick: handleClick, ...props }));
74
+ return (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn(variant === "tabs"
75
+ ? cn("border-b-2 px-2 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer", "border-transparent text-muted-foreground hover:border-border hover:text-foreground", "data-[state=active]:border-primary data-[state=active]:text-primary", "disabled:pointer-events-none disabled:opacity-50")
76
+ : cn("px-3 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer rounded-sm transition-colors", "tborder border-input bg-muted shadow-xs hover:bg-muted ring-inset", "data-[state=active]:bg-primary data-[state=active]:text-white data-[state=active]:shadow-sm", "disabled:pointer-events-none disabled:opacity-50"), className, size ? `w-1/${size}` : ""), onClick: handleClick, ...props }));
72
77
  });
73
78
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
74
79
  const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn("focus-visible:outline-none", className), ...props })));
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/tabs.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const initialState = {
5
5
  setTheme: () => null,
6
6
  };
7
7
  const ThemeProviderContext = createContext(initialState);
8
+ export { ThemeProviderContext };
8
9
  export function ThemeProvider({ children, defaultTheme = "system", storageKey = "vite-ui-theme", ...props }) {
9
10
  const [theme, setTheme] = useState(() => localStorage.getItem(storageKey) || defaultTheme);
10
11
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/theme/ThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAetE,MAAM,YAAY,GAAuB;IACvC,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;CACrB,CAAA;AAED,MAAM,oBAAoB,GAAG,aAAa,CAAqB,YAAY,CAAC,CAAA;AAE5E,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAY,GAAG,QAAQ,EACvB,UAAU,GAAG,eAAe,EAC5B,GAAG,KAAK,EACW;IACnB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,GAAG,EAAE,CAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAW,IAAI,YAAY,CAClE,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAA;QAE5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAEtC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;iBAClE,OAAO;gBACR,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAA;YAEX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE;YACzB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YACvC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;KACF,CAAA;IAED,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,YACnD,QAAQ,GACqB,CACjC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAEhD,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAEjE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/theme/ThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAetE,MAAM,YAAY,GAAuB;IACvC,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;CACrB,CAAA;AAED,MAAM,oBAAoB,GAAG,aAAa,CAAqB,YAAY,CAAC,CAAA;AAE5E,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAE/B,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAY,GAAG,QAAQ,EACvB,UAAU,GAAG,eAAe,EAC5B,GAAG,KAAK,EACW;IACnB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,GAAG,EAAE,CAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAW,IAAI,YAAY,CAClE,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAA;QAE5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAEtC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;iBAClE,OAAO;gBACR,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAA;YAEX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE;YACzB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YACvC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;KACF,CAAA;IAED,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,YACnD,QAAQ,GACqB,CACjC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAEhD,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAEjE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -53,6 +53,7 @@ export class UserPermissions {
53
53
  }
54
54
  }
55
55
  const UserPermissionsContext = createContext(undefined);
56
+ export { UserPermissionsContext };
56
57
  export function useUserPermissions() {
57
58
  const perms = useContext(UserPermissionsContext);
58
59
  if (!perms) {
@@ -1 +1 @@
1
- {"version":3,"file":"UserPermissionsProvider.js","sourceRoot":"","sources":["../../../../src/features/permissions/UserPermissionsProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserPermissionsProvider.js","sourceRoot":"","sources":["../../../../src/features/permissions/UserPermissionsProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { useUserSession } from "@vertesia/ui/session";
3
+ export function useCurrentTenant() {
4
+ const { user } = useUserSession();
5
+ const [currentTenant, setCurrentTenant] = useState(null);
6
+ const [isLoading, setIsLoading] = useState(true);
7
+ const [error, setError] = useState(null);
8
+ useEffect(() => {
9
+ const loadCurrentTenant = async () => {
10
+ if (!user?.email) {
11
+ setCurrentTenant(null);
12
+ setIsLoading(false);
13
+ return;
14
+ }
15
+ try {
16
+ const response = await fetch('/api/resolve-tenant', {
17
+ method: 'POST',
18
+ headers: {
19
+ 'Content-Type': 'application/json',
20
+ },
21
+ body: JSON.stringify({
22
+ tenantEmail: user.email
23
+ })
24
+ });
25
+ if (response.ok) {
26
+ const tenantData = await response.json();
27
+ if (tenantData) {
28
+ // Convert the resolved tenant data to our TenantConfig format
29
+ setCurrentTenant({
30
+ tenantKey: tenantData.name || 'unknown',
31
+ name: tenantData.label || tenantData.name || 'Unknown',
32
+ domain: tenantData.domain || [],
33
+ firebaseTenantId: tenantData.firebaseTenantId,
34
+ provider: tenantData.provider,
35
+ logo: tenantData.logo
36
+ });
37
+ }
38
+ else {
39
+ setCurrentTenant(null);
40
+ }
41
+ }
42
+ else {
43
+ setCurrentTenant(null);
44
+ }
45
+ }
46
+ catch (error) {
47
+ console.error('Error loading current tenant:', error);
48
+ setError('Failed to load tenant configuration');
49
+ setCurrentTenant(null);
50
+ }
51
+ finally {
52
+ setIsLoading(false);
53
+ }
54
+ };
55
+ loadCurrentTenant();
56
+ }, [user?.email]);
57
+ return {
58
+ currentTenant,
59
+ isLoading,
60
+ error
61
+ };
62
+ }
63
+ //# sourceMappingURL=useCurrentTenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrentTenant.js","sourceRoot":"","sources":["../../../../src/session/auth/useCurrentTenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD,MAAM,UAAU,gBAAgB;IAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,EAAE;oBAChD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;qBACrC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,WAAW,EAAE,IAAI,CAAC,KAAK;qBAC1B,CAAC;iBACL,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,UAAU,EAAE,CAAC;wBACb,8DAA8D;wBAC9D,gBAAgB,CAAC;4BACb,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS;4BACvC,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,SAAS;4BACtD,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,EAAE;4BAC/B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;4BAC7C,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;yBACxB,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACtD,QAAQ,CAAC,qCAAqC,CAAC,CAAC;gBAChD,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACP,YAAY,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC,CAAC;QAEF,iBAAiB,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAElB,OAAO;QACH,aAAa;QACb,SAAS;QACT,KAAK;KACR,CAAC;AACN,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./auth/composable";
2
+ export * from "./auth/useCurrentTenant";
2
3
  export * from "./auth/firebase";
3
4
  export * from "./TypeRegistry";
4
5
  export * from "./UserSession";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -1,8 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Transition } from "@headlessui/react";
3
3
  import { Fragment, useEffect, useState } from "react";
4
4
  import { useUserSession } from "@vertesia/ui/session";
5
- export function SplashScreen({}) {
5
+ export function SplashScreen({ icon: Icon }) {
6
6
  const { isLoading } = useUserSession();
7
7
  const [show, setShow] = useState(true);
8
8
  useEffect(() => {
@@ -14,6 +14,13 @@ export function SplashScreen({}) {
14
14
  // }, 2000)
15
15
  }, [isLoading]);
16
16
  // 300 500 700 1000
17
- return (_jsx(Transition, { appear: true, show: show, as: Fragment, unmount: true, leave: "transition ease-in duration-500", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: _jsx("div", { style: { zIndex: 999999 }, className: 'fixed inset-x-0 inset-y-0', children: _jsx("div", { className: "flex w-full h-full items-center justify-center", children: _jsx("div", { className: "animate-[spin_4s_linear_infinite]", children: _jsx("img", { src: '/icon.svg', className: 'w-10 h-auto animate-pulse rounded-full' }) }) }) }) }));
17
+ return (_jsx(Transition, { appear: true, show: show, as: Fragment, unmount: true, leave: "transition ease-in duration-500", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: _jsx("div", { style: { zIndex: 999999 }, className: 'fixed inset-x-0 inset-y-0', children: _jsx("div", { className: "flex w-full h-full items-center justify-center", children: _jsx("div", { className: "animate-[spin_4s_linear_infinite]", children: _jsx("div", { className: 'animate-pulse rounded-full bg-transparent', children: Icon || _jsx(LoadingIcon, {}) }) }) }) }) }));
18
+ }
19
+ function LoadingIcon() {
20
+ const stopColor1 = "currentColor";
21
+ const stopColor2 = "currentColor";
22
+ // const stopColor1 = "#4F46E5";
23
+ // const stopColor2 = "#4F46E5";
24
+ return (_jsxs("svg", { className: "w-8 h-8 text-indigo-600", viewBox: "0 0 50 50", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "spinner-gradient", x1: "1", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: stopColor1, stopOpacity: "1" }), _jsx("stop", { offset: "100%", stopColor: stopColor2, stopOpacity: "0" })] }) }), _jsx("circle", { cx: "25", cy: "25", r: "20", stroke: "url(#spinner-gradient)", strokeWidth: "5", fill: "none", strokeLinecap: "round" })] }));
18
25
  }
19
26
  //# sourceMappingURL=SplashScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplashScreen.js","sourceRoot":"","sources":["../../../src/shell/SplashScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,MAAM,UAAU,YAAY,CAAC,EAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;QACD,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;IACf,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,mBAAmB;IACnB,OAAO,CACH,KAAC,UAAU,IACP,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,QAAQ,EACZ,OAAO,QACP,KAAK,EAAC,iCAAiC,EACvC,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,YAEnB,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAC,2BAA2B,YACjE,cAAK,SAAS,EAAC,gDAAgD,YAC3D,cAAK,SAAS,EAAC,mCAAmC,YAC9C,cAAK,GAAG,EAAC,WAAW,EAAC,SAAS,EAAC,wCAAwC,GAAG,GACxE,GACJ,GACJ,GACG,CAChB,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"SplashScreen.js","sourceRoot":"","sources":["../../../src/shell/SplashScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAqB;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;QACD,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;IACf,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,mBAAmB;IACnB,OAAO,CACH,KAAC,UAAU,IACP,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,QAAQ,EACZ,OAAO,QACP,KAAK,EAAC,iCAAiC,EACvC,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,YAEnB,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAC,2BAA2B,YACjE,cAAK,SAAS,EAAC,gDAAgD,YAC3D,cAAK,SAAS,EAAC,mCAAmC,YAC9C,cAAK,SAAS,EAAC,2CAA2C,YACrD,IAAI,IAAI,KAAC,WAAW,KAAG,GACtB,GACJ,GACJ,GACJ,GACG,CAChB,CAAA;AACL,CAAC;AAED,SAAS,WAAW;IAChB,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,gCAAgC;IAChC,gCAAgC;IAChC,OAAO,CACH,eACI,SAAS,EAAC,yBAAyB,EACnC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,aAElC,yBACI,0BAAgB,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,aAC7D,eAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAC,GAAG,GAAG,EAC3D,eAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAC,GAAG,GAAG,IAChD,GACd,EACP,iBACI,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,wBAAwB,EAC/B,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,EACX,aAAa,EAAC,OAAO,GACvB,IACA,CACT,CAAA;AACL,CAAC"}
@@ -4,7 +4,7 @@ import { UserPermissionProvider } from "@vertesia/ui/features";
4
4
  import { UserSessionProvider } from "@vertesia/ui/session";
5
5
  import { SplashScreen } from "./SplashScreen";
6
6
  import { SigninScreen } from "./login/SigninScreen";
7
- export function VertesiaShell({ children, lightLogo, darkLogo }) {
8
- return (_jsx(ToastProvider, { children: _jsx(UserSessionProvider, { children: _jsxs(ThemeProvider, { defaultTheme: "system", storageKey: "vite-ui-theme", children: [_jsx(SplashScreen, {}), _jsx(SigninScreen, { allowedPrefix: "/shared/", lightLogo: lightLogo, darkLogo: darkLogo }), _jsx(UserPermissionProvider, { children: children })] }) }) }));
7
+ export function VertesiaShell({ children, lightLogo, darkLogo, loadingIcon }) {
8
+ return (_jsx(ToastProvider, { children: _jsx(UserSessionProvider, { children: _jsxs(ThemeProvider, { defaultTheme: "system", storageKey: "vite-ui-theme", children: [_jsx(SplashScreen, { icon: loadingIcon }), _jsx(SigninScreen, { allowedPrefix: "/shared/", lightLogo: lightLogo, darkLogo: darkLogo }), _jsx(UserPermissionProvider, { children: children })] }) }) }));
9
9
  }
10
10
  //# sourceMappingURL=VertesiaShell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VertesiaShell.js","sourceRoot":"","sources":["../../../src/shell/VertesiaShell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQpD,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAsB;IAC/E,OAAO,CACH,KAAC,aAAa,cACV,KAAC,mBAAmB,cAChB,MAAC,aAAa,IAAC,YAAY,EAAC,QAAQ,EAAC,UAAU,EAAC,eAAe,aAC3D,KAAC,YAAY,KAAG,EAChB,KAAC,YAAY,IAAC,aAAa,EAAC,UAAU,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACnF,KAAC,sBAAsB,cAClB,QAAQ,GACY,IACb,GACE,GACV,CACnB,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"VertesiaShell.js","sourceRoot":"","sources":["../../../src/shell/VertesiaShell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUpD,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAsB;IAC5F,OAAO,CACH,KAAC,aAAa,cACV,KAAC,mBAAmB,cAChB,MAAC,aAAa,IAAC,YAAY,EAAC,QAAQ,EAAC,UAAU,EAAC,eAAe,aAC3D,KAAC,YAAY,IAAC,IAAI,EAAE,WAAW,GAAI,EACnC,KAAC,YAAY,IAAC,aAAa,EAAC,UAAU,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACnF,KAAC,sBAAsB,cAClB,QAAQ,GACY,IACb,GACE,GACV,CACnB,CAAA;AACL,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ErrorBox } from "@vertesia/ui/core";
3
+ import { useUserSession } from "@vertesia/ui/session";
4
+ import { useEffect, useState } from "react";
5
+ export function CheckAppAccess({ name, children }) {
6
+ const [hasAccess, setHasAccess] = useState(null);
7
+ const { authToken } = useUserSession();
8
+ useEffect(() => {
9
+ if (authToken) {
10
+ setHasAccess(authToken.apps?.includes(name) || false);
11
+ }
12
+ }, [authToken]);
13
+ if (hasAccess == null) {
14
+ return null;
15
+ }
16
+ if (hasAccess) {
17
+ return children;
18
+ }
19
+ else {
20
+ return _jsx(ErrorBox, { title: "Forbidden", children: "Access is not granted to this application" });
21
+ }
22
+ }
23
+ //# sourceMappingURL=CheckAppAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckAppAccess.js","sourceRoot":"","sources":["../../../../src/shell/apps/CheckAppAccess.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAyC;IACpF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,EAAE,CAAC;YACZ,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,0DAAqD,CAAA;IAC3F,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./CheckAppAccess";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shell/apps/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -4,4 +4,5 @@ export * from "./login/TerminalLogin";
4
4
  export * from "./login/UserSessionMenu";
5
5
  export * from "./utils";
6
6
  export * from './VertesiaShell';
7
+ export * from "./apps/index";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/index.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/index.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Modal, ModalBody, ModalTitle } from "@vertesia/ui/core";
2
+ import { Button, VModal, VModalBody, VModalTitle } from "@vertesia/ui/core";
3
3
  import { useEffect, useState } from "react";
4
4
  import { useUserSession } from "@vertesia/ui/session";
5
5
  export function InviteAcceptModal() {
@@ -10,15 +10,23 @@ export function InviteAcceptModal() {
10
10
  useEffect(() => {
11
11
  client.account.listInvites().then(invites => {
12
12
  if (invites.length > 0) {
13
- console.log("Got invites - showing modal");
14
- setInvites(invites);
15
- /*toast({
16
- status: 'info',
17
- title: 'You have pending invites',
18
- description: 'Click the button on the top right to review them.'
19
- })*/
13
+ // Filter out legacy invites that do not have account data
14
+ const notLegacyInvites = invites.filter(i => i.data.account);
15
+ if (notLegacyInvites.length === 0) {
16
+ console.log("No valid invites found, closing modal");
17
+ return;
18
+ }
19
+ // If we have valid invites, show the modal
20
+ console.log("Found valid invites", notLegacyInvites.length);
20
21
  setShowModal(true);
22
+ setInvites(notLegacyInvites);
21
23
  }
24
+ else {
25
+ console.log("No invites found, closing modal");
26
+ setShowModal(false);
27
+ }
28
+ }).catch(err => {
29
+ console.error("Error fetching invites", err);
22
30
  });
23
31
  }, [account?.id]);
24
32
  const closeModal = () => setShowModal(false);
@@ -26,8 +34,11 @@ export function InviteAcceptModal() {
26
34
  await client.account.acceptInvite(invite.id);
27
35
  await session.fetchAccounts();
28
36
  const remainingInvites = invites.filter(i => i.id !== invite.id);
29
- setInvites(remainingInvites);
30
- if (remainingInvites.length === 0) {
37
+ const notLegacyInvites = remainingInvites.filter(i => i.data.account);
38
+ if (notLegacyInvites.length > 0) {
39
+ setInvites(notLegacyInvites);
40
+ }
41
+ else {
31
42
  closeModal();
32
43
  }
33
44
  };
@@ -39,7 +50,13 @@ export function InviteAcceptModal() {
39
50
  closeModal();
40
51
  }
41
52
  };
42
- const inviteList = invites.map(invite => (_jsxs("div", { className: "flex flex-row w-full justify-between border rounded-sm px-2 py-2 ", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "w-full font-semibold", children: invite.data.account.name }), _jsxs("div", { className: "text-xs", children: ["Role: ", invite.data.role] }), _jsxs("div", { className: "text-xs", children: ["by ", invite.data.invitedBy.name] })] }), _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Button, { size: 'xs', onClick: () => accept(invite), children: "Accept" }), " ", _jsx(Button, { size: 'xs', variant: "secondary", onClick: () => reject(invite), children: "Reject" })] })] }, invite.id)));
43
- return (_jsx("div", { children: _jsxs(Modal, { isOpen: showModal, onClose: closeModal, children: [_jsx(ModalTitle, { children: "Review Invites" }), _jsxs(ModalBody, { children: [_jsx("div", { className: "text-sm pb-4", children: "You have received the following invites to join other accounts. Please review and accept or declined them." }), inviteList] })] }) }));
53
+ const inviteList = invites.map(invite => {
54
+ if (!invite.data.account) {
55
+ console.warn("Invite has no account data", invite);
56
+ return null; // Skip rendering this invite
57
+ }
58
+ return (_jsxs("div", { className: "flex flex-row w-full justify-between border rounded-sm px-2 py-2 ", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "w-full font-semibold", children: invite.data.account.name ?? invite.data.account }), invite.data.project && _jsxs("div", { className: "w-full text-base", children: ["- ", invite.data.project.name] }), _jsxs("div", { className: "text-xs", children: ["Role: ", invite.data.role] }), _jsxs("div", { className: "text-xs", children: ["by ", invite.data.invitedBy.name] })] }), _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Button, { size: 'xs', onClick: () => accept(invite), children: "Accept" }), " ", _jsx(Button, { size: 'xs', variant: "secondary", onClick: () => reject(invite), children: "Reject" })] })] }, invite.id));
59
+ });
60
+ return (_jsx("div", { children: _jsxs(VModal, { isOpen: showModal, onClose: closeModal, children: [_jsx(VModalTitle, { children: "Review Invites" }), _jsxs(VModalBody, { children: [_jsx("div", { className: "text-sm pb-4", children: "You have received the following invites to join other accounts. Please review and accept or declined them." }), inviteList] })] }) }));
44
61
  }
45
62
  //# sourceMappingURL=InviteAcceptModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InviteAcceptModal.js","sourceRoot":"","sources":["../../../../src/shell/login/InviteAcceptModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InviteAcceptModal.js","sourceRoot":"","sources":["../../../../src/shell/login/InviteAcceptModal.tsx"],"names":[],"mappings":"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"}