feat(#112): hide sidebar, topbar, cmd palette on admin pages

Pass null as sidebar prop, guard TopBar and CommandPalette with
!isAdminPage, and remove conditional admin padding from main element.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-02 17:12:44 +02:00
parent 56297701e6
commit d95e518622

View File

@@ -296,29 +296,33 @@ function LayoutContent() {
return ( return (
<AppShell <AppShell
sidebar={ sidebar={
<Sidebar apps={sidebarApps} onNavigate={handleSidebarNavigate} /> isAdminPage ? null : <Sidebar apps={sidebarApps} onNavigate={handleSidebarNavigate} />
} }
> >
<TopBar {!isAdminPage && (
breadcrumb={breadcrumb} <TopBar
user={username ? { name: username } : undefined} breadcrumb={breadcrumb}
onLogout={handleLogout} user={username ? { name: username } : undefined}
/> onLogout={handleLogout}
<CommandPalette />
open={paletteOpen} )}
onClose={() => setPaletteOpen(false)} {!isAdminPage && (
onOpen={() => setPaletteOpen(true)} <CommandPalette
onSelect={handlePaletteSelect} open={paletteOpen}
onSubmit={handlePaletteSubmit} onClose={() => setPaletteOpen(false)}
onQueryChange={setPaletteQuery} onOpen={() => setPaletteOpen(true)}
data={searchData} onSelect={handlePaletteSelect}
/> onSubmit={handlePaletteSubmit}
onQueryChange={setPaletteQuery}
data={searchData}
/>
)}
{!isAdminPage && ( {!isAdminPage && (
<ContentTabs active={scope.tab} onChange={setTab} scope={scope} /> <ContentTabs active={scope.tab} onChange={setTab} scope={scope} />
)} )}
<main style={{ flex: 1, display: 'flex', flexDirection: 'column', overflow: 'hidden', minHeight: 0, padding: isAdminPage ? '1.5rem' : 0 }}> <main style={{ flex: 1, display: 'flex', flexDirection: 'column', overflow: 'hidden', minHeight: 0, padding: 0 }}>
<Outlet /> <Outlet />
</main> </main>
</AppShell> </AppShell>