Layout

Komponenten · @repo/ui

Layout

Header-, Footer-, Sidebar- und Brand-Komponenten der Akademie. Zusätzlich PageTransition (animiert die View-Hierarchie zwischen Routen) und HeaderSearch (globale Suche).

AkademieSidebarStable

@repo/ui/AkademieSidebar

Vertikale App-Shell-Sidebar der Akademie. Collapsible Rail (76 px) ↔ expanded (260 px), Logo immer in nativer Größe, optional User-Card mit Mitglieds-Badge, Nav-Items mit Badge-Slot und linkem Active-Indikator (3 px), Footer mit Support + Logout, Toggle-Button am Boden. Pendant der horizontalen Header-Komponente, gepaart mit AkademieTopBar.

Expanded (260 px) mit Toggle-Button am Footer
Collapsed (76 px) — Logo + Icons + Toggle, Labels gefadet
Logged-out (Login-CTA in User-Card-Slot, kein Footer/Toggle)

AkademieTopBarStable

@repo/ui/AkademieTopBar

Sticky Glass-Topbar mit Backdrop-Blur. Search-Pill mit ⌘K-Hint (Desktop only — auf Touch ausgeblendet) öffnet HeaderSearch via dispatchOpenGlobalSearch. Layout: Flex unter 1400 px (Pill linksbündig, max 480), Grid `1fr | 480 | 1fr` ab 1400 px für echtes Topbar-Center. Plus Locale-Dropdown, Theme-Toggle (Light/Dark binary), Notifications-Stub, User-Menü.

Eingeloggt
Logged-out (Anmelden-CTA)

AkademieMobileDrawerStable

@repo/ui/AkademieMobileDrawer

Slide-In-Panel von links für Mobile. Backdrop schließt auf Tap, Escape ebenso. Wrappt dieselbe AkademieSidebar im Embedded-Modus, sodass die Navigation zwischen Layouts nicht driftet.

Klick auf den Button, um den Drawer zu öffnen — Backdrop oder Escape schließt.

AkademieBottomNavStable

@repo/ui/AkademieBottomNav

Fixed Bottom-Tab-Bar (nur Mobile). Fünf Slots, Active-State per longest-prefix-Pathname-Match, 2 px Active-Bar oben am aktiven Slot, iOS Safe-Area-aware via env(safe-area-inset-bottom).

5 Slots, mittiger Dashboard, aktive Tab via Pathname-Match

HeaderSearchStable

@repo/ui/HeaderSearch

Globale Suchleiste — debounced Async-Search, Recent-Searches in localStorage, Keyboard-Navigation. Verwendet im Akademie-Header.

Vollständige Demo benötigt einen onSearch-Backend-Stub. Der Akademie-Frontend liefert ihn via Search-Insights-Logging-Hook; hier wird nur die Komponentensignatur dokumentiert.

FilterSidebarStable

@repo/ui/FilterSidebar

Compound-Component für Filter-Listen. Section + Search + Option (Checkbox/Radio). Verwendet im Katalog und in der Mediathek.

PageTransitionStable

@repo/ui/PageTransition

Animiert den Inhalt zwischen Route-Wechseln (subtiles Fade + Translate). Wrappt children unter dem AdminTopbar / Header. Pure Wrapper — keine Konfiguration.

Bei jedem Routenwechsel wird der Schlüssel neu vergeben — der CSS-Animation der Klasse .root in PageTransition.module.css spielt einen Fade-In ab.