diff options
Diffstat (limited to 'src/lib/Hololive/Lives.svelte')
| -rw-r--r-- | src/lib/Hololive/Lives.svelte | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/src/lib/Hololive/Lives.svelte b/src/lib/Hololive/Lives.svelte index 9fb5585f..1969fa4f 100644 --- a/src/lib/Hololive/Lives.svelte +++ b/src/lib/Hololive/Lives.svelte @@ -1,9 +1,9 @@ <script lang="ts"> -import Spacer from '$lib/Layout/Spacer.svelte'; -import Message from '$lib/Loading/Message.svelte'; -import root from '$lib/Utility/root'; -import type { Live, ParseResult } from './hololive'; -import Stream from './Stream.svelte'; +import Spacer from "$lib/Layout/Spacer.svelte"; +import Message from "$lib/Loading/Message.svelte"; +import root from "$lib/Utility/root"; +import type { Live, ParseResult } from "./hololive"; +import Stream from "./Stream.svelte"; export let schedule: ParseResult; export let pinnedStreams: string[]; @@ -11,52 +11,52 @@ export let getPinnedStreams: () => void; export let filter: string | undefined; const pinStream = (streamer: string) => - fetch(root(`/api/preferences/pin?stream=${encodeURIComponent(streamer)}`), { - method: 'PUT', - headers: { - 'Content-Type': 'application/json' - } - }).then(getPinnedStreams); + fetch(root(`/api/preferences/pin?stream=${encodeURIComponent(streamer)}`), { + method: "PUT", + headers: { + "Content-Type": "application/json", + }, + }).then(getPinnedStreams); $: categorisedStreams = schedule.lives - .filter((live) => (filter ? live.streamer === filter : true)) - .sort((a, b) => new Date(a.time).getTime() - new Date(b.time).getTime()) - .sort((a, b) => { - const aPinned = pinnedStreams.includes(a.streamer); - const bPinned = pinnedStreams.includes(b.streamer); + .filter((live) => (filter ? live.streamer === filter : true)) + .sort((a, b) => new Date(a.time).getTime() - new Date(b.time).getTime()) + .sort((a, b) => { + const aPinned = pinnedStreams.includes(a.streamer); + const bPinned = pinnedStreams.includes(b.streamer); - if (aPinned && !bPinned) return -1; - if (!aPinned && bPinned) return 1; + if (aPinned && !bPinned) return -1; + if (!aPinned && bPinned) return 1; - return 0; - }) - .reduce( - ( - acc: { - live: Live[]; - upcoming: Live[]; - ended: Live[]; - }, - live - ) => { - const now = Date.now(); - const time = new Date(live.time).getTime(); - const isLive = live.streaming; - const isUpcoming = time > now && !isLive; - const isEnded = time < now && !isLive; + return 0; + }) + .reduce( + ( + acc: { + live: Live[]; + upcoming: Live[]; + ended: Live[]; + }, + live, + ) => { + const now = Date.now(); + const time = new Date(live.time).getTime(); + const isLive = live.streaming; + const isUpcoming = time > now && !isLive; + const isEnded = time < now && !isLive; - if (isLive) { - acc.live.push(live); - } else if (isUpcoming) { - acc.upcoming.push(live); - } else if (isEnded) { - acc.ended.push(live); - } + if (isLive) { + acc.live.push(live); + } else if (isUpcoming) { + acc.upcoming.push(live); + } else if (isEnded) { + acc.ended.push(live); + } - return acc; - }, - { live: [], upcoming: [], ended: [] } - ); + return acc; + }, + { live: [], upcoming: [], ended: [] }, + ); </script> {#if schedule.lives.length === 0} |