aboutsummaryrefslogtreecommitdiff
path: root/src/routes/+layout.svelte
Commit message (Collapse)AuthorAgeFilesLines
* fix(nav): close dropdowns and hamburger on touch / outside clickFuwn6 days1-1/+6
| | | | | | | | | | | | | | 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.
* feat(nav): float header as a corner hamburger under 800pxFuwn6 days1-2/+130
| | | | | | | | | | | | | | | Below 800px the inline header overflows the viewport. Strips card chrome from .header itself and floats it position:fixed at top:1.25rem/right :1.25rem so it does not consume a horizontal band. The 44x44 toggle button carries the desktop banner's exact card recipe (--base0011 glass, shadow-card-emphasized + 5px --base02 ring, blur, 8px radius), and the open panel mirrors it as a separately-positioned card below. Menu closes on route navigation and Escape. Header stays visible while the menu is open so a scroll-driven hide does not chop the open sheet mid-interaction. Profile-avatar anchor and the bullet separator are hidden in the mobile menu (avatar is redundant alongside the Profile dropdown; separator reads as line noise vertically).
* fix(a11y): scope focus-visible ring to header itemsFuwn8 days1-0/+10
| | | | | | | | Add explicit .header-item:focus { outline: none } and .header-item:focus-visible rules in +layout.svelte so the navbar matches the dropdown menu's teal rounded ring on keyboard focus and stops leaking the browser default blue square ring on mouse click. Same pattern as the Dropdown component's scoped focus-visible rule.
* style(card): move backdrop blur to an opt-in .card-glass modifierFuwn9 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.
* feat(a11y): respect prefers-reduced-motionFuwn9 days1-2/+4
| | | | | | | Add a global reduced-motion media query that collapses animation and transition durations and disables smooth scroll. Skip Lenis init when the same preference is set so the JS-driven smooth scroll falls back to the browser default, which the spec already honours.
* refactor(motion): introduce easing/duration tokensFuwn2026-05-081-4/+4
| | | | Add --ease-out-quart, --ease-in-out-quart, --duration-fast, --duration-slow in motion.css and migrate the global anchor, header, and theme-switch transitions to use them. Establishes a shared motion vocabulary for future polish.
* style(header): soften hide/show curve with ease-out-quartFuwn2026-05-081-1/+1
| | | | Replace transform 0.3s ease with 0.4s cubic-bezier(0.22, 1, 0.36, 1) so the header settles instead of snapping, pairing with Lenis-smoothed scroll.
* style(anchor): narrow global anchor transition to color/opacityFuwn2026-05-081-1/+4
| | | | Replace transition: all with explicit color, opacity, and text-decoration-color so unrelated property changes (transform, background) do not get incidentally tweened.
* fix(scroll): route LandingHero scroll-down through LenisFuwn2026-05-081-0/+5
| | | | Lenis disables native CSS smooth scroll, so window.scrollTo({behavior:"smooth"}) jumps instantly. Expose the Lenis instance via a store and scroll through it, falling back to native when unavailable.
* feat(scroll): add global smooth scrolling via LenisFuwn2026-05-081-0/+7
|
* feat(command-palette): add quick toggles, sync, and auth actionsFuwn2026-04-261-1/+12
| | | | | | | | Adds 13 reactive quick toggles (24h time, animations, blur adult, cover modes, hover cover, schedule list, reverse sort, data saver, notifications, language, title format cycle, outbound link target cycle), three sync actions (push/pull/disable), and login/logout entries gated on auth state. Names reflect current state so the palette doubles as a status surface.
* revert(ui): remove april fools executive modeFuwn2026-04-021-85/+12
|
* fix(ui): tune april fools notification copyFuwn2026-04-011-1/+1
|
* fix(ui): simplify april fools controlsFuwn2026-04-011-15/+52
|
* feat(ui): add april fools executive modeFuwn2026-04-011-12/+48
|
* fix(profile): restore owner controls for new accountsFuwn2026-03-271-7/+15
|
* chore(biome): drop formatter style overridesFuwn2026-03-011-131/+157
|
* chore(biome): re-enable noImplicitAnyLet ruleFuwn2026-03-011-1/+2
|
* chore(biome): enable svelte formattingFuwn2026-03-011-148/+147
|
* fix: Resolve all ESLint errors and warningsFuwn2026-01-291-1/+1
|
* feat(+layout.svelte): Add Web AnalyticsFuwn2026-01-261-0/+3
|
* refactor: Migrate event handlers to new Svelte 5 syntaxFuwn2026-01-231-1/+1
|
* refactor(layout): Replace empty p elements with reusable Spacer componentFuwn2026-01-231-1/+2
|
* fix(html): Replace self-closing non-void HTML elements with proper closing tagsFuwn2026-01-231-1/+1
|
* fix(notifications): Replace svelte-notifications with custom store for Svelte 5Fuwn2026-01-221-4/+3
|
* format: Apply Prettier formattingFuwn2026-01-221-7/+21
|
* format: Apply Prettier formattingFuwn2025-12-151-22/+8
|
* style(src): Remove self-closing p and div tagsFuwn2025-06-231-1/+1
|
* feat: Move remaining localStorage usages to localforageFuwn2025-06-121-14/+14
|
* fix: Migrate localStorage.removeItem to localforage for anime and manga storesFuwn2025-06-111-7/+24
|
* refactor(CommandPalette): Globally rename action typeFuwn2025-05-151-2/+2
|
* feat: Add command paletteFuwn2025-05-061-0/+5
|
* fix(layout): remove invalid local user entriesFuwn2025-01-281-2/+4
|
* chore(prettier): use spaces instead of tabsFuwn2024-10-091-318/+318
|
* refactor(Data): rename database referencesFuwn2024-08-241-1/+1
|
* refactor(Database): separate providersFuwn2024-07-251-3/+1
|
* feat: background notificationsFuwn2024-07-241-30/+11
|
* feat(layout): browser notificationsFuwn2024-07-241-27/+25
|
* feat(pwa): anilist notificationsFuwn2024-07-081-2/+40
|
* fix(layout): ensure navigation is loadedFuwn2024-06-141-1/+1
|
* fix(layout): wait for en localeFuwn2024-04-271-89/+102
|
* refactor(lib): move componenets to modulesFuwn2024-04-211-1/+1
|
* fix(layout): check if browserFuwn2024-04-181-1/+3
|
* feat(layout): semi-sticky headerFuwn2024-04-181-2/+24
|
* fix(layout): subtitle typesFuwn2024-04-071-1/+2
|
* feat(layout): announcement featureFuwn2024-04-011-0/+3
|
* refactor: ids to classesFuwn2024-02-191-6/+6
|
* feat(settingssync): last push pull timesFuwn2024-02-121-0/+5
|
* feat(settings): settings syncFuwn2024-02-121-0/+13
|
* feat(layout): prevent default on dropdownFuwn2024-02-111-0/+1
|