summaryrefslogtreecommitdiffhomepage
path: root/react-frontend/src/pages/Games.tsx
blob: 5278afd97a8bec96309072458f7efa4b3c7223d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { useState, useEffect } from "react";
import GameCard, { GameType } 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>
		</>
	);
}