import clsx from "clsx"; import { useEffect, useState } from "react"; import type { TrackResponse } from "../types/lastfm.ts"; import { actions } from "astro:actions"; export default function LastFM() { const [track, setTrack] = useState(); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { actions .getRecentTrack() .then((data) => { setTrack(data.data); setLoading(false); }) .catch((err) => { setError(err.message); setLoading(false); }); }, []); if (loading) return (
); if (!track) return null; if (error) return null; return (

{track.nowplaying ? "Now playing" : "Recently Played"}

); }