diff options
Diffstat (limited to 'src/lib/Schedule')
| -rw-r--r-- | src/lib/Schedule/Days.svelte | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/Schedule/Days.svelte b/src/lib/Schedule/Days.svelte index 7fe09d4e..ac27dd17 100644 --- a/src/lib/Schedule/Days.svelte +++ b/src/lib/Schedule/Days.svelte @@ -43,14 +43,14 @@ const trackParameter: string | null = parseOrDefault( null, ); +const isAirType = (value: string | null): value is AirType => + value === "native" || value === "sub" || value === "dub"; + // The view track defaults to the countdown source but is overridable via the // in-page toggle and a ?type= query param, independent of the global setting. -let selectedTrack: AirType = - trackParameter === "sub" || trackParameter === "dub" - ? trackParameter - : $settings.countdownSource === "dub" - ? "dub" - : "sub"; +let selectedTrack: AirType = isAirType(trackParameter) + ? trackParameter + : $settings.countdownSource; $: source = selectedTrack; @@ -216,6 +216,14 @@ const episode = (media: Media, weekday: string) => { > {$locale().schedule?.tracks?.dub ?? 'Dub'} </button> + <button + type="button" + aria-pressed={source === 'native'} + class:button-action={source === 'native'} + onclick={() => selectTrack('native')} + > + {$locale().schedule?.tracks?.native ?? 'Native'} + </button> </div> {#await mediaListPromise} |