From 1e787c6c6205b33f97c2615cd1f83883269a8510 Mon Sep 17 00:00:00 2001 From: remco Date: Wed, 1 Jul 2026 17:28:10 +0200 Subject: [PATCH] feat: complete header and dropdown redesign for professional look - Redesign site header with multi-layer gradient overlays, decorative glows, dot pattern texture, responsive clamp font sizing, and animated ping online badge - Add glass-dropdown CSS class with 60% opacity backdrop blur (20px) and smooth dropdownIn animation (scale + translate) - Fix dropdown positioning with top-full for proper alignment under menu triggers - Standardize all dropdowns (nav, top-header, color picker, language switcher) to use glass-dropdown class --- src/app/globals.css | 26 +++++++-- src/components/language-switcher.tsx | 3 +- src/components/navbar-color-picker.tsx | 3 +- src/components/navigation.tsx | 27 +++------ src/components/site-header.tsx | 81 +++++++++++++------------- src/components/top-header.tsx | 6 +- 6 files changed, 73 insertions(+), 73 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index 7beebc62..573b6ed7 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -900,12 +900,28 @@ tbody tr:hover { border-color: #f97316; } -/* ── Glass dropdown (backdrop blur) ─────────────────────────── */ +/* ── Glass dropdown (backdrop blur + animation) ─────────────── */ .glass-dropdown { - backdrop-filter: blur(16px) saturate(180%); - -webkit-backdrop-filter: blur(16px) saturate(180%); - background-color: color-mix(in srgb, var(--color-dropdown) 78%, transparent); - border: 1px solid color-mix(in srgb, var(--color-text-muted) 12%, transparent); + backdrop-filter: blur(20px) saturate(200%); + -webkit-backdrop-filter: blur(20px) saturate(200%); + background-color: color-mix(in srgb, var(--color-dropdown) 60%, transparent); + border: 1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent); + box-shadow: 0 8px 32px color-mix(in srgb, rgb(0 0 0) 20%, transparent); +} + +details[open] > .glass-dropdown { + animation: dropdownIn 0.15s ease-out; +} + +@keyframes dropdownIn { + from { + opacity: 0; + transform: translateY(-6px) scale(0.97); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } } /* ── Radio sidebar ──────────────────────────────────────────── */ diff --git a/src/components/language-switcher.tsx b/src/components/language-switcher.tsx index 94c5fad0..c1345242 100644 --- a/src/components/language-switcher.tsx +++ b/src/components/language-switcher.tsx @@ -58,8 +58,7 @@ export function LanguageSwitcher() { {open && (
{LOCALES.map((l) => (