diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-08-05 03:07:30 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-08-05 03:07:30 +0900 |
| commit | 9ff9c151e5defd9eed5cba3c88bc341b4360d09c (patch) | |
| tree | bf5b9e721274ffa58df66823d39f9ceadebc9f98 /frontend | |
| parent | ff959dadb1f990173b9df3105ccfc96b1c6c092e (diff) | |
| parent | 498ad23eaaae1e856c71f44ad0bf3912a6d7e5b7 (diff) | |
| download | phperkaigi-2025-albatross-9ff9c151e5defd9eed5cba3c88bc341b4360d09c.tar.gz phperkaigi-2025-albatross-9ff9c151e5defd9eed5cba3c88bc341b4360d09c.tar.zst phperkaigi-2025-albatross-9ff9c151e5defd9eed5cba3c88bc341b4360d09c.zip | |
Merge branch 'feat/multiplayer-mode'
Diffstat (limited to 'frontend')
| -rw-r--r-- | frontend/app/.server/api/schema.d.ts | 5 | ||||
| -rw-r--r-- | frontend/app/routes/dashboard.tsx | 3 | ||||
| -rw-r--r-- | frontend/app/routes/golf.$gameId.watch.tsx | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/frontend/app/.server/api/schema.d.ts b/frontend/app/.server/api/schema.d.ts index 88067a8..62badcf 100644 --- a/frontend/app/.server/api/schema.d.ts +++ b/frontend/app/.server/api/schema.d.ts @@ -96,6 +96,11 @@ export interface components { /** @example 1 */ game_id: number; /** + * @example 1v1 + * @enum {string} + */ + game_type: "1v1" | "multiplayer"; + /** * @example closed * @enum {string} */ diff --git a/frontend/app/routes/dashboard.tsx b/frontend/app/routes/dashboard.tsx index e23d7aa..e6a43de 100644 --- a/frontend/app/routes/dashboard.tsx +++ b/frontend/app/routes/dashboard.tsx @@ -42,7 +42,8 @@ export default function Dashboard() { <ul className="list-disc list-inside"> {games.map((game) => ( <li key={game.game_id}> - {game.display_name}{" "} + {game.display_name} + {game.game_type === "multiplayer" ? " (Multiplayer)" : " (1v1)"} {game.state === "closed" || game.state === "finished" ? ( <span className="inline-block px-6 py-2 text-gray-400 bg-gray-200 cursor-not-allowed rounded"> Entry diff --git a/frontend/app/routes/golf.$gameId.watch.tsx b/frontend/app/routes/golf.$gameId.watch.tsx index 83b7a1a..5edf92f 100644 --- a/frontend/app/routes/golf.$gameId.watch.tsx +++ b/frontend/app/routes/golf.$gameId.watch.tsx @@ -25,6 +25,11 @@ export async function loader({ params, request }: LoaderFunctionArgs) { }; const [game, sockToken] = await Promise.all([fetchGame(), fetchSockToken()]); + + if (game.game_type !== "1v1") { + return new Response("Not Found", { status: 404 }); + } + return { game, sockToken, |
