import { useState, useEffect } from "react"; type GameObject = { game: string; startedOn: number; finishedAt?: number; finished: boolean; }; export default function GameComponent() { const [game, setGame] = useState(null); const [failedFetch, setFailedFetch] = useState(false); useEffect(() => { async function fetchGame() { const response = await fetch( "https://api.alexav.gg/v4/tracker/latestGame" ); if (response.ok) { const data = await response.json(); if (data.data && data.data.game) { setGame(data.data as GameObject); } else setFailedFetch(true); } else setFailedFetch(true); } setTimeout(() => { fetchGame(); }, 60000); fetchGame(); }, []); if (game) { const dateOrTime = () => { if (game.finished && game.finishedAt) { const currentDate = new Date(); const finishedDate = new Date(game.finishedAt); if ( currentDate.toLocaleDateString() === finishedDate.toLocaleDateString() ) { return `last played ${game.game} at ${finishedDate.toLocaleTimeString()}`; } else { return `last played ${game.game} on ${finishedDate.toLocaleDateString()}`; } } else { return `playing ${game.game}`; } }; return (

{dateOrTime()}

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

not playing anything

); } else { return (

loading game..

); } } }