Browse Source

add progress to window

Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
pull/206/head
mrjvs 2 years ago
parent
commit
5fc8355e8e
  1. 12
      src/video/components/actions/MetaAction.tsx

12
src/video/components/actions/MetaAction.tsx

@ -2,6 +2,7 @@ import { MWCaption } from "@/backend/helpers/streams";
import { DetailedMeta } from "@/backend/metadata/getmeta"; import { DetailedMeta } from "@/backend/metadata/getmeta";
import { useVideoPlayerDescriptor } from "@/video/state/hooks"; import { useVideoPlayerDescriptor } from "@/video/state/hooks";
import { useMeta } from "@/video/state/logic/meta"; import { useMeta } from "@/video/state/logic/meta";
import { useProgress } from "@/video/state/logic/progress";
import { useEffect } from "react"; import { useEffect } from "react";
export type WindowMeta = { export type WindowMeta = {
@ -17,6 +18,10 @@ export type WindowMeta = {
title: string; title: string;
episodes?: { id: string; number: number; title: string }[]; episodes?: { id: string; number: number; title: string }[];
}[]; }[];
progress: {
time: number;
duration: number;
};
} | null; } | null;
declare global { declare global {
@ -28,6 +33,7 @@ declare global {
export function MetaAction() { export function MetaAction() {
const descriptor = useVideoPlayerDescriptor(); const descriptor = useVideoPlayerDescriptor();
const meta = useMeta(descriptor); const meta = useMeta(descriptor);
const progress = useProgress(descriptor);
useEffect(() => { useEffect(() => {
if (!window.meta) window.meta = {}; if (!window.meta) window.meta = {};
@ -37,13 +43,17 @@ export function MetaAction() {
captions: meta.captions, captions: meta.captions,
seasons: meta.seasons, seasons: meta.seasons,
episode: meta.episode, episode: meta.episode,
progress: {
time: progress.time,
duration: progress.duration,
},
}; };
} }
return () => { return () => {
if (window.meta) delete window.meta[descriptor]; if (window.meta) delete window.meta[descriptor];
}; };
}, [meta, descriptor]); }, [meta, descriptor, progress]);
return null; return null;
} }

Loading…
Cancel
Save