@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.
- package/lib/esm/core/components/shadcn/index.js +2 -2
- package/lib/esm/core/components/shadcn/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/tabs.js +13 -8
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/core/components/shadcn/theme/ThemeProvider.js +1 -0
- package/lib/esm/core/components/shadcn/theme/ThemeProvider.js.map +1 -1
- package/lib/esm/features/permissions/UserPermissionsProvider.js +1 -0
- package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/esm/session/auth/useCurrentTenant.js +63 -0
- package/lib/esm/session/auth/useCurrentTenant.js.map +1 -0
- package/lib/esm/session/index.js +1 -0
- package/lib/esm/session/index.js.map +1 -1
- package/lib/esm/shell/SplashScreen.js +10 -3
- package/lib/esm/shell/SplashScreen.js.map +1 -1
- package/lib/esm/shell/VertesiaShell.js +2 -2
- package/lib/esm/shell/VertesiaShell.js.map +1 -1
- package/lib/esm/shell/apps/CheckAppAccess.js +23 -0
- package/lib/esm/shell/apps/CheckAppAccess.js.map +1 -0
- package/lib/esm/shell/apps/index.js +2 -0
- package/lib/esm/shell/apps/index.js.map +1 -0
- package/lib/esm/shell/index.js +1 -0
- package/lib/esm/shell/index.js.map +1 -1
- package/lib/esm/shell/login/InviteAcceptModal.js +29 -12
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/shadcn/index.d.ts +2 -2
- package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/tabs.d.ts +4 -1
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts +2 -1
- package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts.map +1 -1
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts +2 -1
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
- package/lib/types/session/auth/useCurrentTenant.d.ts +15 -0
- package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -0
- package/lib/types/session/index.d.ts +1 -0
- package/lib/types/session/index.d.ts.map +1 -1
- package/lib/types/shell/SplashScreen.d.ts +3 -1
- package/lib/types/shell/SplashScreen.d.ts.map +1 -1
- package/lib/types/shell/VertesiaShell.d.ts +3 -1
- package/lib/types/shell/VertesiaShell.d.ts.map +1 -1
- package/lib/types/shell/apps/CheckAppAccess.d.ts +6 -0
- package/lib/types/shell/apps/CheckAppAccess.d.ts.map +1 -0
- package/lib/types/shell/apps/index.d.ts +2 -0
- package/lib/types/shell/apps/index.d.ts.map +1 -0
- package/lib/types/shell/index.d.ts +1 -0
- package/lib/types/shell/index.d.ts.map +1 -1
- package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/package.json +4 -4
- package/src/core/components/shadcn/index.ts +2 -2
- package/src/core/components/shadcn/tabs.tsx +31 -14
- package/src/core/components/shadcn/theme/ThemeProvider.tsx +2 -0
- package/src/features/permissions/UserPermissionsProvider.tsx +1 -0
- package/src/session/auth/useCurrentTenant.ts +73 -0
- package/src/session/index.ts +1 -0
- package/src/shell/SplashScreen.tsx +36 -3
- package/src/shell/VertesiaShell.tsx +4 -2
- package/src/shell/apps/CheckAppAccess.tsx +25 -0
- package/src/shell/apps/index.ts +1 -0
- package/src/shell/index.tsx +1 -0
- 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;
|
|
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(
|
|
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(
|
|
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":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAOpC;IACD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC;AAcH,MAAM,KAAK,GAAG,CAAC,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,MAAM,EACN,EAAE,EAAE;IACd,MAAM,YAAY,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC;IAEzF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEvD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACnD,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAC/H,KAAC,aAAa,CAAC,IAAI,IACjB,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAC3B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,SAAS,YAEnB,QAAQ,GACU,GACA,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAA0B,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE3F,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC;IAE7B,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QAC5D,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAE/C,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,8BACG,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,sBAAsB,YACnC,KAAC,UAAU,IACT,KAAK,EAAC,KAAK,EACX,SAAS,EAAE,CAAC,SAAS,CAAC,EACtB,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACxF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,EAC7C,QAAQ,EAAE,CAAC,GAAQ,EAAE,EAAE;wBACrB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC,GACD,GACE,CACP,EACD,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAChI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,KAAC,WAAW,IAEV,KAAK,EAAE,GAAG,CAAC,IAAI,EACf,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAEvC,GAAG,CAAC,KAAK,IAPL,GAAG,CAAC,IAAI,CAQD,CACf,CAAC,GACO,IACV,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,4BACG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,KAAC,WAAW,IAAgB,KAAK,EAAE,GAAG,CAAC,IAAI,YACxC,GAAG,CAAC,OAAO,IADI,GAAG,CAAC,IAAI,CAEZ,CACf,CAAC,GACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1D,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAC5C,KAAC,aAAa,CAAC,IAAI,IACjB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,OAAO,KAAK,MAAM;YAChB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,+BAA+B,EACnC,SAAS,CACV,KACG,KAAK,GACT,GACmB,CACxB,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AAEtD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAMlC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAsD,EAAE,EAAE;QAC/F,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,OAAsD,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,KAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,OAAO,KAAK,MAAM;YAChB,CAAC,CAAC,EAAE,CACA,6EAA6E,EAC7E,oFAAoF,EACpF,qEAAqE,EACrE,kDAAkD,CACnD;YACH,CAAC,CAAC,EAAE,CACA,+FAA+F,EAC/F,mEAAmE,EACnE,6FAA6F,EAC7F,kDAAkD,CACnD,EACL,SAAS,EACT,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC1B,EACD,OAAO,EAAE,WAAW,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;AAE5D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,4BAA4B,EAC5B,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserPermissionsProvider.js","sourceRoot":"","sources":["../../../../src/features/permissions/UserPermissionsProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAe,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,MAAM,OAAO,eAAe;IACxB,YAAY,CAAoB,CAAC,kCAAkC;IACnE,KAAK,CAAc,CAAC,gCAAgC;IACpD,WAAW,CAAc,CAAC,sCAAsC;IAEhE,YAAY,OAAoB,EAAE,KAAwB;QACtD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;gBACjD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,4CAA4C;QAC5C,MAAM,GAAG,GAAiC,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,eAAe,EAAE,CAAC;gBAClB,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;oBACvC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAGD,aAAa,CAAC,UAA6B;QACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,CAAC,UAA0B,CAAC,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC,CAAC,SAAS;YACd,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CAEJ;AAED,MAAM,sBAAsB,GAAG,aAAa,CAA8B,SAAS,CAAC,CAAA;
|
|
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"}
|
package/lib/esm/session/index.js
CHANGED
|
@@ -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("
|
|
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,
|
|
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;
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shell/apps/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
package/lib/esm/shell/index.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
30
|
-
if (
|
|
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 =>
|
|
43
|
-
|
|
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":";AACA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"InviteAcceptModal.js","sourceRoot":"","sources":["../../../../src/shell/login/InviteAcceptModal.tsx"],"names":[],"mappings":"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"}
|