feat(admin): show deployed app version
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
Badge,
|
||||
Box,
|
||||
Breadcrumbs,
|
||||
Chip,
|
||||
Divider,
|
||||
Drawer,
|
||||
IconButton,
|
||||
@@ -16,6 +17,7 @@ import {
|
||||
Menu,
|
||||
MenuItem,
|
||||
Toolbar,
|
||||
Tooltip,
|
||||
Typography,
|
||||
} from "@mui/material";
|
||||
import useMediaQuery from "@mui/material/useMediaQuery";
|
||||
@@ -82,6 +84,7 @@ export default function AppShell({
|
||||
onToggleDrawer,
|
||||
drawerOpen,
|
||||
user,
|
||||
buildMetadata,
|
||||
notificationsCount,
|
||||
onOpenNotifications,
|
||||
onOpenSettings,
|
||||
@@ -100,6 +103,7 @@ export default function AppShell({
|
||||
onToggleDrawer: (open: boolean) => void;
|
||||
drawerOpen: boolean;
|
||||
user?: { email?: string; userName?: string; displayName?: string; avatarImageDataUrl?: string; roleLabel?: string };
|
||||
buildMetadata?: { version: string; commitSha?: string };
|
||||
notificationsCount?: number;
|
||||
onOpenNotifications?: (anchorEl: HTMLElement) => void;
|
||||
onOpenSettings?: () => void;
|
||||
@@ -234,6 +238,26 @@ export default function AppShell({
|
||||
|
||||
const nameForAvatar = user?.userName || user?.displayName || user?.email;
|
||||
const initials = initialsFrom(nameForAvatar);
|
||||
const buildVersion = buildMetadata?.version.trim();
|
||||
const buildCommit = buildMetadata?.commitSha?.trim();
|
||||
const buildBadge = buildVersion ? (
|
||||
<Tooltip title={buildCommit ? `Version ${buildVersion} • commit ${buildCommit}` : `Version ${buildVersion}`}>
|
||||
<Chip
|
||||
data-testid="admin-version-badge"
|
||||
aria-label={`Application version ${buildVersion}${buildCommit ? `, commit ${buildCommit}` : ""}`}
|
||||
label={`v${buildVersion}`}
|
||||
size="small"
|
||||
variant="outlined"
|
||||
sx={{
|
||||
maxWidth: 150,
|
||||
fontWeight: 700,
|
||||
fontVariantNumeric: "tabular-nums",
|
||||
bgcolor: "background.paper",
|
||||
"& .MuiChip-label": { overflow: "hidden", textOverflow: "ellipsis" },
|
||||
}}
|
||||
/>
|
||||
</Tooltip>
|
||||
) : null;
|
||||
|
||||
const [userMenuAnchor, setUserMenuAnchor] = useState<null | HTMLElement>(null);
|
||||
const userMenuOpen = Boolean(userMenuAnchor);
|
||||
@@ -281,6 +305,7 @@ export default function AppShell({
|
||||
Jobbjakt
|
||||
</Typography>
|
||||
</Box>
|
||||
{buildBadge}
|
||||
</Box>
|
||||
|
||||
{user ? (
|
||||
@@ -358,6 +383,7 @@ export default function AppShell({
|
||||
flex: { xs: "1 1 100%", md: "0 1 auto" },
|
||||
}}
|
||||
>
|
||||
{buildBadge}
|
||||
<IconButton
|
||||
color="secondary"
|
||||
size="small"
|
||||
|
||||
Reference in New Issue
Block a user