1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-24 15:17:41 +01:00
smov/src/components/media/WatchedEpisodeButton.tsx

26 lines
770 B
TypeScript
Raw Normal View History

import { getEpisodeFromMedia, MWMedia } from "providers";
2022-03-13 15:27:08 +01:00
import { useWatchedContext, getWatchedFromPortable } from "state/watched";
import { Episode } from "./EpisodeButton";
export interface WatchedEpisodeProps {
media: MWMedia;
2022-03-13 15:27:08 +01:00
onClick?: () => void;
active?: boolean;
}
export function WatchedEpisode(props: WatchedEpisodeProps) {
const { watched } = useWatchedContext();
const foundWatched = getWatchedFromPortable(watched.items, props.media);
const episode = getEpisodeFromMedia(props.media);
2022-03-13 15:27:08 +01:00
const watchedPercentage = (foundWatched && foundWatched.percentage) || 0;
return (
<Episode
progress={watchedPercentage}
episodeNumber={episode?.episode?.sort ?? 1}
2022-03-13 15:27:08 +01:00
active={props.active}
onClick={props.onClick}
/>
);
}