From 838710942cfbe9fe696c23d71bdad9a398234a9a Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 18 Dec 2023 16:45:45 -0800 Subject: feat(schedule): timezone picker --- src/routes/schedule/+page.svelte | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/routes') diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte index 9868e308..6b07ea27 100644 --- a/src/routes/schedule/+page.svelte +++ b/src/routes/schedule/+page.svelte @@ -3,9 +3,16 @@ import type { SubsPlease, SubsPleaseEpisode } from '$lib/subsPlease'; import { onMount } from 'svelte'; import settings from '../../stores/settings'; + import { parseOrDefault } from '$lib/Tools/tool'; + import { browser } from '$app/environment'; let subsPleasePromise: Promise; - const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; + const urlParameters = browser ? new URLSearchParams(window.location.search) : null; + let timeZone = parseOrDefault( + urlParameters, + 'tz', + Intl.DateTimeFormat().resolvedOptions().timeZone + ); onMount( async () => (subsPleasePromise = fetch(`/api/subsplease?tz=${timeZone}`).then((r) => r.json())) @@ -43,6 +50,20 @@ {timeZone.split('/').reverse().join(', ').replace(/_/g, ' ')} +

+ +

+
{#each Object.entries(subsPlease.schedule) as [day, scheduleEntry]}