diff options
Diffstat (limited to 'react-frontend/src/pages/Games.tsx')
| -rw-r--r-- | react-frontend/src/pages/Games.tsx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/react-frontend/src/pages/Games.tsx b/react-frontend/src/pages/Games.tsx new file mode 100644 index 0000000..2a9b23a --- /dev/null +++ b/react-frontend/src/pages/Games.tsx @@ -0,0 +1,28 @@ +import { useState, useEffect } from "react"; +import GameCard from "../components/GameCard"; + +export default function Games () { + const [games, setGames] = useState<GameType[]>([]); + + useEffect(() => { + const url = `${import.meta.env.VITE_API_TITLE}/api/v1/games`; + fetch(url).then((response) => { + if (response.ok) { + return response.json(); + } + throw new Error("Network response was not ok."); + }).then((response) => setGames(response)); //.catch(() => navigate("/")); + }, []); + + const allGames = games.map((game) => ( + <GameCard link={`/game/${game.titleSlug}`} game={game} key={game.id}/> + )); + + return ( + <> + <div className="w-full flex flex-wrap gap-12 justify-center"> + { allGames } + </div> + </> + ); +} |
