From e0e5ea6f25315a8ae4e39324131c7d90646943ce Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 9 Oct 2024 01:27:40 -0700 Subject: feat(schedule): filter media list entries toggle --- src/lib/Schedule/Days.svelte | 203 +++++++++++++++++------------ src/lib/Settings/Categories/Display.svelte | 4 + src/routes/schedule/+page.svelte | 4 +- src/stores/settings.ts | 22 ++-- 4 files changed, 142 insertions(+), 91 deletions(-) diff --git a/src/lib/Schedule/Days.svelte b/src/lib/Schedule/Days.svelte index f4075313..f7a49029 100644 --- a/src/lib/Schedule/Days.svelte +++ b/src/lib/Schedule/Days.svelte @@ -1,6 +1,6 @@ -{#each Object.entries(shiftSubsPleaseSchedule(subsPlease.schedule)) as [day, scheduleEntry], dayIndex} -
- {day} - - {#if !$settings.displayScheduleListMode && !forceListMode} -
- {#each Object.values(scheduleEntry) as entry, entryIndex} - {@const media = associateMedia(scheduledMedia, entry.title)} - -
- - -
- -
-
- -
-
- -
- +{#await mediaListPromise} + + + +{:then mediaList} + {#each Object.entries(shiftSubsPleaseSchedule(subsPlease.schedule)) as [day, scheduleEntry], dayIndex} +
+ {day} + + {#if !$settings.displayScheduleListMode && !forceListMode} +
+ {#each Object.values(scheduleEntry) as entry, entryIndex} + {@const media = associateMedia(scheduledMedia, entry.title, mediaList)} + + {#if ($settings.displayScheduleFilterList && media) || !$settings.displayScheduleFilterList} +
+ + +
+ +
+
+ +
+
+ +
+ + + {#if media && media.nextAiringEpisode} + + {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at + + {/if} + {entry.time} + +
+
+
+ {/if} + {/each} +
+ {:else} +
    + {#each Object.values(scheduleEntry) as entry} + {@const media = associateMedia(scheduledMedia, entry.title, mediaList)} + + {#if ($settings.displayScheduleFilterList && media) || !$settings.displayScheduleFilterList} +
  1. + + {#if !$settings.displayCountdownRightAligned} + | + {/if} {#if media && media.nextAiringEpisode} @@ -127,35 +189,16 @@ {/if} {entry.time} -
-
-
- {/each} -
- {:else} -
    - {#each Object.values(scheduleEntry) as entry} - {@const media = associateMedia(scheduledMedia, entry.title)} - -
  1. - - {#if !$settings.displayCountdownRightAligned} - | +
  2. {/if} - - {#if media && media.nextAiringEpisode} - - {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at - - {/if} - {entry.time} - - - {/each} -
- {/if} -
-{/each} + {/each} + + {/if} + + {/each} +{:catch} + +{/await}