import { aniListData } from "../../lib/anilist/AniList"; import React, { useState, useEffect } from "react"; import Head from "next/head"; import Link from "next/link"; import Footer from "../../components/footer"; import Image from "next/image"; import Content from "../../components/home/content"; import { useRouter } from "next/router"; import { motion } from "framer-motion"; import { useSession, signIn, signOut } from "next-auth/react"; import { useAniList } from "../../lib/anilist/useAnilist"; import { getServerSession } from "next-auth/next"; import { authOptions } from "../api/auth/[...nextauth]"; import SearchBar from "../../components/searchBar"; import Genres from "../../components/home/genres"; import { ToastContainer, toast, cssTransition } from "react-toastify"; export function Navigasi() { const { data: sessions, status } = useSession(); const [year, setYear] = useState(new Date().getFullYear()); const [season, setSeason] = useState(getCurrentSeason()); const router = useRouter(); const handleFormSubmission = (inputValue) => { router.push(`/id/search/${encodeURIComponent(inputValue)}`); }; const handleKeyDown = async (event) => { if (event.key === "Enter") { event.preventDefault(); const inputValue = event.target.value; handleFormSubmission(inputValue); } }; return ( <> {/* NAVBAR PC */}
moopa
  • This Season
  • Manga
  • Anime
  • {status === "loading" ? (
  • Loading...
  • ) : ( <> {!sessions && (
  • )} {sessions && (
  • My List
  • )} )}
); } export default function Home({ detail, populars, sessions }) { const { media: current } = useAniList(sessions, { stats: "CURRENT" }); const { media: plan } = useAniList(sessions, { stats: "PLANNING" }); const [isVisible, setIsVisible] = useState(false); const [list, setList] = useState(null); const [planned, setPlanned] = useState(null); const [greeting, setGreeting] = useState(""); const [onGoing, setOnGoing] = useState(null); const [prog, setProg] = useState(null); const popular = populars?.data; const data = detail.data[0]; const handleShowClick = () => { setIsVisible(true); }; const handleHideClick = () => { setIsVisible(false); }; useEffect(() => { const time = new Date().getHours(); let greeting = ""; if (time >= 5 && time < 12) { greeting = "Good morning"; } else if (time >= 12 && time < 18) { greeting = "Good afternoon"; } else if (time >= 18 && time < 22) { greeting = "Good evening"; } else if (time >= 22 || time < 5) { greeting = "Good night"; } setGreeting(greeting); async function userData() { if (!sessions) return; const getMedia = current.filter((item) => item.status === "CURRENT")[0] || null; const list = getMedia?.entries .map(({ media }) => media) .filter((media) => media); const prog = getMedia?.entries.filter( (item) => item.media.nextAiringEpisode !== null ); setProg(prog); const planned = plan?.[0]?.entries .map(({ media }) => media) .filter((media) => media); const onGoing = list?.filter((item) => item.nextAiringEpisode !== null); setOnGoing(onGoing); if (list) { setList(list.reverse()); } if (planned) { setPlanned(planned.reverse()); } } userData(); }, [sessions, current, plan]); const blurSlide = cssTransition({ enter: "slide-in-blurred-right", exit: "slide-out-blurred-right", }); useEffect(() => { function Toast() { toast.warn( "This site is still in development, some features may not work properly.", { position: "bottom-right", autoClose: false, hideProgressBar: true, closeOnClick: true, pauseOnHover: true, draggable: true, theme: "dark", transition: blurSlide, } ); } Toast(); }, []); // console.log(log); return ( <> Moopa {/* NAVBAR */}
{!isVisible && ( )}
{/* Mobile Menu */}
{isVisible && sessions && ( user avatar )} {isVisible && (
{sessions ? ( ) : ( )}
)}
{/* PC / TABLET */}

{data.title.english || data.title.romaji || data.title.native}

{`alt
{/* {!sessions && (

{greeting}!

)} */} {sessions && (
{greeting},

{sessions?.user.name}

)}
{sessions && onGoing?.length > 0 && ( )} {sessions && list?.length > 0 && ( )} {/* SECTION 2 */} {sessions && planned?.length > 0 && ( )} {/* SECTION 3 */} {detail && ( )} {/* SECTION 4 */} {popular && ( )}