import { useState, useEffect } from "react"; import type { LastFMMusicObject } from "../utils/types"; export default function MusicComponent() { const [music, setMusic] = useState(null); const [failedFetch, setFailedFetch] = useState(false); useEffect(() => { async function fetchMusic() { const response = await fetch("https://api.alexav.gg/v4/social/music"); if (response.ok) { const data = await response.json(); setMusic(data.data.tracks[0] as LastFMMusicObject); } else setFailedFetch(true); } setTimeout(() => { fetchMusic(); }, 60000); fetchMusic(); }, []); if (music) { return (

{music.name}

{music.artist["#text"]}

); } else { if (failedFetch) { return (

uh oh!

failed to get music :(

); } else { return (

loading music..

loading artist..

); } } }