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"}

) }