From 0105d9f0ecff66adb8eba38e9c574f362d64c06b Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Sat, 25 Apr 2026 01:36:14 +0300 Subject: [PATCH] fix(redesign): portal IconGridSelect popup + snap navbar to mockup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three issues addressed: 1. IconGridSelect popup was clipped/mispositioned because the .panel ancestor has backdrop-filter, which makes it the containing block for position:fixed descendants (CSS spec gotcha). Added a tiny portal action ($lib/portal) that re-parents the popup + backdrop to document.body, and refreshed the popup styling to be Aurora- native (solid surface, gradient active state, glass-strong search). 2. Always-visible top search bar: a sticky glass strip at the top of every page with the search trigger (⌘K), theme cycler, locale toggle, and a primary 'New tracker' gradient CTA — moved out of the sidebar to free up rail space and make search reachable from anywhere. The sidebar's inline search button is gone. 3. Navbar snapped to the mockup: - Sidebar footer redone as a glass user-card (avatar gradient + username + role + mint live chip + change-password / docs / logout row beneath a hairline). - Section labels above each nav group (Overview / Routing / Operators / System) with a hairline rule that extends to the edge — same rhythm as the dashboard mockup. - Active nav link keeps the gradient bar + glass-elev background + inset highlight + soft outer glow. i18n: nav.section* keys (en + ru), dashboard.newTracker reused for the topbar CTA. Build clean. --- .../src/lib/components/IconGridSelect.svelte | 152 +++++--- frontend/src/lib/i18n/en.json | 4 + frontend/src/lib/i18n/ru.json | 4 + frontend/src/lib/portal.ts | 35 ++ frontend/src/routes/+layout.svelte | 360 +++++++++++++----- 5 files changed, 418 insertions(+), 137 deletions(-) create mode 100644 frontend/src/lib/portal.ts diff --git a/frontend/src/lib/components/IconGridSelect.svelte b/frontend/src/lib/components/IconGridSelect.svelte index 566ebf5..b26b0d2 100644 --- a/frontend/src/lib/components/IconGridSelect.svelte +++ b/frontend/src/lib/components/IconGridSelect.svelte @@ -1,6 +1,7 @@