aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Schedule/Days.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Schedule/Days.svelte')
-rw-r--r--src/lib/Schedule/Days.svelte20
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}