| undefined,
);
const displayRoleKey = profile?.role || currentRole;
const handleSessionExpiryToggle = () => {
setIsSessionExpiryEnabled((prev) => {
const next = !prev;
writeShellSessionExpiryEnabled(next);
return next;
});
};
const sidebarNavContent = (
{navItems.map(({ labelKey, labelFallback, to, icon: Icon }) => (
[
shellLayoutClasses.navItemBase,
isActive
? shellLayoutClasses.navItemActive
: shellLayoutClasses.navItemIdle,
].join(" ")
}
>
{t(labelKey, labelFallback)}
))}
);
const sidebarFooterContent = (
);
return (
}
navContent={sidebarNavContent}
footerContent={sidebarFooterContent}
/>
{t("ui.dev.header.plane", "Dev Plane")}
{t("ui.dev.header.subtitle", "Manage your applications")}
{isSessionExpiryEnabled ? (
) : null}
{isProfileMenuOpen ? (
{t("ui.dev.profile.menu_title", "Account")}
{profileSummary.name}
{profileSummary.email}
{t(
`ui.admin.role.${displayRoleKey}`,
displayRoleKey.toUpperCase(),
)}
{t("ui.dev.session.auto_extend", "Session expiry")}
{isSessionExpiryEnabled ? (
) : (
t(
"ui.dev.session.disabled",
"Session expiry disabled",
)
)}
) : null}
);
}
export default AppLayout;