import { useEffect, useState } from "react"; import Button from "../commons/Button"; import Headline from "./Headline/Headline"; async function fetchMemes() { const response = await fetch("https://api.imgflip.com/get_memes"); const result = await response.json(); return await result; } function MemePreview({ headlines, setHeadlines }) { const [memesList, setMemesList] = useState([]); const [isFetched, setIsFetched] = useState(false); useEffect(() => { fetchMemes().then((object) => setMemesList(object.data.memes)); setIsFetched(true); return () => setIsFetched(false); }, [setIsFetched]); const [selectedMeme, setSelectedMeme] = useState({}); useEffect(() => { setSelectedMeme(memesList[5]); }, [memesList]); const getRandomMeme = () => { const randomIndex = Math.floor(Math.random() * memesList.length); setSelectedMeme(memesList[randomIndex]); }; const headlinesList = headlines.map((headline) => ( )); return (
{isFetched && selectedMeme ? ( {selectedMeme.name} ) : ( "Loading..." )} {headlinesList}
); } export default MemePreview;