fix: layout overflow regression + adopt true neutral gray theme
Problem: two issues surfaced after the dashboard-01 shell change (cbfd09c). (1) Sidebar.Inset previously had an explicit h-svh that hard-capped the app's height at the viewport; adding variant="inset" put a margin on that same fixed-height box, pushing it taller than the viewport with nothing left in the chain to cap it (Sidebar.Provider's own wrapper only sets min-h-svh — a floor, not a ceiling). Result: the whole page scrolled as one long document instead of each page's own content scrolling internally with the header pinned — confirmed via computed styles, e.g. Entities.svelte's table wrapper measured scrollHeight 6531px against a 900px viewport, all of it spilling past body instead of scrolling in its own rounded-border container. (2) The color palette was GitHub-dark-inspired (blue-tinted grays: #0d1117 bg, #58a6ff primary/accent) rather than the neutral grays the shadcn-svelte dashboard-01 reference actually uses. Change: - App.svelte: moved the height cap up to Sidebar.Provider itself (class="h-svh") instead of Sidebar.Inset, since the cap needs to sit above wherever the inset variant's margin gets applied, not on the same box as the margin. - app.css: replaced the core tokens (background/foreground/card/ popover/primary/secondary/muted/accent/border/input/ring/sidebar-*) with shadcn's canonical dark-theme OKLCH values (0-chroma neutral grays), pulled directly from huntabyte/shadcn-svelte's own docs/src/app.css rather than approximated. --success/--warning deliberately kept as real, distinguishable colors — they signal actual health state, and desaturating them to match the neutral chrome would reintroduce the "can't tell what's actually happening" problem this whole project started from (see279549c). --accent-blue now aliases --sidebar-primary (still a real blue) instead of --primary, so the couple of spots wanting an interactive "pop" still have one while buttons/links/focus rings ride the neutral --primary. Risk: reversible_low (UI-only). Verification: npx tsc --noEmit clean (excluding pre-existing unrelated .svelte type-resolution warnings). go build/vet clean (backend untouched, sanity check only). Manually verified in the browser preview at 1400px: document.body.scrollHeight now exactly matches window.innerHeight on both Overview and the 193-row Entities table (previously 6531px vs 900px); scrolled the Entities table wrapper to row ~60 and confirmed the header/filter bar/column headers stay pinned while only the table body scrolls; confirmed neutral gray rendering across Overview's stat cards, the event-rate chart, and Chat's tool-call list. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -77,7 +77,7 @@
|
||||
|
||||
<Toaster />
|
||||
|
||||
<Sidebar.Provider style="--header-height: calc(var(--spacing) * 12);">
|
||||
<Sidebar.Provider class="h-svh" style="--header-height: calc(var(--spacing) * 12);">
|
||||
<Sidebar.Root collapsible="icon" variant="inset">
|
||||
<Sidebar.Header>
|
||||
<Sidebar.Menu>
|
||||
@@ -160,7 +160,7 @@
|
||||
</Sidebar.Footer>
|
||||
</Sidebar.Root>
|
||||
|
||||
<Sidebar.Inset class="h-svh min-h-0">
|
||||
<Sidebar.Inset class="min-h-0 overflow-hidden">
|
||||
<header class="flex h-(--header-height) shrink-0 items-center gap-1 border-b px-4 lg:gap-2 lg:px-6">
|
||||
<Sidebar.Trigger class="-ms-1" />
|
||||
<Separator orientation="vertical" class="mx-2 data-[orientation=vertical]:h-4" />
|
||||
|
||||
Reference in New Issue
Block a user