aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Layout/Dropdown.svelte
Commit message (Collapse)AuthorAgeFilesLines
* fix(dropdown): scoped transition restores border-radius animationFuwn29 hours1-0/+6
| | | | | | | | | | Dropdown items add border-radius: 8px on hover. The pre-485f1b11 :global(a) transition: all rule used to animate the corner rounding; the narrowed list excluded it. Adds a scoped transition on .dropdown-content a that mirrors the global anchor list plus border-radius, so the corner rounding eases in over 150ms instead of snapping. CommandPalette dropdown sets border-radius in base state so is unaffected.
* fix(nav): close dropdowns and hamburger on touch / outside clickFuwn30 hours1-7/+9
| | | | | | | | | | | | | | Two related touch fixes: - Dropdown :hover rule was sticky on touch devices after a tap, keeping the menu visible even when the click toggle set open to false. Gate the hover rule behind @media (hover: hover) so only true pointer devices use the hover path; touch uses the click-driven open class. - Hamburger menu had no outside-click close. Added a window click handler that closes isMenuOpen when the target is outside .header. Clicks on the toggle and on nav items stay inside .header, so opening and item navigation are unaffected.
* style(card): move backdrop blur to an opt-in .card-glass modifierFuwn5 days1-1/+1
| | | | | | | | | | | Strip backdrop-filter: blur(4px) from the base .card so the ~50 in-flow surfaces (landing panels, schedule rows, tool cards, user profile cards, badge wall, etc.) stop paying for a blur they don't need. Introduce .card-glass for the surfaces that actually float over other content: the sticky page header, header nav dropdowns, command palette, title-attribute tooltips, LinkedTooltip, and HoverCover. Popup, MediaRoulette, and Notification keep their existing parent-overlay or solid-background treatments.
* perf(images): lazy-load and async-decode off-screen imageryFuwn5 days1-1/+0
| | | | | | | | | Add loading=lazy and decoding=async to the 16 <img> elements that weren't already deferring across Tools/Wrapped, Events, EasterEvent, Hololive, and the rate-limited fallback. Also drop the backdrop-filter: blur(160px) the dropdown items were paying on every hover; the background-color change already gives sufficient feedback, and the parent card's own blur stays.
* style(a11y): drop redundant border-radius from Dropdown focus ruleFuwn5 days1-1/+0
| | | | | The scoped :focus-visible rule on dropdown menu items no longer needs its own border-radius now that the global rule sets it.
* fix(a11y): make header Dropdown keyboard-operableFuwn5 days1-6/+83
| | | | | | | | | | | | Wire Enter/Space/ArrowDown/ArrowUp/Escape on the toggle and ArrowDown/ArrowUp/Home/End/Escape on each item so the Schedule and Profile menus are reachable without a mouse. Add aria-haspopup, aria-expanded, aria-controls, and role=menu/menuitem; give each instance a unique toggle/menu id so the two header dropdowns no longer collide. Close the menu on item activation so preventDefault items (e.g. Log Out) don't leave it hanging open. Focus moves via `await tick()` so :focus-visible matches reliably, with a scoped fallback outline tuned to var(--base0D) for the menu items.
* chore(biome): drop formatter style overridesFuwn2026-03-011-5/+5
|
* chore(biome): enable svelte formattingFuwn2026-03-011-17/+17
|
* fix: Resolve all ESLint errors and warningsFuwn2026-01-291-3/+5
|
* refactor: Migrate event handlers to new Svelte 5 syntaxFuwn2026-01-231-4/+8
|
* format: Apply Prettier formattingFuwn2026-01-221-1/+4
|
* format: Apply Prettier formattingFuwn2025-12-151-4/+1
|
* style: Reformat using latest formattingFuwn2025-06-111-1/+4
|
* chore(prettier): use spaces instead of tabsFuwn2024-10-091-116/+116
|
* refactor(lib): move componenets to modulesFuwn2024-04-211-0/+127