From 4acf8d51b257c30b1a5dd99bd515ac22ddd5b564 Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Fri, 21 Mar 2025 01:54:54 +0900
Subject: refactor(frontend): api client

---
 frontend/app/components/GolfPlayApp.tsx | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

(limited to 'frontend/app/components/GolfPlayApp.tsx')

diff --git a/frontend/app/components/GolfPlayApp.tsx b/frontend/app/components/GolfPlayApp.tsx
index 97f7cc4..71b40ce 100644
--- a/frontend/app/components/GolfPlayApp.tsx
+++ b/frontend/app/components/GolfPlayApp.tsx
@@ -3,13 +3,7 @@ import { useHydrateAtoms } from "jotai/utils";
 import { useContext, useEffect, useState } from "react";
 import { useTimer } from "react-use-precision-timer";
 import { useDebouncedCallback } from "use-debounce";
-import {
-	ApiAuthTokenContext,
-	apiGetGame,
-	apiGetGamePlayLatestState,
-	apiPostGamePlayCode,
-	apiPostGamePlaySubmit,
-} from "../api/client";
+import { ApiClientContext } from "../api/client";
 import type { components } from "../api/schema";
 import {
 	gameStateKindAtom,
@@ -43,7 +37,7 @@ export default function GolfPlayApp({ game, player, initialGameState }: Props) {
 		[setLatestGameStateAtom, initialGameState],
 	]);
 
-	const apiAuthToken = useContext(ApiAuthTokenContext);
+	const apiClient = useContext(ApiClientContext)!;
 
 	const gameStateKind = useAtomValue(gameStateKindAtom);
 	const setGameStartedAt = useSetAtom(setGameStartedAtAtom);
@@ -63,7 +57,7 @@ export default function GolfPlayApp({ game, player, initialGameState }: Props) {
 	const onCodeChange = useDebouncedCallback(async (code: string) => {
 		console.log("player:c2s:code");
 		if (game.game_type === "1v1") {
-			await apiPostGamePlayCode(apiAuthToken, game.game_id, code);
+			await apiClient.postGamePlayCode(game.game_id, code);
 		}
 	}, 1000);
 
@@ -73,7 +67,7 @@ export default function GolfPlayApp({ game, player, initialGameState }: Props) {
 		}
 		console.log("player:c2s:submit");
 		handleSubmitCodePre();
-		await apiPostGamePlaySubmit(apiAuthToken, game.game_id, code);
+		await apiClient.postGamePlaySubmit(game.game_id, code);
 		handleSubmitCodePost();
 	}, 1000);
 
@@ -91,13 +85,12 @@ export default function GolfPlayApp({ game, player, initialGameState }: Props) {
 
 			try {
 				if (gameStateKind === "waiting") {
-					const { game: g } = await apiGetGame(apiAuthToken, game.game_id);
+					const { game: g } = await apiClient.getGame(game.game_id);
 					if (g.started_at != null) {
 						setGameStartedAt(g.started_at);
 					}
 				} else if (gameStateKind === "gaming") {
-					const { state } = await apiGetGamePlayLatestState(
-						apiAuthToken,
+					const { state } = await apiClient.getGamePlayLatestState(
 						game.game_id,
 					);
 					setLatestGameState(state);
@@ -114,7 +107,7 @@ export default function GolfPlayApp({ game, player, initialGameState }: Props) {
 		};
 	}, [
 		isDataPolling,
-		apiAuthToken,
+		apiClient,
 		game.game_id,
 		gameStateKind,
 		setGameStartedAt,
-- 
cgit v1.3.1

