{timestamp.title}
+ = timestamp.time && + (playerCurrentTime <= timestamp.endTime || timestamp.endTime === -1)} + class="chip no-margin">{timestamp.timePretty} +diff --git a/materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte b/materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte
index da6fa5f5..c39321e6 100644
--- a/materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte
+++ b/materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte
@@ -15,11 +15,19 @@
let playerElement: HTMLMediaElement | undefined = $state();
let showInfo = $state(false);
+ let playerCurrentTime: number = $state(0);
let subscribed: boolean = $state(false);
data.streamed.subscribed.then((isSubbed) => (subscribed = isSubbed));
onMount(() => {
+ if (playerElement) {
+ playerElement.addEventListener('timeupdate', () => {
+ if (!playerElement) return;
+ playerCurrentTime = playerElement.currentTime;
+ });
+ }
+
Mousetrap.bind('down', () => {
if (showInfo) return true;
@@ -99,6 +107,30 @@
{timestamp.title}
+ = timestamp.time && + (playerCurrentTime <= timestamp.endTime || timestamp.endTime === -1)} + class="chip no-margin">{timestamp.timePretty} +