import { useAniList } from "@/lib/anilist/useAnilist"; import { useWatchProvider } from "@/lib/context/watchPageProvider"; import { useState } from "react"; import { toast } from "sonner"; type Props = { toggle: boolean; position: "top" | "bottom"; setToggle: (prev: any) => void; session: any; }; export default function RateModal({ toggle, position, setToggle, session, }: Props) { const [startRate, setStartRate] = useState(false); const { markComplete } = useAniList(session); const { dataMedia } = useWatchProvider(); async function handleSubmit(event: any) { event.preventDefault(); const data = new FormData(event.target); const rating = data.get("rating"); const notes = data.get("notes"); try { await markComplete(dataMedia?.id, { notes, scoreRaw: rating }); toast.success("Successfully rated!"); setToggle((prev: any) => { return { ...prev, isOpen: false, }; }); } catch (error) { toast.error("Failed to rate!"); } } function handleClose() { setToggle((prev: any) => { return { ...prev, isOpen: false, }; }); } return ( <>

What do you think?

{startRate && (
)}
); }