@visin/frontend-core 1.2.0 → 1.4.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/components/AppLayout/AppLayout.d.ts +36 -29
- package/dist/components/AppLayout/AppLayout.d.ts.map +1 -1
- package/dist/components/AppLayout/AppLayout.js +190 -155
- 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/index.d.ts +3 -3
- 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 +15 -14
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +48 -46
- package/dist/navigation.js.map +1 -1
- package/package.json +15 -15
|
@@ -2,11 +2,6 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
interface NavItemBase {
|
|
3
3
|
text: string;
|
|
4
4
|
icon: ReactNode;
|
|
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;
|
|
10
5
|
}
|
|
11
6
|
/** A section of the current app, navigated to client-side. */
|
|
12
7
|
export interface AppLayoutInternalNavItem extends NavItemBase {
|
|
@@ -19,6 +14,21 @@ export interface AppLayoutExternalNavItem extends NavItemBase {
|
|
|
19
14
|
path?: undefined;
|
|
20
15
|
}
|
|
21
16
|
export type AppLayoutNavItem = AppLayoutInternalNavItem | AppLayoutExternalNavItem;
|
|
17
|
+
/**
|
|
18
|
+
* A top-level entry of the menu. The rail (a tab bar on phones) lists groups;
|
|
19
|
+
* the group being shown lists its sections in a bar above the content.
|
|
20
|
+
*/
|
|
21
|
+
export interface AppLayoutNavGroup {
|
|
22
|
+
label: string;
|
|
23
|
+
icon: ReactNode;
|
|
24
|
+
/** In menu order. Choosing the group opens the first. */
|
|
25
|
+
items: AppLayoutNavItem[];
|
|
26
|
+
/**
|
|
27
|
+
* Further path prefixes that belong to the group without being one of its
|
|
28
|
+
* sections — a training's epochs, a benchmark — so it stays highlighted there.
|
|
29
|
+
*/
|
|
30
|
+
match?: string[];
|
|
31
|
+
}
|
|
22
32
|
export interface AppLayoutUser {
|
|
23
33
|
name?: string;
|
|
24
34
|
email?: string;
|
|
@@ -26,50 +36,47 @@ export interface AppLayoutUser {
|
|
|
26
36
|
}
|
|
27
37
|
export interface AppLayoutProps {
|
|
28
38
|
children: ReactNode;
|
|
29
|
-
/**
|
|
39
|
+
/** The page title where no section names the page. */
|
|
30
40
|
appName: string;
|
|
31
41
|
/** Static description shown under the desktop page title. */
|
|
32
42
|
subtitle: string;
|
|
33
|
-
|
|
43
|
+
navGroups: AppLayoutNavGroup[];
|
|
44
|
+
/**
|
|
45
|
+
* Account's sections: listed in the account menu, and in the section bar
|
|
46
|
+
* while one of them is shown. Empty where Account is unreachable, leaving the
|
|
47
|
+
* menu only Logout.
|
|
48
|
+
*/
|
|
49
|
+
accountItems?: AppLayoutNavItem[];
|
|
34
50
|
user: AppLayoutUser | null;
|
|
35
51
|
onLogout: () => void;
|
|
36
52
|
/** Max width of the centered content column. Defaults to 800. */
|
|
37
53
|
maxContentWidth?: number;
|
|
38
54
|
/**
|
|
39
|
-
* False shows
|
|
40
|
-
*
|
|
55
|
+
* False shows Login in place of Account. Defaults to true — account-front
|
|
56
|
+
* serves no anonymous visitors.
|
|
41
57
|
*/
|
|
42
58
|
isAuthenticated?: boolean;
|
|
43
59
|
/** Required when `isAuthenticated` can be false. */
|
|
44
60
|
onLogin?: () => void;
|
|
45
|
-
/** Adds an "Account" entry to the user menu, linking to account-front. */
|
|
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;
|
|
53
|
-
/** Lets the desktop drawer collapse to an icon rail. Defaults to false. */
|
|
54
|
-
collapsible?: boolean;
|
|
55
61
|
/**
|
|
56
62
|
* False drops the page title/subtitle header, for apps whose pages render
|
|
57
63
|
* their own headings. Defaults to true.
|
|
58
64
|
*/
|
|
59
65
|
showPageHeader?: boolean;
|
|
66
|
+
/** Where the rail's logo leads, for an app with a home page (shell-front). Otherwise it is only a logo. */
|
|
67
|
+
homePath?: string;
|
|
60
68
|
}
|
|
61
69
|
/**
|
|
62
|
-
* The
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* identically across apps.
|
|
70
|
+
* The navigation behind every Visin front. Groups sit in a rail beside the
|
|
71
|
+
* content, or in a tab bar under it on phones where it stays in reach of a
|
|
72
|
+
* thumb; the shown group's sections sit in a bar above the content, or in a
|
|
73
|
+
* dropdown on phones. Account is the last entry of the rail and the only place
|
|
74
|
+
* account actions live.
|
|
68
75
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
76
|
+
* Every entry carries a visible label. The sidebar this replaced hid its menu
|
|
77
|
+
* behind a burger button on phones, and collapsed on desktop to an icon rail
|
|
78
|
+
* that relied on the reader recognising the icons.
|
|
72
79
|
*/
|
|
73
|
-
export declare function AppLayout({ children, appName, subtitle,
|
|
80
|
+
export declare function AppLayout({ children, appName, subtitle, navGroups, accountItems, user, onLogout, maxContentWidth, isAuthenticated, onLogin, showPageHeader, homePath }: AppLayoutProps): import("react").JSX.Element;
|
|
74
81
|
export {};
|
|
75
82
|
//# 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;
|
|
1
|
+
{"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AA4BxD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;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;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,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,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,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;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,eAAqB,EACrB,eAAsB,EACtB,OAAO,EACP,cAAqB,EACrB,QAAQ,EACT,EAAE,cAAc,+BAyVhB"}
|
|
@@ -1,168 +1,203 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import { Box,
|
|
3
|
+
import { Avatar, Box, Button, ButtonBase, CssBaseline, Divider, Drawer, ListItemIcon, ListItemText, Menu, MenuItem, MenuList, Typography, useMediaQuery, useTheme } from '@mui/material';
|
|
4
4
|
import { alpha } from '@mui/material/styles';
|
|
5
|
-
import {
|
|
6
|
-
import { Link, useLocation
|
|
7
|
-
const
|
|
8
|
-
|
|
5
|
+
import { ExpandMore, Login, Logout, Person } from '@mui/icons-material';
|
|
6
|
+
import { Link, useLocation } from 'react-router-dom';
|
|
7
|
+
const RAIL_WIDTH = 88;
|
|
8
|
+
/** Height the phone tab bar covers at the foot of the screen, above the safe-area inset. */
|
|
9
|
+
const TAB_BAR_HEIGHT = 72;
|
|
10
|
+
const CHROME_BG = '#111827';
|
|
11
|
+
const CHROME_BORDER = 'rgba(255,255,255,0.1)';
|
|
12
|
+
const ownsPath = (prefix, pathname) => pathname === prefix || pathname.startsWith(`${prefix}/`);
|
|
13
|
+
// A router link for a local section, a plain anchor — a full page load — for a
|
|
14
|
+
// sibling app's.
|
|
15
|
+
const linkProps = (item) => item.path !== undefined ? { component: Link, to: item.path } : { component: 'a', href: item.href };
|
|
9
16
|
/**
|
|
10
|
-
* The
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* identically across apps.
|
|
17
|
+
* The navigation behind every Visin front. Groups sit in a rail beside the
|
|
18
|
+
* content, or in a tab bar under it on phones where it stays in reach of a
|
|
19
|
+
* thumb; the shown group's sections sit in a bar above the content, or in a
|
|
20
|
+
* dropdown on phones. Account is the last entry of the rail and the only place
|
|
21
|
+
* account actions live.
|
|
16
22
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
23
|
+
* Every entry carries a visible label. The sidebar this replaced hid its menu
|
|
24
|
+
* behind a burger button on phones, and collapsed on desktop to an icon rail
|
|
25
|
+
* that relied on the reader recognising the icons.
|
|
20
26
|
*/
|
|
21
|
-
export function AppLayout({ children, appName, subtitle,
|
|
22
|
-
const
|
|
23
|
-
const navigate = useNavigate();
|
|
24
|
-
const hasAccountEntry = Boolean(accountPath || accountUrl);
|
|
27
|
+
export function AppLayout({ children, appName, subtitle, navGroups, accountItems = [], user, onLogout, maxContentWidth = 800, isAuthenticated = true, onLogin, showPageHeader = true, homePath }) {
|
|
28
|
+
const { pathname } = useLocation();
|
|
25
29
|
const theme = useTheme();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
// different
|
|
30
|
+
// Read synchronously. The default first pass assumes a wide screen, which
|
|
31
|
+
// would draw the rail on a phone for a frame before swapping in the tab bar.
|
|
32
|
+
const mobile = useMediaQuery(theme.breakpoints.down('sm'), { noSsr: true });
|
|
33
|
+
const [accountAnchor, setAccountAnchor] = useState(null);
|
|
34
|
+
const [sectionAnchor, setSectionAnchor] = useState(null);
|
|
35
|
+
const closeAccount = () => setAccountAnchor(null);
|
|
36
|
+
const closeSections = () => setSectionAnchor(null);
|
|
37
|
+
const allItems = [...navGroups.flatMap((group) => group.items), ...accountItems];
|
|
38
|
+
// An exact match always wins; a prefix match only counts if no other item is
|
|
39
|
+
// an exact match for the current path (avoids '/jobs' lighting up while on
|
|
40
|
+
// '/jobs/new'). External items are never active — they belong to a different
|
|
41
|
+
// app.
|
|
37
42
|
const isActive = (item) => item.path !== undefined &&
|
|
38
|
-
(
|
|
39
|
-
(
|
|
40
|
-
!
|
|
41
|
-
const activeItem =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
color: 'rgba(255,255,255,0.7)',
|
|
81
|
-
'&.Mui-selected': {
|
|
82
|
-
bgcolor: alpha(theme.palette.primary.main, 0.15),
|
|
83
|
-
color: theme.palette.primary.light,
|
|
84
|
-
'&:hover': {
|
|
85
|
-
bgcolor: alpha(theme.palette.primary.main, 0.25)
|
|
86
|
-
},
|
|
87
|
-
'& .MuiListItemIcon-root': {
|
|
88
|
-
color: theme.palette.primary.light
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
'&:hover': {
|
|
92
|
-
bgcolor: 'rgba(255,255,255,0.05)',
|
|
93
|
-
color: '#fff',
|
|
94
|
-
'& .MuiListItemIcon-root': {
|
|
95
|
-
color: '#fff'
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}, children: [_jsx(ListItemIcon, { sx: {
|
|
99
|
-
minWidth: collapsed ? 0 : 40,
|
|
100
|
-
justifyContent: 'center',
|
|
101
|
-
color: active ? 'inherit' : 'rgba(255,255,255,0.5)'
|
|
102
|
-
}, children: item.icon }), !collapsed && (_jsx(ListItemText, { primary: item.text, slotProps: {
|
|
103
|
-
primary: { sx: { fontWeight: active ? 600 : 500, fontSize: '0.925rem' } }
|
|
104
|
-
} }))] })] }, item.text));
|
|
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: {
|
|
106
|
-
borderRadius: 2,
|
|
107
|
-
justifyContent: collapsed ? 'center' : 'initial',
|
|
108
|
-
px: collapsed ? 1 : 2,
|
|
109
|
-
'&:hover': { bgcolor: 'rgba(255,255,255,0.05)' }
|
|
110
|
-
}, children: [_jsx(Avatar, { src: user?.picture, sx: { width: 32, height: 32, mr: collapsed ? 0 : 2, bgcolor: theme.palette.secondary.main }, children: user?.name?.charAt(0) || _jsx(Person, { fontSize: "small" }) }), !collapsed && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { flexGrow: 1, minWidth: 0 }, children: [_jsx(Typography, { variant: "body2", noWrap: true, sx: { fontWeight: 600 }, children: user?.name || 'User' }), _jsx(Typography, { variant: "caption", noWrap: true, sx: { color: 'rgba(255,255,255,0.5)', display: 'block' }, children: user?.email })] }), _jsx(ExpandMore, { sx: { color: 'rgba(255,255,255,0.5)' } })] }))] })) : (_jsxs(ListItemButton, { onClick: onLogin, sx: {
|
|
111
|
-
borderRadius: 2,
|
|
112
|
-
justifyContent: collapsed ? 'center' : 'initial',
|
|
113
|
-
px: collapsed ? 1 : 2,
|
|
114
|
-
color: 'rgba(255,255,255,0.7)',
|
|
115
|
-
'&:hover': { bgcolor: 'rgba(255,255,255,0.05)', color: '#fff' }
|
|
116
|
-
}, children: [_jsx(ListItemIcon, { sx: { minWidth: collapsed ? 0 : 40, justifyContent: 'center', color: 'rgba(255,255,255,0.5)' }, children: _jsx(Login, {}) }), !collapsed && (_jsx(ListItemText, { primary: "Login", slotProps: { primary: { sx: { fontWeight: 600, fontSize: '0.925rem' } } } }))] })) })] }));
|
|
43
|
+
(pathname === item.path ||
|
|
44
|
+
(pathname.startsWith(item.path + '/') &&
|
|
45
|
+
!allItems.some((other) => other.path !== item.path && other.path === pathname)));
|
|
46
|
+
const activeItem = allItems.find(isActive);
|
|
47
|
+
const accountGroup = { label: 'Account', icon: null, items: accountItems };
|
|
48
|
+
const activeGroup = [...navGroups, accountGroup].find((group) => group.items.some(isActive) || (group.match ?? []).some((prefix) => ownsPath(prefix, pathname)));
|
|
49
|
+
// A group of one has nothing to choose between.
|
|
50
|
+
const sectionGroup = activeGroup && activeGroup.items.length > 1 ? activeGroup : null;
|
|
51
|
+
const initial = user?.name?.charAt(0) || _jsx(Person, { fontSize: "small" });
|
|
52
|
+
const menuItem = (item, onClose) => (_jsxs(MenuItem, { ...linkProps(item), selected: isActive(item), onClick: onClose, children: [_jsx(ListItemIcon, { children: item.icon }), _jsx(ListItemText, { children: item.text })] }, item.text));
|
|
53
|
+
const railEntries = (_jsxs(_Fragment, { children: [navGroups.map((group) => (_jsx(NavButton, { label: group.label, icon: group.icon, target: group.items[0], active: group === activeGroup, current: group === activeGroup, mobile: mobile }, group.label))), !mobile && _jsx(Box, { sx: { flex: 1 } }), isAuthenticated ? (_jsx(NavButton, { label: "Account", icon: _jsx(Avatar, { src: user?.picture, alt: "", sx: { width: 26, height: 26, fontSize: '0.8rem', bgcolor: theme.palette.secondary.main }, children: initial }), active: Boolean(accountAnchor) || activeGroup === accountGroup, current: activeGroup === accountGroup, mobile: mobile, onClick: (event) => setAccountAnchor(event.currentTarget), expanded: Boolean(accountAnchor) })) : (_jsx(NavButton, { label: "Login", icon: _jsx(Login, {}), active: false, current: false, mobile: mobile, onClick: onLogin }))] }));
|
|
54
|
+
// An array rather than a fragment: Menu and MenuList walk their direct
|
|
55
|
+
// children to manage focus.
|
|
56
|
+
const accountMenuItems = [
|
|
57
|
+
_jsxs(MenuItem, { disabled: true, sx: { gap: 1.5, py: 1.25, '&.Mui-disabled': { opacity: 1 } }, children: [_jsx(Avatar, { src: user?.picture, alt: "", sx: { width: 36, height: 36, bgcolor: theme.palette.secondary.main }, children: initial }), _jsxs(Box, { sx: { minWidth: 0 }, children: [_jsx(Typography, { noWrap: true, sx: { fontWeight: 700 }, children: user?.name || 'User' }), user?.email && (_jsx(Typography, { noWrap: true, variant: "body2", sx: { color: 'text.secondary' }, children: user.email }))] })] }, "who"),
|
|
58
|
+
_jsx(Divider, {}, "who-divider"),
|
|
59
|
+
...accountItems.map((item) => menuItem(item, closeAccount)),
|
|
60
|
+
...(accountItems.length > 0 ? [_jsx(Divider, {}, "logout-divider")] : []),
|
|
61
|
+
_jsxs(MenuItem, { onClick: () => {
|
|
62
|
+
closeAccount();
|
|
63
|
+
onLogout();
|
|
64
|
+
}, children: [_jsx(ListItemIcon, { children: _jsx(Logout, { fontSize: "small" }) }), _jsx(ListItemText, { children: "Logout" })] }, "logout")
|
|
65
|
+
];
|
|
66
|
+
const accountMenu = mobile ? (_jsxs(Drawer, { anchor: "bottom", open: Boolean(accountAnchor), onClose: closeAccount, slotProps: {
|
|
67
|
+
paper: {
|
|
68
|
+
sx: {
|
|
69
|
+
borderTopLeftRadius: 20,
|
|
70
|
+
borderTopRightRadius: 20,
|
|
71
|
+
maxHeight: '85dvh',
|
|
72
|
+
pb: 'calc(8px + env(safe-area-inset-bottom))'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, children: [_jsx(Box, { "aria-hidden": true, sx: { width: 36, height: 4, borderRadius: 2, bgcolor: 'divider', mx: 'auto', mt: 1.25 } }), _jsx(MenuList, { "aria-label": "Account", autoFocusItem: Boolean(accountAnchor), children: accountMenuItems })] })) : (_jsx(Menu, { anchorEl: accountAnchor, open: Boolean(accountAnchor), onClose: closeAccount, anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, transformOrigin: { vertical: 'bottom', horizontal: 'left' }, slotProps: {
|
|
76
|
+
paper: { sx: { ml: 1, minWidth: 240, maxWidth: 320, borderRadius: 3 } },
|
|
77
|
+
list: { 'aria-label': 'Account' }
|
|
78
|
+
}, children: accountMenuItems }));
|
|
79
|
+
const sectionBarSx = {
|
|
80
|
+
display: 'flex',
|
|
81
|
+
alignItems: 'center',
|
|
82
|
+
borderBottom: 1,
|
|
83
|
+
borderColor: 'divider',
|
|
84
|
+
bgcolor: 'background.paper'
|
|
117
85
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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: () => {
|
|
155
|
-
handleCloseUserMenu();
|
|
156
|
-
onLogout();
|
|
157
|
-
}, sx: { py: 1.5 }, children: [_jsx(ListItemIcon, { children: _jsx(Logout, { fontSize: "small" }) }), "Logout"] })] }), _jsx(Box, { component: "main", sx: {
|
|
158
|
-
flexGrow: 1,
|
|
159
|
-
p: { xs: 2, sm: 4, md: 8 },
|
|
160
|
-
width: { sm: `calc(100% - ${drawerWidth}px)` },
|
|
161
|
-
transition: 'width 0.2s',
|
|
162
|
-
mt: { xs: 7, sm: 0 },
|
|
86
|
+
const sectionBar = sectionGroup &&
|
|
87
|
+
(mobile ? (_jsxs(Box, { component: "nav", "aria-label": sectionGroup.label, sx: { ...sectionBarSx, minHeight: 52, px: 1 }, children: [_jsx(Button, { onClick: (event) => setSectionAnchor(event.currentTarget), endIcon: _jsx(ExpandMore, {}), "aria-haspopup": "menu", "aria-expanded": Boolean(sectionAnchor), sx: {
|
|
88
|
+
textTransform: 'none',
|
|
89
|
+
fontWeight: 700,
|
|
90
|
+
fontSize: '1rem',
|
|
91
|
+
color: 'text.primary',
|
|
92
|
+
borderRadius: 2,
|
|
93
|
+
minWidth: 0,
|
|
94
|
+
maxWidth: '100%'
|
|
95
|
+
}, children: _jsx(Box, { component: "span", sx: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: sectionGroup.items.find(isActive)?.text ?? sectionGroup.label }) }), _jsx(Menu, { anchorEl: sectionAnchor, open: Boolean(sectionAnchor), onClose: closeSections, anchorOrigin: { vertical: 'bottom', horizontal: 'left' }, transformOrigin: { vertical: 'top', horizontal: 'left' }, slotProps: { paper: { sx: { minWidth: 220, borderRadius: 3 } } }, children: sectionGroup.items.map((item) => menuItem(item, closeSections)) })] })) : (_jsx(Box, { component: "nav", "aria-label": sectionGroup.label, sx: { ...sectionBarSx, gap: 1, minHeight: 56, px: { sm: 3, md: 7 }, overflowX: 'auto' }, children: sectionGroup.items.map((item) => {
|
|
96
|
+
const active = isActive(item);
|
|
97
|
+
return (_jsx(Button, { ...linkProps(item), startIcon: item.icon, "aria-current": active ? 'page' : undefined, sx: {
|
|
98
|
+
flexShrink: 0,
|
|
99
|
+
px: 2,
|
|
100
|
+
borderRadius: 2,
|
|
101
|
+
textTransform: 'none',
|
|
102
|
+
fontWeight: active ? 700 : 500,
|
|
103
|
+
color: active ? 'primary.main' : 'text.secondary',
|
|
104
|
+
bgcolor: active ? alpha(theme.palette.primary.main, 0.08) : 'transparent',
|
|
105
|
+
'&:hover': { bgcolor: active ? alpha(theme.palette.primary.main, 0.14) : 'action.hover' }
|
|
106
|
+
}, children: item.text }, item.text));
|
|
107
|
+
}) })));
|
|
108
|
+
// On a phone the section dropdown already names the page.
|
|
109
|
+
const pageHeader = showPageHeader && !(mobile && sectionGroup) && (_jsxs(Box, { sx: { mb: { xs: 3, sm: 6 } }, children: [_jsx(Typography, { variant: "h4", sx: { fontWeight: 700, letterSpacing: '-1px', mb: 1, fontSize: { xs: '1.5rem', sm: '2.125rem' } }, children: activeItem?.text || appName }), _jsx(Typography, { variant: "body1", sx: { color: 'text.secondary', display: { xs: 'none', sm: 'block' } }, children: subtitle })] }));
|
|
110
|
+
return (_jsxs(Box, { sx: { display: 'flex', minHeight: '100vh', bgcolor: 'background.default' }, children: [_jsx(CssBaseline, {}), !mobile && (_jsxs(Box, { component: "nav", "aria-label": "Main", sx: {
|
|
111
|
+
width: RAIL_WIDTH,
|
|
112
|
+
flexShrink: 0,
|
|
113
|
+
// Stays on screen while the page scrolls; flex-start, or the row
|
|
114
|
+
// stretches it to the page's height and there is nothing to stick.
|
|
115
|
+
position: 'sticky',
|
|
116
|
+
top: 0,
|
|
117
|
+
alignSelf: 'flex-start',
|
|
118
|
+
height: '100vh',
|
|
163
119
|
display: 'flex',
|
|
164
120
|
flexDirection: 'column',
|
|
165
|
-
|
|
166
|
-
|
|
121
|
+
gap: 1,
|
|
122
|
+
px: 0.5,
|
|
123
|
+
py: 2,
|
|
124
|
+
overflowY: 'auto',
|
|
125
|
+
bgcolor: CHROME_BG,
|
|
126
|
+
color: '#fff',
|
|
127
|
+
borderRight: `1px solid ${CHROME_BORDER}`
|
|
128
|
+
}, children: [homePath ? (_jsx(ButtonBase, { component: Link, to: homePath, "aria-label": "Visin home", disableRipple: true, sx: {
|
|
129
|
+
alignSelf: 'center',
|
|
130
|
+
mb: 2,
|
|
131
|
+
p: 0.5,
|
|
132
|
+
borderRadius: '10px',
|
|
133
|
+
'&.Mui-focusVisible': { outline: `2px solid ${theme.palette.primary.light}`, outlineOffset: 1 }
|
|
134
|
+
}, children: _jsx(Box, { component: "img", src: "/logo.svg", alt: "Visin", sx: { display: 'block', width: 32, height: 32 } }) })) : (_jsx(Box, { component: "img", src: "/logo.svg", alt: "Visin", sx: { width: 32, height: 32, mx: 'auto', mb: 2.5, mt: 0.5 } })), railEntries] })), _jsxs(Box, { sx: { flexGrow: 1, minWidth: 0, display: 'flex', flexDirection: 'column' }, children: [sectionBar, _jsx(Box, { component: "main", sx: {
|
|
135
|
+
flexGrow: 1,
|
|
136
|
+
p: { xs: 2, sm: 4, md: 8 },
|
|
137
|
+
// Clear of the fixed tab bar. On the padding rather than a spacer,
|
|
138
|
+
// since the workbench sizes its frame to what main's padding leaves.
|
|
139
|
+
...(mobile && { pb: `calc(${TAB_BAR_HEIGHT}px + ${theme.spacing(2)} + env(safe-area-inset-bottom))` }),
|
|
140
|
+
display: 'flex',
|
|
141
|
+
flexDirection: 'column',
|
|
142
|
+
alignItems: 'center'
|
|
143
|
+
}, children: _jsxs(Box, { sx: { width: '100%', maxWidth: maxContentWidth }, children: [pageHeader, children] }) })] }), mobile && (_jsx(Box, { component: "nav", "aria-label": "Main", sx: {
|
|
144
|
+
position: 'fixed',
|
|
145
|
+
left: 0,
|
|
146
|
+
right: 0,
|
|
147
|
+
bottom: 0,
|
|
148
|
+
zIndex: theme.zIndex.appBar,
|
|
149
|
+
display: 'flex',
|
|
150
|
+
px: 0.5,
|
|
151
|
+
pt: 0.75,
|
|
152
|
+
pb: 'calc(6px + env(safe-area-inset-bottom))',
|
|
153
|
+
bgcolor: CHROME_BG,
|
|
154
|
+
color: '#fff',
|
|
155
|
+
borderTop: `1px solid ${CHROME_BORDER}`
|
|
156
|
+
}, children: railEntries })), isAuthenticated && accountMenu] }));
|
|
157
|
+
}
|
|
158
|
+
function NavButton({ label, icon, active, current, mobile, target, onClick, expanded }) {
|
|
159
|
+
const theme = useTheme();
|
|
160
|
+
const sx = {
|
|
161
|
+
flex: mobile ? 1 : 'none',
|
|
162
|
+
minWidth: 0,
|
|
163
|
+
display: 'flex',
|
|
164
|
+
flexDirection: 'column',
|
|
165
|
+
alignItems: 'center',
|
|
166
|
+
gap: 0.5,
|
|
167
|
+
py: 0.5,
|
|
168
|
+
borderRadius: 3,
|
|
169
|
+
color: active ? '#fff' : 'rgba(255,255,255,0.6)',
|
|
170
|
+
WebkitTapHighlightColor: 'transparent',
|
|
171
|
+
'& .nav-pill': {
|
|
172
|
+
width: 56,
|
|
173
|
+
height: 32,
|
|
174
|
+
borderRadius: 999,
|
|
175
|
+
display: 'grid',
|
|
176
|
+
placeItems: 'center',
|
|
177
|
+
color: active ? theme.palette.primary.light : 'inherit',
|
|
178
|
+
bgcolor: active ? alpha(theme.palette.primary.main, 0.22) : 'transparent',
|
|
179
|
+
transition: 'background-color .2s ease, color .2s ease, transform .15s ease'
|
|
180
|
+
},
|
|
181
|
+
'&:hover': { color: '#fff' },
|
|
182
|
+
'&:hover .nav-pill': {
|
|
183
|
+
bgcolor: active ? alpha(theme.palette.primary.main, 0.32) : 'rgba(255,255,255,0.08)'
|
|
184
|
+
},
|
|
185
|
+
'&:active .nav-pill': { transform: 'scale(0.94)' },
|
|
186
|
+
'&.Mui-focusVisible .nav-pill': { outline: `2px solid ${theme.palette.primary.light}`, outlineOffset: 1 }
|
|
187
|
+
};
|
|
188
|
+
const body = (_jsxs(_Fragment, { children: [_jsx(Box, { className: "nav-pill", "aria-hidden": true, children: icon }), _jsx(Box, { component: "span", sx: {
|
|
189
|
+
maxWidth: '100%',
|
|
190
|
+
fontSize: mobile ? 11 : 11.5,
|
|
191
|
+
fontWeight: active ? 700 : 500,
|
|
192
|
+
lineHeight: 1.2,
|
|
193
|
+
whiteSpace: 'nowrap',
|
|
194
|
+
overflow: 'hidden',
|
|
195
|
+
textOverflow: 'ellipsis'
|
|
196
|
+
}, children: label })] }));
|
|
197
|
+
const ariaCurrent = current ? 'true' : undefined;
|
|
198
|
+
if (target) {
|
|
199
|
+
return (_jsx(ButtonBase, { ...linkProps(target), "aria-current": ariaCurrent, disableRipple: true, sx: sx, children: body }));
|
|
200
|
+
}
|
|
201
|
+
return (_jsx(ButtonBase, { onClick: onClick, "aria-current": ariaCurrent, "aria-haspopup": expanded === undefined ? undefined : 'menu', "aria-expanded": expanded, disableRipple: true, sx: sx, children: body }));
|
|
167
202
|
}
|
|
168
203
|
//# sourceMappingURL=AppLayout.js.map
|
|
@@ -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, AppLayoutUser } from './AppLayout';
|
|
2
|
+
export type { AppLayoutProps, AppLayoutNavGroup, 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,aAAa,EACd,MAAM,aAAa,CAAC"}
|
|
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,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACd,MAAM,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ 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, AppLayoutUser } from './components/AppLayout';
|
|
9
|
-
export {
|
|
10
|
-
export type { VisinApp, VisinAppUrls } from './navigation';
|
|
8
|
+
export type { AppLayoutProps, AppLayoutNavGroup, AppLayoutNavItem, AppLayoutInternalNavItem, AppLayoutExternalNavItem, AppLayoutUser } from './components/AppLayout';
|
|
9
|
+
export { createVisinNavigation } from './navigation';
|
|
10
|
+
export type { VisinApp, VisinAppUrls, VisinNavigation } from './navigation';
|
|
11
11
|
export { createProtectedRoute } from './components/ProtectedRoute';
|
|
12
12
|
export type { ProtectedRouteProps, ProtectedRouteAuth } from './components/ProtectedRoute';
|
|
13
13
|
export { createLoginRedirect } from './components/LoginRedirect';
|
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,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,
|
|
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,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,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 {
|
|
6
|
+
export { createVisinNavigation } 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;AASnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,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,27 +1,28 @@
|
|
|
1
|
-
import type { AppLayoutNavItem } from './components/AppLayout';
|
|
1
|
+
import type { AppLayoutNavGroup, AppLayoutNavItem } from './components/AppLayout';
|
|
2
2
|
/** The fronts whose sections make up the shared menu. */
|
|
3
|
-
export type VisinApp = 'vision' | 'label';
|
|
3
|
+
export type VisinApp = 'vision' | 'label' | 'account';
|
|
4
4
|
export interface VisinAppUrls {
|
|
5
5
|
/** Base URL of vision-front, e.g. https://ml.example.com */
|
|
6
6
|
vision?: string;
|
|
7
7
|
/** Base URL of label-front, e.g. https://label.example.com */
|
|
8
8
|
label?: string;
|
|
9
|
+
/** Base URL of account-front, e.g. https://account.example.com */
|
|
10
|
+
account?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface VisinNavigation {
|
|
13
|
+
groups: AppLayoutNavGroup[];
|
|
14
|
+
accountItems: AppLayoutNavItem[];
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* 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,
|
|
13
|
-
* (which renders every app on one page)
|
|
14
|
-
*
|
|
18
|
+
* the page drawing the menu: one app in a standalone front, all of them in
|
|
19
|
+
* shell-front (which renders every app on one page). Every other app's sections
|
|
20
|
+
* are absolute links to that app.
|
|
15
21
|
*
|
|
16
|
-
* A non-local app with no URL configured has its
|
|
22
|
+
* A non-local app with no URL configured has its sections omitted, rather than
|
|
17
23
|
* rendered as dead links into the current origin — a missing `LABEL_FRONT_URL`
|
|
18
|
-
* should hide
|
|
19
|
-
|
|
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.
|
|
24
|
+
* should hide Jobs and Bundles, not leave entries that 404 inside Vision. A
|
|
25
|
+
* group left with no sections is omitted with them.
|
|
25
26
|
*/
|
|
26
|
-
export declare function
|
|
27
|
+
export declare function createVisinNavigation(localApps: VisinApp | readonly VisinApp[] | null, urls: VisinAppUrls): VisinNavigation;
|
|
27
28
|
//# 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":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAElF,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAiED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,QAAQ,GAAG,SAAS,QAAQ,EAAE,GAAG,IAAI,EAChD,IAAI,EAAE,YAAY,GACjB,eAAe,CAqBjB"}
|
package/dist/navigation.js
CHANGED
|
@@ -1,76 +1,78 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Folder,
|
|
2
|
+
import { Assignment, Folder, FolderCopy, Groups, Insights, Inventory2, Key, Label, Link as LinkIcon, ModelTraining, Person, PhotoLibrary, Storage } from '@mui/icons-material';
|
|
3
3
|
/**
|
|
4
|
-
* The whole menu,
|
|
5
|
-
*
|
|
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,
|
|
4
|
+
* The whole menu, grouped by what the user is doing. Every app renders the same
|
|
5
|
+
* groups in the same places; crossing apps changes which entry is highlighted,
|
|
8
6
|
* never what the menu contains.
|
|
9
7
|
*/
|
|
10
8
|
const NAV_GROUPS = [
|
|
11
9
|
{
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
label: 'Projects',
|
|
11
|
+
icon: _jsx(Folder, {}),
|
|
14
12
|
sections: [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
{ text: '
|
|
18
|
-
|
|
13
|
+
// Not "Projects": the group already says so, and the bar under it would
|
|
14
|
+
// read Projects, Projects.
|
|
15
|
+
{ app: 'vision', text: 'All projects', icon: _jsx(FolderCopy, {}), path: '/projects' },
|
|
16
|
+
{ app: 'vision', text: 'Trainings', icon: _jsx(ModelTraining, {}), path: '/trainings' }
|
|
17
|
+
],
|
|
18
|
+
pages: {
|
|
19
|
+
app: 'vision',
|
|
20
|
+
paths: ['/comparisons', '/epochs', '/configs', '/test-results', '/visualizations', '/benchmarks']
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
label: 'Data',
|
|
25
|
+
icon: _jsx(Storage, {}),
|
|
26
|
+
sections: [{ app: 'vision', text: 'Datasets', icon: _jsx(PhotoLibrary, {}), path: '/datasets' }]
|
|
19
27
|
},
|
|
20
28
|
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
29
|
+
label: 'Labels',
|
|
30
|
+
icon: _jsx(Label, {}),
|
|
31
|
+
// A bundle is the image set a job is labelled from, so it sits beside the
|
|
32
|
+
// jobs rather than with Datasets. "New job" is deliberately not here: it is
|
|
33
|
+
// an action on the Jobs list, not a section.
|
|
26
34
|
sections: [
|
|
27
|
-
{ text: 'Jobs', icon: _jsx(Assignment, {}), path: '/jobs' },
|
|
28
|
-
{ text: 'Bundles', icon: _jsx(Inventory2, {}), path: '/bundles' }
|
|
35
|
+
{ app: 'label', text: 'Jobs', icon: _jsx(Assignment, {}), path: '/jobs' },
|
|
36
|
+
{ app: 'label', text: 'Bundles', icon: _jsx(Inventory2, {}), path: '/bundles' }
|
|
29
37
|
]
|
|
30
38
|
}
|
|
31
39
|
];
|
|
32
40
|
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' }
|
|
41
|
+
{ app: 'account', text: 'Profile', icon: _jsx(Person, {}), path: '/account/profile' },
|
|
42
|
+
{ app: 'account', text: 'Groups', icon: _jsx(Groups, {}), path: '/account/groups' },
|
|
43
|
+
{ app: 'account', text: 'API keys', icon: _jsx(Key, {}), path: '/account/api-keys' },
|
|
44
|
+
{ app: 'account', text: 'Connected apps', icon: _jsx(LinkIcon, {}), path: '/account/connections' },
|
|
45
|
+
{ app: 'account', text: 'Assistant activity', icon: _jsx(Insights, {}), path: '/account/activity' }
|
|
38
46
|
];
|
|
39
47
|
const stripTrailingSlash = (url) => url.replace(/\/$/, '');
|
|
40
48
|
/**
|
|
41
49
|
* 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,
|
|
43
|
-
* (which renders every app on one page)
|
|
44
|
-
*
|
|
50
|
+
* the page drawing the menu: one app in a standalone front, all of them in
|
|
51
|
+
* shell-front (which renders every app on one page). Every other app's sections
|
|
52
|
+
* are absolute links to that app.
|
|
45
53
|
*
|
|
46
|
-
* A non-local app with no URL configured has its
|
|
54
|
+
* A non-local app with no URL configured has its sections omitted, rather than
|
|
47
55
|
* rendered as dead links into the current origin — a missing `LABEL_FRONT_URL`
|
|
48
|
-
* should hide
|
|
56
|
+
* should hide Jobs and Bundles, not leave entries that 404 inside Vision. A
|
|
57
|
+
* group left with no sections is omitted with them.
|
|
49
58
|
*/
|
|
50
|
-
export function
|
|
59
|
+
export function createVisinNavigation(localApps, urls) {
|
|
51
60
|
const local = new Set(localApps === null ? [] : typeof localApps === 'string' ? [localApps] : localApps);
|
|
52
|
-
|
|
61
|
+
const toItems = ({ app, text, icon, path }) => {
|
|
53
62
|
if (local.has(app)) {
|
|
54
|
-
return
|
|
63
|
+
return [{ text, icon, path }];
|
|
55
64
|
}
|
|
56
65
|
const baseUrl = urls[app];
|
|
57
|
-
|
|
66
|
+
return baseUrl ? [{ text, icon, href: `${stripTrailingSlash(baseUrl)}${path}` }] : [];
|
|
67
|
+
};
|
|
68
|
+
const groups = NAV_GROUPS.flatMap(({ label, icon, sections, pages }) => {
|
|
69
|
+
const items = sections.flatMap(toItems);
|
|
70
|
+
if (items.length === 0) {
|
|
58
71
|
return [];
|
|
59
72
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
icon,
|
|
63
|
-
href: `${stripTrailingSlash(baseUrl)}${path}`,
|
|
64
|
-
group: label
|
|
65
|
-
}));
|
|
73
|
+
// Another app's pages never render on this one, so only local ones can match.
|
|
74
|
+
return [{ label, icon, items, match: pages && local.has(pages.app) ? pages.paths : [] }];
|
|
66
75
|
});
|
|
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' }));
|
|
76
|
+
return { groups, accountItems: ACCOUNT_SECTIONS.flatMap(toItems) };
|
|
75
77
|
}
|
|
76
78
|
//# 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":";
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visin/frontend-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Shared frontend auth/API-client logic for Visin frontends",
|
|
5
5
|
"author": "Toomas Tahves",
|
|
6
6
|
"license": "MIT",
|
|
@@ -54,21 +54,21 @@
|
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@eslint/js": "^10.0.1",
|
|
57
|
-
"@mui/icons-material": "^9.
|
|
58
|
-
"@mui/material": "^9.
|
|
59
|
-
"@testing-library/jest-dom": "^
|
|
60
|
-
"@testing-library/react": "^16.3.
|
|
61
|
-
"@types/node": "^26.1
|
|
62
|
-
"@types/react": "^19.
|
|
63
|
-
"@vitest/coverage-v8": "^4.1.
|
|
64
|
-
"eslint": "^10.
|
|
65
|
-
"jsdom": "^
|
|
66
|
-
"react": "^19.
|
|
67
|
-
"react-dom": "^19.
|
|
68
|
-
"react-router-dom": "^7.18.
|
|
57
|
+
"@mui/icons-material": "^9.4.0",
|
|
58
|
+
"@mui/material": "^9.4.0",
|
|
59
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
60
|
+
"@testing-library/react": "^16.3.3",
|
|
61
|
+
"@types/node": "^26.5.1",
|
|
62
|
+
"@types/react": "^19.3.0",
|
|
63
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
64
|
+
"eslint": "^10.10.0",
|
|
65
|
+
"jsdom": "^30.0.1",
|
|
66
|
+
"react": "^19.3.0",
|
|
67
|
+
"react-dom": "^19.3.0",
|
|
68
|
+
"react-router-dom": "^7.18.3",
|
|
69
69
|
"standard-version": "^9.5.0",
|
|
70
70
|
"typescript": "^6.0.3",
|
|
71
|
-
"typescript-eslint": "^8.
|
|
72
|
-
"vitest": "^4.1.
|
|
71
|
+
"typescript-eslint": "^8.70.0",
|
|
72
|
+
"vitest": "^4.1.11"
|
|
73
73
|
}
|
|
74
74
|
}
|