aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List
Commit message (Collapse)AuthorAgeFilesLines
* fix(ui): hide list count badge when no media is displayedFuwn2026-04-172-2/+2
| | | | | | Showing "0" in the list title next to a "No anime/manga to display" empty-state message duplicates information. Treat an empty media list the same as dummy mode and suppress the count.
* fix(ui): reset media list filter when its custom list disappearsFuwn2026-04-172-0/+20
| | | | | | | | If a user's persisted filter references a custom list that no longer exists on any media (renamed or deleted on AniList), the select falls back to showing "All" but the underlying state still filters to an empty set. Detect the stale value and reset it, clearing the StateBin entry so the fix survives a reload.
* fix(ui): hide media roulette button when only one item is pickableFuwn2026-04-172-2/+2
| | | | | | Rouletting a single item is deterministic, so the affordance adds nothing. Require at least two items before showing the button on both anime and manga lists.
* fix(ui): hide media list filter when every list matches "All"Fuwn2026-04-172-2/+10
| | | | | | If every custom list contains every displayed media item, each option yields the same result, so the picker is noise. Gate the select on a reactive check that any list excludes at least one item.
* feat(cache): instant list revalidation from command palette and debug menuFuwn2026-04-154-17/+65
| | | | | | | | | Replaces one-shot boolean revalidateAnime with a counter store so multiple components can subscribe without race conditions. Adds revalidateManga store and reactive refresh blocks to DueAnimeList and MangaListTemplate. Extracts shared invalidateListCaches function used by both the command palette action and the debug settings button. Renames palette item to "Refresh" and debug button to "Invalidate".
* fix(ui): stop roulette at intended durationFuwn2026-04-021-1/+2
|
* fix(ui): correct manga list tooltip behaviorFuwn2026-04-022-2/+8
|
* fix(ui): polish media list title separatorsFuwn2026-04-021-0/+8
|
* fix(ui): align media list title timingsFuwn2026-04-021-2/+3
|
* fix(ui): refine media list title countsFuwn2026-04-021-4/+17
|
* feat(debug): add media list timing toggleFuwn2026-04-021-1/+2
|
* revert(ui): remove april fools executive modeFuwn2026-04-026-63/+30
|
* feat(ui): add april fools executive modeFuwn2026-04-016-30/+63
|
* fix(manga): show skeleton while list is loadingFuwn2026-03-301-1/+1
|
* perf(manga): progressively hydrate native chapter countsFuwn2026-03-292-4/+47
|
* fix(anilist): restore completed list query semanticsFuwn2026-03-281-1/+0
|
* fix(state): restore persisted list UI stateFuwn2026-03-281-2/+3
|
* fix(filters): apply list filter changes immediatelyFuwn2026-03-282-8/+16
|
* fix(cache): restore instant filters and shared AniList cacheFuwn2026-03-282-8/+28
|
* fix(anilist): restore completed list filtersFuwn2026-03-283-15/+20
|
* fix(cache): respect AniList media list recache windowsFuwn2026-03-284-0/+10
|
* feat(manga): allow forcing automatic refreshFuwn2026-03-281-1/+5
|
* refactor(proxy): move manga chapter counts behind indexed cacheFuwn2026-03-271-42/+39
|
* perf: fetch dummy media outside the app bundleFuwn2026-03-222-8/+21
|
* fix(anime): align due cover rendering with due classificationFuwn2026-03-033-1/+119
|
* fix(match): prevent cached airing injection mutation regressionsFuwn2026-03-012-14/+23
|
* chore(cleanup): remove stale eslint directivesFuwn2026-03-012-3/+0
|
* chore(biome): drop formatter style overridesFuwn2026-03-0116-779/+942
|
* chore(biome): enable svelte lintingFuwn2026-03-015-10/+18
|
* chore(biome): enable svelte formattingFuwn2026-03-0114-928/+901
|
* chore(biome): enable css formattingFuwn2026-03-011-1/+1
|
* fix(anime): unify due classification and harden subtitle matchingFuwn2026-03-012-10/+8
|
* perf: optimise list hot paths and shared timersFuwn2026-03-015-54/+129
|
* perf(images): Optimise cover images for LCP and CLSFuwn2026-02-022-2/+12
|
* fix: Resolve all ESLint errors and warningsFuwn2026-01-293-5/+7
|
* feat(Landing): Update to match LandingHeroFuwn2026-01-286-56/+58
|
* fix: Add null guards and improve error messaging for user lookupsFuwn2026-01-231-1/+1
|
* 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-233-1/+326
|
* refactor: Migrate event handlers to new Svelte 5 syntaxFuwn2026-01-235-13/+13
|
* refactor(layout): Replace empty p elements with reusable Spacer componentFuwn2026-01-233-4/+7
|
* fix(html): Replace self-closing non-void HTML elements with proper closing tagsFuwn2026-01-233-4/+4
|
* fix(notifications): Replace svelte-notifications with custom store for Svelte 5Fuwn2026-01-224-12/+4
|
* format: Apply Prettier formattingFuwn2026-01-224-21/+31
|
* format: Apply Prettier formattingFuwn2025-12-156-35/+25
|
* style(src): Remove self-closing p and div tagsFuwn2025-06-233-4/+4
|
* fix(Landing): Disable filteringFuwn2025-06-135-4/+15
|
* feat: Move remaining localStorage usages to localforageFuwn2025-06-124-8/+18
|
* refactor(List): Simplify get-set structure of stateBin usageFuwn2025-06-122-22/+4
|