@visin/frontend-core 1.0.0 → 1.2.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/dist/auth/AuthProvider.d.ts.map +1 -1
- package/dist/auth/AuthProvider.js +10 -3
- package/dist/auth/AuthProvider.js.map +1 -1
- package/dist/auth/authService.d.ts.map +1 -1
- package/dist/auth/authService.js +9 -1
- package/dist/auth/authService.js.map +1 -1
- package/dist/components/AppLayout/AppLayout.d.ts +12 -10
- package/dist/components/AppLayout/AppLayout.d.ts.map +1 -1
- package/dist/components/AppLayout/AppLayout.js +32 -21
- package/dist/components/AppLayout/AppLayout.js.map +1 -1
- package/dist/components/AppLayout/index.d.ts +1 -1
- package/dist/components/AppLayout/index.d.ts.map +1 -1
- package/dist/config/createConfigProvider.d.ts +8 -0
- package/dist/config/createConfigProvider.d.ts.map +1 -1
- package/dist/config/createConfigProvider.js +9 -3
- package/dist/config/createConfigProvider.js.map +1 -1
- package/dist/federation.d.ts +42 -0
- package/dist/federation.d.ts.map +1 -0
- package/dist/federation.js +28 -0
- package/dist/federation.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/navigation.d.ts +17 -10
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +67 -53
- package/dist/navigation.js.map +1 -1
- package/package.json +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/auth/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gGAAgG;IAChG,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/auth/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gGAAgG;IAChG,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW;iCAUpB;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;mBAuCvC,gBAAgB;EASrC"}
|
|
@@ -7,17 +7,23 @@ import { createContext, useCallback, useContext, useEffect, useState } from 'rea
|
|
|
7
7
|
*/
|
|
8
8
|
export function createAuthContext(authService) {
|
|
9
9
|
const AuthContext = createContext(undefined);
|
|
10
|
+
// The last session this context resolved; `undefined` until the first check.
|
|
11
|
+
// shell-front mounts a remote's provider each time the user navigates into
|
|
12
|
+
// that app, so starting from what is already known keeps protected pages from
|
|
13
|
+
// flashing "Checking authentication..." on every visit. The check still runs
|
|
14
|
+
// on each mount and corrects it.
|
|
15
|
+
let lastKnownUser;
|
|
10
16
|
function AuthProvider({ children }) {
|
|
11
|
-
const [user, setUser] = useState(null);
|
|
12
|
-
const [isLoading, setIsLoading] = useState(
|
|
17
|
+
const [user, setUser] = useState(lastKnownUser ?? null);
|
|
18
|
+
const [isLoading, setIsLoading] = useState(lastKnownUser === undefined);
|
|
13
19
|
const refresh = useCallback(async () => {
|
|
14
20
|
const result = await authService.checkAuth();
|
|
21
|
+
lastKnownUser = result.user;
|
|
15
22
|
setUser(result.user);
|
|
16
23
|
return result;
|
|
17
24
|
}, []);
|
|
18
25
|
useEffect(() => {
|
|
19
26
|
let cancelled = false;
|
|
20
|
-
setIsLoading(true);
|
|
21
27
|
refresh().finally(() => {
|
|
22
28
|
if (!cancelled)
|
|
23
29
|
setIsLoading(false);
|
|
@@ -31,6 +37,7 @@ export function createAuthContext(authService) {
|
|
|
31
37
|
}, []);
|
|
32
38
|
const logout = useCallback(async () => {
|
|
33
39
|
await authService.logout();
|
|
40
|
+
lastKnownUser = null;
|
|
34
41
|
setUser(null);
|
|
35
42
|
window.location.reload();
|
|
36
43
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/auth/AuthProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAcpG;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAwB;IACxD,MAAM,WAAW,GAAG,aAAa,CAA+B,SAAS,CAAC,CAAC;IAE3E,SAAS,YAAY,CAAC,EAAE,QAAQ,EAA2B;QACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/auth/AuthProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAcpG;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAwB;IACxD,MAAM,WAAW,GAAG,aAAa,CAA+B,SAAS,CAAC,CAAC;IAE3E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,aAA0C,CAAC;IAE/C,SAAS,YAAY,CAAC,EAAE,QAAQ,EAA2B;QACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkB,aAAa,IAAI,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAA8B,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7C,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACrB,IAAI,CAAC,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEd,MAAM,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;YACnC,WAAW,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAmB,EAAE;YACnD,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3B,aAAa,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAC9F,QAAQ,GACY,CACxB,CAAC;IACJ,CAAC;IAED,SAAS,OAAO;QACd,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../src/auth/authService.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,kBAAkB;qBAS9D,OAAO,CAAC,eAAe,CAAC;0BA+Bb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;sBAK5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;2BAUnB,OAAO,CAAC,OAAO,CAAC;kBAKzB,OAAO,CAAC,OAAO,CAAC;kCAUJ,MAAM,KAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../src/auth/authService.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,kBAAkB;qBAS9D,OAAO,CAAC,eAAe,CAAC;0BA+Bb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;sBAK5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;2BAUnB,OAAO,CAAC,OAAO,CAAC;kBAKzB,OAAO,CAAC,OAAO,CAAC;kCAUJ,MAAM,KAAG,IAAI;EAcnD;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/auth/authService.js
CHANGED
|
@@ -72,8 +72,16 @@ export function createAuthService({ authServiceUrl, authFrontUrl }) {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
function redirectToLogin(returnUrl) {
|
|
75
|
+
const loginUrl = authFrontUrl();
|
|
76
|
+
if (!loginUrl) {
|
|
77
|
+
// With no auth-front address the target would be `?redirect_uri=…` on this
|
|
78
|
+
// same page: it reloads, finds no session, redirects again, forever. Say
|
|
79
|
+
// what is missing and stay put instead.
|
|
80
|
+
console.error('Cannot redirect to sign-in: the auth-front URL (AUTH_FRONT_URL) is not configured.');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
75
83
|
const currentUrl = returnUrl || window.location.href;
|
|
76
|
-
window.location.href = `${
|
|
84
|
+
window.location.href = `${loginUrl}?redirect_uri=${encodeURIComponent(currentUrl)}`;
|
|
77
85
|
}
|
|
78
86
|
return { checkAuth, getCurrentUser, getProfile, isAuthenticated, logout, redirectToLogin };
|
|
79
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authService.js","sourceRoot":"","sources":["../../src/auth/authService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authService.js","sourceRoot":"","sources":["../../src/auth/authService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
interface NavItemBase {
|
|
3
3
|
text: string;
|
|
4
4
|
icon: ReactNode;
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Heading this item is listed under. Consecutive items sharing a group are
|
|
7
|
+
* drawn together beneath one heading; an item without one gets no heading.
|
|
8
|
+
*/
|
|
9
|
+
group?: string;
|
|
7
10
|
}
|
|
8
11
|
/** A section of the current app, navigated to client-side. */
|
|
9
12
|
export interface AppLayoutInternalNavItem extends NavItemBase {
|
|
@@ -16,11 +19,6 @@ export interface AppLayoutExternalNavItem extends NavItemBase {
|
|
|
16
19
|
path?: undefined;
|
|
17
20
|
}
|
|
18
21
|
export type AppLayoutNavItem = AppLayoutInternalNavItem | AppLayoutExternalNavItem;
|
|
19
|
-
export interface AppLayoutFooterLink {
|
|
20
|
-
text: string;
|
|
21
|
-
icon: ReactNode;
|
|
22
|
-
href: string;
|
|
23
|
-
}
|
|
24
22
|
export interface AppLayoutUser {
|
|
25
23
|
name?: string;
|
|
26
24
|
email?: string;
|
|
@@ -35,8 +33,6 @@ export interface AppLayoutProps {
|
|
|
35
33
|
navItems: AppLayoutNavItem[];
|
|
36
34
|
user: AppLayoutUser | null;
|
|
37
35
|
onLogout: () => void;
|
|
38
|
-
/** Optional link pinned below the nav list, e.g. "Back to Vision". */
|
|
39
|
-
footerLink?: AppLayoutFooterLink;
|
|
40
36
|
/** Max width of the centered content column. Defaults to 800. */
|
|
41
37
|
maxContentWidth?: number;
|
|
42
38
|
/**
|
|
@@ -48,6 +44,12 @@ export interface AppLayoutProps {
|
|
|
48
44
|
onLogin?: () => void;
|
|
49
45
|
/** Adds an "Account" entry to the user menu, linking to account-front. */
|
|
50
46
|
accountUrl?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Adds an "Account" entry to the user menu that routes client-side, for an
|
|
49
|
+
* app that serves Account itself (shell-front). Takes precedence over
|
|
50
|
+
* `accountUrl`.
|
|
51
|
+
*/
|
|
52
|
+
accountPath?: string;
|
|
51
53
|
/** Lets the desktop drawer collapse to an icon rail. Defaults to false. */
|
|
52
54
|
collapsible?: boolean;
|
|
53
55
|
/**
|
|
@@ -68,6 +70,6 @@ export interface AppLayoutProps {
|
|
|
68
70
|
* page header: a header user block costs every page a band of vertical space
|
|
69
71
|
* and puts account actions somewhere different from the navigation.
|
|
70
72
|
*/
|
|
71
|
-
export declare function AppLayout({ children, appName, subtitle, navItems, user, onLogout,
|
|
73
|
+
export declare function AppLayout({ children, appName, subtitle, navItems, user, onLogout, maxContentWidth, isAuthenticated, onLogin, accountUrl, accountPath, collapsible, showPageHeader }: AppLayoutProps): import("react").JSX.Element;
|
|
72
74
|
export {};
|
|
73
75
|
//# sourceMappingURL=AppLayout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAoCxD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAoCxD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,eAAqB,EACrB,eAAsB,EACtB,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAmB,EACnB,cAAqB,EACtB,EAAE,cAAc,+BAkWhB"}
|
|
@@ -3,7 +3,7 @@ import { useState } from 'react';
|
|
|
3
3
|
import { Box, Drawer, List, Typography, Divider, ListItem, ListItemButton, ListItemIcon, ListItemText, Avatar, Menu, MenuItem, useTheme, CssBaseline, AppBar, Toolbar, IconButton } from '@mui/material';
|
|
4
4
|
import { alpha } from '@mui/material/styles';
|
|
5
5
|
import { Menu as MenuIcon, Logout, Person, Login, ChevronLeft, ChevronRight, ExpandMore, AccountCircle } from '@mui/icons-material';
|
|
6
|
-
import { Link, useLocation } from 'react-router-dom';
|
|
6
|
+
import { Link, useLocation, useNavigate } from 'react-router-dom';
|
|
7
7
|
const DRAWER_WIDTH = 260;
|
|
8
8
|
const COLLAPSED_DRAWER_WIDTH = 88;
|
|
9
9
|
/**
|
|
@@ -18,8 +18,10 @@ const COLLAPSED_DRAWER_WIDTH = 88;
|
|
|
18
18
|
* page header: a header user block costs every page a band of vertical space
|
|
19
19
|
* and puts account actions somewhere different from the navigation.
|
|
20
20
|
*/
|
|
21
|
-
export function AppLayout({ children, appName, subtitle, navItems, user, onLogout,
|
|
21
|
+
export function AppLayout({ children, appName, subtitle, navItems, user, onLogout, maxContentWidth = 800, isAuthenticated = true, onLogin, accountUrl, accountPath, collapsible = false, showPageHeader = true }) {
|
|
22
22
|
const location = useLocation();
|
|
23
|
+
const navigate = useNavigate();
|
|
24
|
+
const hasAccountEntry = Boolean(accountPath || accountUrl);
|
|
23
25
|
const theme = useTheme();
|
|
24
26
|
const [anchorElUser, setAnchorElUser] = useState(null);
|
|
25
27
|
const [mobileOpen, setMobileOpen] = useState(false);
|
|
@@ -48,14 +50,30 @@ export function AppLayout({ children, appName, subtitle, navItems, user, onLogou
|
|
|
48
50
|
alignItems: 'center',
|
|
49
51
|
gap: 2,
|
|
50
52
|
justifyContent: collapsed ? 'center' : 'space-between'
|
|
51
|
-
}, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Box, { component: "img", src: "/logo.svg", alt: "Visin Logo", sx: { width: 32, height: 32, flexShrink: 0 } }), !collapsed && (_jsx(Typography, { variant: "h6", sx: { fontWeight: 700, color: 'inherit', letterSpacing: '-0.5px' }, children: "Visin" }))] }), showCollapseToggle && (_jsx(IconButton, { onClick: () => setDesktopOpen(!desktopOpen), "aria-label": collapsed ? 'expand navigation' : 'collapse navigation', sx: { color: 'rgba(255,255,255,0.5)', display: { xs: 'none', sm: 'flex' }, p: 0.5 }, children: collapsed ? _jsx(ChevronRight, {}) : _jsx(ChevronLeft, {}) }))] }), _jsx(List, { sx: { px: 2, flexGrow: 1 }, children: navItems.map((item) => {
|
|
53
|
+
}, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Box, { component: "img", src: "/logo.svg", alt: "Visin Logo", sx: { width: 32, height: 32, flexShrink: 0 } }), !collapsed && (_jsx(Typography, { variant: "h6", sx: { fontWeight: 700, color: 'inherit', letterSpacing: '-0.5px' }, children: "Visin" }))] }), showCollapseToggle && (_jsx(IconButton, { onClick: () => setDesktopOpen(!desktopOpen), "aria-label": collapsed ? 'expand navigation' : 'collapse navigation', sx: { color: 'rgba(255,255,255,0.5)', display: { xs: 'none', sm: 'flex' }, p: 0.5 }, children: collapsed ? _jsx(ChevronRight, {}) : _jsx(ChevronLeft, {}) }))] }), _jsx(List, { sx: { px: 2, flexGrow: 1, overflowY: 'auto' }, children: navItems.map((item, index) => {
|
|
52
54
|
const active = isActive(item);
|
|
53
55
|
// An external item is a plain anchor: it belongs to a sibling app,
|
|
54
|
-
// so it needs a full page load, not a client-side route change.
|
|
56
|
+
// so it needs a full page load, not a client-side route change. It
|
|
57
|
+
// is otherwise drawn exactly like a local one — the menu is one
|
|
58
|
+
// product, not a list of apps.
|
|
55
59
|
const linkProps = item.path !== undefined
|
|
56
60
|
? { component: Link, to: item.path }
|
|
57
61
|
: { component: 'a', href: item.href };
|
|
58
|
-
|
|
62
|
+
const startsGroup = item.group !== undefined && item.group !== navItems[index - 1]?.group;
|
|
63
|
+
return (_jsxs(ListItem, { disablePadding: true, sx: { mb: 0.5, display: 'block' }, children: [startsGroup &&
|
|
64
|
+
(collapsed ? (
|
|
65
|
+
// The icon rail has no room for a label; a rule still shows
|
|
66
|
+
// where one group ends.
|
|
67
|
+
index > 0 && _jsx(Divider, { sx: { my: 1.5, mx: 1, borderColor: 'rgba(255,255,255,0.1)' } })) : (_jsx(Typography, { component: "div", sx: {
|
|
68
|
+
px: 2,
|
|
69
|
+
pt: index > 0 ? 2 : 0,
|
|
70
|
+
pb: 1,
|
|
71
|
+
fontSize: '0.7rem',
|
|
72
|
+
fontWeight: 600,
|
|
73
|
+
letterSpacing: '0.08em',
|
|
74
|
+
textTransform: 'uppercase',
|
|
75
|
+
color: 'rgba(255,255,255,0.4)'
|
|
76
|
+
}, children: item.group }))), _jsxs(ListItemButton, { ...linkProps, selected: active, onClick: () => setMobileOpen(false), sx: {
|
|
59
77
|
borderRadius: 2,
|
|
60
78
|
py: 1.2,
|
|
61
79
|
justifyContent: collapsed ? 'center' : 'initial',
|
|
@@ -84,19 +102,7 @@ export function AppLayout({ children, appName, subtitle, navItems, user, onLogou
|
|
|
84
102
|
}, children: item.icon }), !collapsed && (_jsx(ListItemText, { primary: item.text, slotProps: {
|
|
85
103
|
primary: { sx: { fontWeight: active ? 600 : 500, fontSize: '0.925rem' } }
|
|
86
104
|
} }))] })] }, item.text));
|
|
87
|
-
}) }),
|
|
88
|
-
borderRadius: 2,
|
|
89
|
-
py: 1.2,
|
|
90
|
-
justifyContent: collapsed ? 'center' : 'initial',
|
|
91
|
-
color: 'rgba(255,255,255,0.5)',
|
|
92
|
-
'&:hover': {
|
|
93
|
-
bgcolor: 'rgba(255,255,255,0.05)',
|
|
94
|
-
color: '#fff',
|
|
95
|
-
'& .MuiListItemIcon-root': {
|
|
96
|
-
color: '#fff'
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}, children: [_jsx(ListItemIcon, { sx: { minWidth: collapsed ? 0 : 40, justifyContent: 'center', color: 'inherit' }, children: footerLink.icon }), !collapsed && (_jsx(ListItemText, { primary: footerLink.text, slotProps: { primary: { sx: { fontWeight: 500, fontSize: '0.925rem' } } } }))] }) }) })), _jsx(Divider, { sx: { mx: 2, borderColor: 'rgba(255,255,255,0.1)' } }), _jsx(Box, { sx: { p: 2 }, children: isAuthenticated ? (_jsxs(ListItemButton, { onClick: handleOpenUserMenu, "aria-label": "open user menu", sx: {
|
|
105
|
+
}) }), _jsx(Divider, { sx: { mx: 2, borderColor: 'rgba(255,255,255,0.1)' } }), _jsx(Box, { sx: { p: 2 }, children: isAuthenticated ? (_jsxs(ListItemButton, { onClick: handleOpenUserMenu, "aria-label": "open user menu", sx: {
|
|
100
106
|
borderRadius: 2,
|
|
101
107
|
justifyContent: collapsed ? 'center' : 'initial',
|
|
102
108
|
px: collapsed ? 1 : 2,
|
|
@@ -137,10 +143,15 @@ export function AppLayout({ children, appName, subtitle, navItems, user, onLogou
|
|
|
137
143
|
}
|
|
138
144
|
}, open: true, children: renderDrawer('desktop') })] }), _jsxs(Menu, { anchorEl: anchorElUser, open: Boolean(anchorElUser), onClose: handleCloseUserMenu, transformOrigin: { horizontal: 'left', vertical: 'bottom' }, anchorOrigin: { horizontal: 'left', vertical: 'top' }, slotProps: {
|
|
139
145
|
paper: { sx: { minWidth: 200, borderRadius: 2, boxShadow: '0 10px 15px -3px rgb(0 0 0 / 0.1)' } }
|
|
140
|
-
}, children: [
|
|
146
|
+
}, children: [hasAccountEntry && (_jsxs(MenuItem, { onClick: () => {
|
|
141
147
|
handleCloseUserMenu();
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
if (accountPath) {
|
|
149
|
+
navigate(accountPath);
|
|
150
|
+
}
|
|
151
|
+
else if (accountUrl) {
|
|
152
|
+
window.location.href = accountUrl;
|
|
153
|
+
}
|
|
154
|
+
}, sx: { py: 1.5 }, children: [_jsx(ListItemIcon, { children: _jsx(AccountCircle, { fontSize: "small" }) }), "Account"] })), hasAccountEntry && _jsx(Divider, {}), _jsxs(MenuItem, { onClick: () => {
|
|
144
155
|
handleCloseUserMenu();
|
|
145
156
|
onLogout();
|
|
146
157
|
}, sx: { py: 1.5 }, children: [_jsx(ListItemIcon, { children: _jsx(Logout, { fontSize: "small" }) }), "Logout"] })] }), _jsx(Box, { component: "main", sx: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLayout.js","sourceRoot":"","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppLayout.js","sourceRoot":"","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { AppLayout } from './AppLayout';
|
|
2
|
-
export type { AppLayoutProps, AppLayoutNavItem, AppLayoutInternalNavItem, AppLayoutExternalNavItem,
|
|
2
|
+
export type { AppLayoutProps, AppLayoutNavItem, AppLayoutInternalNavItem, AppLayoutExternalNavItem, AppLayoutUser } from './AppLayout';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AppLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AppLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACd,MAAM,aAAa,CAAC"}
|
|
@@ -10,6 +10,14 @@ export interface CreateConfigProviderOptions<T> {
|
|
|
10
10
|
renderChildren?: (children: ReactNode) => ReactNode;
|
|
11
11
|
/** Rendered while config is loading. Defaults to the shared Loader. */
|
|
12
12
|
loadingFallback?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Where the production config lives. Defaults to `/config.json`, which a
|
|
15
|
+
* browser resolves against the *page*. A module-federation remote runs inside
|
|
16
|
+
* shell-front's page, where that is the shell's file, so remotes pass a URL
|
|
17
|
+
* resolved against their own module instead:
|
|
18
|
+
* `new URL('/config.json', import.meta.url).href`.
|
|
19
|
+
*/
|
|
20
|
+
configUrl?: string;
|
|
13
21
|
}
|
|
14
22
|
export declare function createConfigProvider<T>(options: CreateConfigProviderOptions<T>): {
|
|
15
23
|
ConfigProvider: ({ children }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createConfigProvider.d.ts","sourceRoot":"","sources":["../../src/config/createConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzF,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,0KAA0K;IAC1K,eAAe,EAAE,MAAM,CAAC,CAAC;IACzB,kIAAkI;IAClI,KAAK,EAAE,OAAO,CAAC;IACf,+KAA+K;IAC/K,YAAY,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACzC,2HAA2H;IAC3H,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;IACpD,uEAAuE;IACvE,eAAe,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"createConfigProvider.d.ts","sourceRoot":"","sources":["../../src/config/createConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzF,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,0KAA0K;IAC1K,eAAe,EAAE,MAAM,CAAC,CAAC;IACzB,kIAAkI;IAClI,KAAK,EAAE,OAAO,CAAC;IACf,+KAA+K;IAC/K,YAAY,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACzC,2HAA2H;IAC3H,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;IACpD,uEAAuE;IACvE,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC;mCA+BvC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;;qBAJvC,CAAC;2BAbK,CAAC;EA2E9B"}
|
|
@@ -3,7 +3,7 @@ import { createContext, useContext, useEffect, useState } from 'react';
|
|
|
3
3
|
import { Loader } from '../components/Loader';
|
|
4
4
|
import { ErrorPage } from '../components/ErrorPage';
|
|
5
5
|
export function createConfigProvider(options) {
|
|
6
|
-
const { createDevConfig, isDev, onFetchError = 'error-page', renderChildren = (children) => children, loadingFallback = _jsx(Loader, {}) } = options;
|
|
6
|
+
const { createDevConfig, isDev, onFetchError = 'error-page', renderChildren = (children) => children, loadingFallback = _jsx(Loader, {}), configUrl = '/config.json' } = options;
|
|
7
7
|
let globalConfig = null;
|
|
8
8
|
const ConfigContext = createContext({});
|
|
9
9
|
function getGlobalConfig() {
|
|
@@ -22,9 +22,15 @@ export function createConfigProvider(options) {
|
|
|
22
22
|
return useContext(ConfigContext);
|
|
23
23
|
}
|
|
24
24
|
function ConfigProvider({ children }) {
|
|
25
|
-
|
|
25
|
+
// Starts from an already-loaded config: shell-front mounts a remote's
|
|
26
|
+
// provider every time the user navigates into that app, and re-fetching
|
|
27
|
+
// (with a loader in between) on each visit is the reload this avoids.
|
|
28
|
+
const [config, setConfig] = useState(() => globalConfig);
|
|
26
29
|
const [error, setError] = useState(null);
|
|
27
30
|
useEffect(() => {
|
|
31
|
+
if (globalConfig) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
28
34
|
// In development, use environment variables directly
|
|
29
35
|
if (isDev) {
|
|
30
36
|
const devConfig = createDevConfig();
|
|
@@ -33,7 +39,7 @@ export function createConfigProvider(options) {
|
|
|
33
39
|
return;
|
|
34
40
|
}
|
|
35
41
|
// In production, fetch config.json
|
|
36
|
-
fetch(
|
|
42
|
+
fetch(configUrl)
|
|
37
43
|
.then((res) => {
|
|
38
44
|
if (!res.ok)
|
|
39
45
|
throw new Error('Config fetch failed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createConfigProvider.js","sourceRoot":"","sources":["../../src/config/createConfigProvider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"createConfigProvider.js","sourceRoot":"","sources":["../../src/config/createConfigProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module-federation settings every Visin front has to agree on. shell-front is
|
|
3
|
+
* the host; vision-front, label-front and account-front are remotes it loads at
|
|
4
|
+
* runtime from their own origins.
|
|
5
|
+
*
|
|
6
|
+
* The shared singletons are the libraries that hold React context or global
|
|
7
|
+
* state. A remote running its own copy of React breaks hooks outright, and its
|
|
8
|
+
* own copy of the router, Emotion or React Query reads an empty context instead
|
|
9
|
+
* of the one the host's providers filled — so every app must take the single
|
|
10
|
+
* copy the host loaded. The list lives here rather than in four vite configs
|
|
11
|
+
* because drift between those copies is precisely that failure.
|
|
12
|
+
*
|
|
13
|
+
* Plain data with no React imports: each `vite.config.ts` loads it in Node.
|
|
14
|
+
*/
|
|
15
|
+
export declare const VISIN_FEDERATION_SHARED: {
|
|
16
|
+
react: {
|
|
17
|
+
singleton: boolean;
|
|
18
|
+
};
|
|
19
|
+
'react-dom': {
|
|
20
|
+
singleton: boolean;
|
|
21
|
+
};
|
|
22
|
+
'react-router-dom': {
|
|
23
|
+
singleton: boolean;
|
|
24
|
+
};
|
|
25
|
+
'@emotion/react': {
|
|
26
|
+
singleton: boolean;
|
|
27
|
+
};
|
|
28
|
+
'@emotion/styled': {
|
|
29
|
+
singleton: boolean;
|
|
30
|
+
};
|
|
31
|
+
'@mui/material': {
|
|
32
|
+
singleton: boolean;
|
|
33
|
+
};
|
|
34
|
+
'@tanstack/react-query': {
|
|
35
|
+
singleton: boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
/** File each remote serves its federation entry as, at the root of its origin. */
|
|
39
|
+
export declare const VISIN_REMOTE_ENTRY = "remoteEntry.js";
|
|
40
|
+
/** The one module every remote exposes: its routes wrapped in its own providers. */
|
|
41
|
+
export declare const VISIN_REMOTE_MODULE = "./App";
|
|
42
|
+
//# sourceMappingURL=federation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;CAQnC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,UAAU,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module-federation settings every Visin front has to agree on. shell-front is
|
|
3
|
+
* the host; vision-front, label-front and account-front are remotes it loads at
|
|
4
|
+
* runtime from their own origins.
|
|
5
|
+
*
|
|
6
|
+
* The shared singletons are the libraries that hold React context or global
|
|
7
|
+
* state. A remote running its own copy of React breaks hooks outright, and its
|
|
8
|
+
* own copy of the router, Emotion or React Query reads an empty context instead
|
|
9
|
+
* of the one the host's providers filled — so every app must take the single
|
|
10
|
+
* copy the host loaded. The list lives here rather than in four vite configs
|
|
11
|
+
* because drift between those copies is precisely that failure.
|
|
12
|
+
*
|
|
13
|
+
* Plain data with no React imports: each `vite.config.ts` loads it in Node.
|
|
14
|
+
*/
|
|
15
|
+
export const VISIN_FEDERATION_SHARED = {
|
|
16
|
+
react: { singleton: true },
|
|
17
|
+
'react-dom': { singleton: true },
|
|
18
|
+
'react-router-dom': { singleton: true },
|
|
19
|
+
'@emotion/react': { singleton: true },
|
|
20
|
+
'@emotion/styled': { singleton: true },
|
|
21
|
+
'@mui/material': { singleton: true },
|
|
22
|
+
'@tanstack/react-query': { singleton: true }
|
|
23
|
+
};
|
|
24
|
+
/** File each remote serves its federation entry as, at the root of its origin. */
|
|
25
|
+
export const VISIN_REMOTE_ENTRY = 'remoteEntry.js';
|
|
26
|
+
/** The one module every remote exposes: its routes wrapped in its own providers. */
|
|
27
|
+
export const VISIN_REMOTE_MODULE = './App';
|
|
28
|
+
//# sourceMappingURL=federation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC1B,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAChC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACtC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACpC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;CAC7C,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export type { LoaderProps } from './components/Loader';
|
|
|
5
5
|
export { ErrorPage } from './components/ErrorPage';
|
|
6
6
|
export type { ErrorPageProps } from './components/ErrorPage';
|
|
7
7
|
export { AppLayout } from './components/AppLayout';
|
|
8
|
-
export type { AppLayoutProps, AppLayoutNavItem, AppLayoutInternalNavItem, AppLayoutExternalNavItem,
|
|
9
|
-
export { createVisinNavItems } from './navigation';
|
|
8
|
+
export type { AppLayoutProps, AppLayoutNavItem, AppLayoutInternalNavItem, AppLayoutExternalNavItem, AppLayoutUser } from './components/AppLayout';
|
|
9
|
+
export { createVisinNavItems, createAccountNavItems } from './navigation';
|
|
10
10
|
export type { VisinApp, VisinAppUrls } from './navigation';
|
|
11
11
|
export { createProtectedRoute } from './components/ProtectedRoute';
|
|
12
12
|
export type { ProtectedRouteProps, ProtectedRouteAuth } from './components/ProtectedRoute';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { createApiClient, ApiError } from './apiClient';
|
|
|
3
3
|
export { Loader } from './components/Loader';
|
|
4
4
|
export { ErrorPage } from './components/ErrorPage';
|
|
5
5
|
export { AppLayout } from './components/AppLayout';
|
|
6
|
-
export { createVisinNavItems } from './navigation';
|
|
6
|
+
export { createVisinNavItems, createAccountNavItems } from './navigation';
|
|
7
7
|
export { createProtectedRoute } from './components/ProtectedRoute';
|
|
8
8
|
export { createLoginRedirect } from './components/LoginRedirect';
|
|
9
9
|
export { createAuthService } from './auth/authService';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/navigation.d.ts
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import type { AppLayoutNavItem } from './components/AppLayout';
|
|
2
|
-
/** The fronts
|
|
2
|
+
/** The fronts whose sections make up the shared menu. */
|
|
3
3
|
export type VisinApp = 'vision' | 'label';
|
|
4
4
|
export interface VisinAppUrls {
|
|
5
|
-
/** Base URL of vision-front, e.g. https://
|
|
5
|
+
/** Base URL of vision-front, e.g. https://ml.example.com */
|
|
6
6
|
vision?: string;
|
|
7
|
-
/** Base URL of label-front, e.g. https://label.
|
|
7
|
+
/** Base URL of label-front, e.g. https://label.example.com */
|
|
8
8
|
label?: string;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Builds the
|
|
12
|
-
* one
|
|
11
|
+
* Builds the shared menu. `localApps` are the apps whose sections are routes of
|
|
12
|
+
* the page drawing the menu: one app in a standalone front, both in shell-front
|
|
13
|
+
* (which renders every app on one page), and none in account-front, where every
|
|
14
|
+
* entry links across. Every other app's sections are absolute links to that app.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* Vision.
|
|
16
|
+
* A non-local app with no URL configured has its group omitted, rather than
|
|
17
|
+
* rendered as dead links into the current origin — a missing `LABEL_FRONT_URL`
|
|
18
|
+
* should hide Labeling, not leave entries that 404 inside Vision.
|
|
18
19
|
*/
|
|
19
|
-
export declare function createVisinNavItems(
|
|
20
|
+
export declare function createVisinNavItems(localApps: VisinApp | readonly VisinApp[] | null, urls: VisinAppUrls): AppLayoutNavItem[];
|
|
21
|
+
/**
|
|
22
|
+
* Account's own sections, under an Account heading, as local routes. Shown only
|
|
23
|
+
* while the user is in Account (account-front, or shell-front's Account routes);
|
|
24
|
+
* everywhere else Account is a single entry in the user menu.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createAccountNavItems(): AppLayoutNavItem[];
|
|
20
27
|
//# sourceMappingURL=navigation.d.ts.map
|
package/dist/navigation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsDD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,QAAQ,GAAG,SAAS,QAAQ,EAAE,GAAG,IAAI,EAChD,IAAI,EAAE,YAAY,GACjB,gBAAgB,EAAE,CAmBpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D"}
|
package/dist/navigation.js
CHANGED
|
@@ -1,62 +1,76 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Folder, ModelTraining, Storage, Assignment, Inventory2,
|
|
2
|
+
import { Folder, ModelTraining, Storage, Assignment, Inventory2, Person, Groups, Key, Link as LinkIcon, Insights } from '@mui/icons-material';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* The whole menu, in the order every app shows it. It used to list only the
|
|
5
|
+
* current app's sections plus one link across, so following that link swapped
|
|
6
|
+
* the entire sidebar out from under the user. Now every app renders the same
|
|
7
|
+
* groups in the same places; crossing apps changes which item is highlighted,
|
|
8
|
+
* never what the menu contains.
|
|
8
9
|
*/
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
10
|
+
const NAV_GROUPS = [
|
|
11
|
+
{
|
|
12
|
+
app: 'vision',
|
|
13
|
+
label: 'Vision',
|
|
14
|
+
sections: [
|
|
15
|
+
{ text: 'Projects', icon: _jsx(Folder, {}), path: '/projects' },
|
|
16
|
+
{ text: 'Trainings', icon: _jsx(ModelTraining, {}), path: '/trainings' },
|
|
17
|
+
{ text: 'Datasets', icon: _jsx(Storage, {}), path: '/datasets' }
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
app: 'label',
|
|
22
|
+
label: 'Labeling',
|
|
23
|
+
// "New job" is deliberately not here: it is an action on the Jobs list, not a
|
|
24
|
+
// section of the app, and a nav entry for it made the menu read as three
|
|
25
|
+
// destinations when there are two.
|
|
26
|
+
sections: [
|
|
27
|
+
{ text: 'Jobs', icon: _jsx(Assignment, {}), path: '/jobs' },
|
|
28
|
+
{ text: 'Bundles', icon: _jsx(Inventory2, {}), path: '/bundles' }
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
const ACCOUNT_SECTIONS = [
|
|
33
|
+
{ text: 'Profile', icon: _jsx(Person, {}), path: '/account/profile' },
|
|
34
|
+
{ text: 'Groups', icon: _jsx(Groups, {}), path: '/account/groups' },
|
|
35
|
+
{ text: 'API keys', icon: _jsx(Key, {}), path: '/account/api-keys' },
|
|
36
|
+
{ text: 'Connected apps', icon: _jsx(LinkIcon, {}), path: '/account/connections' },
|
|
37
|
+
{ text: 'Assistant activity', icon: _jsx(Insights, {}), path: '/account/activity' }
|
|
38
|
+
];
|
|
32
39
|
const stripTrailingSlash = (url) => url.replace(/\/$/, '');
|
|
33
|
-
const otherApp = (app) => (app === 'vision' ? 'label' : 'vision');
|
|
34
40
|
/**
|
|
35
|
-
* Builds the
|
|
36
|
-
* one
|
|
41
|
+
* Builds the shared menu. `localApps` are the apps whose sections are routes of
|
|
42
|
+
* the page drawing the menu: one app in a standalone front, both in shell-front
|
|
43
|
+
* (which renders every app on one page), and none in account-front, where every
|
|
44
|
+
* entry links across. Every other app's sections are absolute links to that app.
|
|
37
45
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* Vision.
|
|
46
|
+
* A non-local app with no URL configured has its group omitted, rather than
|
|
47
|
+
* rendered as dead links into the current origin — a missing `LABEL_FRONT_URL`
|
|
48
|
+
* should hide Labeling, not leave entries that 404 inside Vision.
|
|
42
49
|
*/
|
|
43
|
-
export function createVisinNavItems(
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
text
|
|
55
|
-
icon
|
|
56
|
-
href: `${stripTrailingSlash(baseUrl)}${
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
50
|
+
export function createVisinNavItems(localApps, urls) {
|
|
51
|
+
const local = new Set(localApps === null ? [] : typeof localApps === 'string' ? [localApps] : localApps);
|
|
52
|
+
return NAV_GROUPS.flatMap(({ app, label, sections }) => {
|
|
53
|
+
if (local.has(app)) {
|
|
54
|
+
return sections.map(({ text, icon, path }) => ({ text, icon, path, group: label }));
|
|
55
|
+
}
|
|
56
|
+
const baseUrl = urls[app];
|
|
57
|
+
if (!baseUrl) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
return sections.map(({ text, icon, path }) => ({
|
|
61
|
+
text,
|
|
62
|
+
icon,
|
|
63
|
+
href: `${stripTrailingSlash(baseUrl)}${path}`,
|
|
64
|
+
group: label
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Account's own sections, under an Account heading, as local routes. Shown only
|
|
70
|
+
* while the user is in Account (account-front, or shell-front's Account routes);
|
|
71
|
+
* everywhere else Account is a single entry in the user menu.
|
|
72
|
+
*/
|
|
73
|
+
export function createAccountNavItems() {
|
|
74
|
+
return ACCOUNT_SECTIONS.map(({ text, icon, path }) => ({ text, icon, path, group: 'Account' }));
|
|
61
75
|
}
|
|
62
76
|
//# sourceMappingURL=navigation.js.map
|
package/dist/navigation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visin/frontend-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Shared frontend auth/API-client logic for Visin frontends",
|
|
5
5
|
"author": "Toomas Tahves",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./federation": {
|
|
17
|
+
"types": "./dist/federation.d.ts",
|
|
18
|
+
"import": "./dist/federation.js",
|
|
19
|
+
"default": "./dist/federation.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
10
22
|
"files": [
|
|
11
23
|
"dist"
|
|
12
24
|
],
|