import { useEffect, useState } from "react"; import { ChevronDownIcon } from "@heroicons/react/20/solid"; import { ForwardIcon } from "@heroicons/react/24/solid"; import { useRouter } from "next/router"; import { signIn } from "next-auth/react"; import Details from "./primary/details"; import VideoPlayer from "../../videoPlayer"; import Link from "next/link"; import Skeleton from "react-loading-skeleton"; import Modal from "../../modal"; import AniList from "../../media/aniList"; import axios from "axios"; export default function PrimarySide({ info, session, epiNumber, setLoading, navigation, loading, providerId, watchId, status, onList, proxy, disqus, setOnList, episodeList, }) { const [episodeData, setEpisodeData] = useState(); const [open, setOpen] = useState(false); const [skip, setSkip] = useState(); const router = useRouter(); useEffect(() => { setLoading(true); setEpisodeData(); setSkip(); async function fetchData() { if (info) { const { data } = await axios.get( `/api/consumet/source/${providerId}/${watchId}` ); const skip = await fetch( `https://api.aniskip.com/v2/skip-times/${info.idMal}/${parseInt( epiNumber )}?types[]=ed&types[]=mixed-ed&types[]=mixed-op&types[]=op&types[]=recap&episodeLength=` ).then((r) => { if (!r.ok) { switch (r.status) { case 404: { return null; } } } return r.json(); }); const op = skip?.results?.find((item) => item.skipType === "op") || null; const ed = skip?.results?.find((item) => item.skipType === "ed") || null; setSkip({ op, ed }); setEpisodeData(data); setLoading(false); } // setMal(malId); } fetchData(); }, [providerId, watchId, info]); function handleOpen() { setOpen(true); document.body.style.overflow = "hidden"; } function handleClose() { setOpen(false); document.body.style.overflow = "auto"; } return ( <> handleClose()}> {!session && (

Edit your list

)}
{!loading ? ( episodeData && ( ) ) : (
)}
{info && episodeList ? (

{navigation?.playing?.title || info.title?.romaji}

Episode {epiNumber}

) : (

)}
); }