aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List/MediaRoulette.svelte
Commit message (Collapse)AuthorAgeFilesLines
* style: apply biome autofixes and resolve remaining lint findingsFuwn4 days1-2/+2
| | | | | | | | | | | | | | Auto-fixed cosmetic findings (import ordering, obj["k"]->obj.k, optional chaining, template literals, Date.now, parseInt radix, useless ternaries/ switch cases). Resolved the non-autofixable rest by hand: - Senpy: static-only class -> object literal (no this/static reliance). - app.html: var global shim -> window.global = window (keeps the shim, drops the unused-var flag). - biome-ignore with rationale for the logout document.cookie clear and the holodule scrape non-null assertion. Verified: biome check 0 diagnostics, svelte-check 0/0, 24/24 unit tests.
* feat(analytics): track umami events across core actionsFuwn4 days1-0/+4
| | | | | | | | | Add a guarded track() wrapper (src/lib/analytics.ts) so programmatic events no-op instead of throwing when umami is absent (localhost), lazily loaded, or ad-blocked. Instrument the core loop (progress increment, roulette, list filter, force refresh), the auth funnel (log in/out, command palette), settings toggles/selects at the wrapper level, sync/debug/feed actions, and tool/sharing actions.
* refactor(locale): move hardcoded UI strings into english localeFuwn10 days1-13/+21
| | | | | | | | | | | | | | | | | Adds optional namespaces (common, errors, commandPalette, headTitle, notifications, schedule, events, home, reader, routes, badgePreview, badgeWall) and extends existing ones (settings.*, lists.*, tools.*, user.*, hololive.*) on the Locale interface. New fields are optional so japanese.ts can omit them; svelte-i18n's fallbackLocale handles the runtime miss. HeadTitle gains an optional routeKey prop for type-safe lookup. defaultActions becomes a factory so the command palette re-reads locale on language toggle. The existing JP feedback translation in routes/settings is preserved via japanese.ts. Out of scope (kept hardcoded): service-worker.ts, app.html, Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
* refactor(colours): tokenise card shadows and scrimsFuwn2026-05-151-2/+2
| | | | | | | | | | | Introduce --shadow-card, --shadow-card-emphasized, --shadow-cta, --scrim, --scrim-soft, and --scrim-banner. Migrate 14 inline literals (card.css, input.css, Notification, MediaRoulette, the two Landing CTA buttons, the popup overlay, the palette and roulette scrims, three identity banners, the user profile cover art shadow) onto the tokens, with light/dark adaptation handled by the existing prefers-color-scheme blocks instead of duplicated inline. Two single-use Landing demo-focus values stay inline.
* fix(ui): stop roulette at intended durationFuwn2026-04-021-1/+2
|
* chore(biome): drop formatter style overridesFuwn2026-03-011-46/+46
|
* chore(biome): enable svelte formattingFuwn2026-03-011-71/+71
|
* refactor(MediaRoulette): Use Svelte 5 syntaxFuwn2026-01-231-13/+15
|
* feat(MediaRoulette): Add CommandPalette-like fade in/outFuwn2026-01-231-3/+74
|
* feat(List): Add media rouletteFuwn2026-01-231-0/+294