import { forwardRef, MutableRefObject, useEffect, useState } from "react"; import Image from "next/image"; import { Pie } from "react-chartjs-2"; import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "chart.js"; ChartJS.register(ArcElement, Tooltip, Legend); import ClientOnlyPortal from "./ClientOnlyPortal"; interface ModalProps { modalOpen: boolean toggleModal: Function card: any } const Modal = forwardRef(({modalOpen, toggleModal, card}, ref) => { const [randomQuote, setRandomQuote] = useState(""); const data = { labels: ["Power", "Toughness"], datasets: [ { label: "Card Power and Toughness", data: [card.power, card.toughness], backgroundColor: [ "rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)" ], borderColor: [ "rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)" ], borderWidth: 1, }, ] }; useEffect(() => { fetch('https://api.quotable.io/random').then( res => res.json() ).then( quote => setRandomQuote(`${quote.content} — ${quote.author}`)); if( (ref as MutableRefObject).current ) { (ref as MutableRefObject).current.scrollTo(0, 0); } }, [card]) return (
<>

{card.flavor_text || randomQuote}

{card && ( {`${card.name} )}

{card?.name}

{card.oracle_text}

null, }, }, }} />
); }); export default Modal;