import Image from "next/image"; import { useEffect, useState } from "react"; import { convertUnixToTime } from "../../utils/getTimes"; import { PlayIcon } from "@heroicons/react/20/solid"; import { BackwardIcon, ForwardIcon } from "@heroicons/react/24/solid"; import Link from "next/link"; import { useCountdown } from "../../utils/useCountdownSeconds"; export default function Schedule({ data, scheduleData, anime, update }) { let now = new Date(); let currentDay = now.toLocaleString("default", { weekday: "long" }).toLowerCase() + "Schedule"; currentDay = currentDay.replace("Schedule", ""); const [day, hours, minutes, seconds] = useCountdown( anime[0]?.airingSchedule.nodes[0]?.airingAt * 1000 || Date.now(), update ); const [currentPage, setCurrentPage] = useState(0); const [days, setDay] = useState(); useEffect(() => { if (scheduleData) { const days = Object.keys(scheduleData); setDay(days); } }, [scheduleData]); const handleNextPage = () => { setCurrentPage((prevPage) => (prevPage + 1) % days.length); }; const handlePreviousPage = () => { setCurrentPage((prevPage) => (prevPage - 1 + days.length) % days.length); }; useEffect(() => { const todayIndex = days?.findIndex((day) => day.toLowerCase().includes(currentDay) ); setCurrentPage(todayIndex >= 0 ? todayIndex : 0); }, [currentDay, days]); return (

Don't miss out!

Coming Up Next!

{data.title.romaji || data.title.english || data.title.native}
{data.title.romaji || data.title.english || data.title.native}
{data.bannerImage ? ( banner next anime ) : ( banner next anime )}
{/* Countdown Timer */}
{/* Countdown Timer */}
{day} Days
{hours} Hours
{minutes} Mins
{seconds} Secs
{scheduleData && days && (
{scheduleData[days[currentPage]] ?.filter((show, index, self) => { return index === self.findIndex((s) => s.id === show.id); }) ?.map((i, index) => { const currentTime = Date.now(); const hasAired = i.airingAt < currentTime; return (
{i.coverImage && ( {`${i.title.romaji} )}

{i.title.romaji}

{convertUnixToTime(i.airingAt)} - Episode{" "} {i.airingEpisode}

); })}
{days[currentPage]?.replace("Schedule", "")}
)}
); }