aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/pages/GolfPlayPage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/pages/GolfPlayPage.tsx')
-rw-r--r--frontend/app/pages/GolfPlayPage.tsx94
1 files changed, 47 insertions, 47 deletions
diff --git a/frontend/app/pages/GolfPlayPage.tsx b/frontend/app/pages/GolfPlayPage.tsx
index 49f47f6..ff6273d 100644
--- a/frontend/app/pages/GolfPlayPage.tsx
+++ b/frontend/app/pages/GolfPlayPage.tsx
@@ -12,58 +12,58 @@ type Game = components["schemas"]["Game"];
type LatestGameState = components["schemas"]["LatestGameState"];
export default function GolfPlayPage({ gameId }: { gameId: string }) {
- const { user } = useAuth();
- const [, navigate] = useLocation();
+ const { user } = useAuth();
+ const [, navigate] = useLocation();
- const [game, setGame] = useState<Game | null>(null);
- const [gameState, setGameState] = useState<LatestGameState | null>(null);
- const [loading, setLoading] = useState(true);
+ const [game, setGame] = useState<Game | null>(null);
+ const [gameState, setGameState] = useState<LatestGameState | null>(null);
+ const [loading, setLoading] = useState(true);
- const gameIdNum = Number(gameId);
+ const gameIdNum = Number(gameId);
- usePageTitle(
- game
- ? `Golf Playing ${game.display_name} | ${APP_NAME}`
- : `Golf Playing | ${APP_NAME}`,
- );
+ usePageTitle(
+ game
+ ? `Golf Playing ${game.display_name} | ${APP_NAME}`
+ : `Golf Playing | ${APP_NAME}`,
+ );
- useEffect(() => {
- const apiClient = createApiClient();
- Promise.all([
- apiClient.getGame(gameIdNum),
- apiClient.getGamePlayLatestState(gameIdNum),
- ])
- .then(([{ game }, { state }]) => {
- setGame(game);
- setGameState(state);
- })
- .catch(() => navigate("/dashboard"))
- .finally(() => setLoading(false));
- }, [gameIdNum, navigate]);
+ useEffect(() => {
+ const apiClient = createApiClient();
+ Promise.all([
+ apiClient.getGame(gameIdNum),
+ apiClient.getGamePlayLatestState(gameIdNum),
+ ])
+ .then(([{ game }, { state }]) => {
+ setGame(game);
+ setGameState(state);
+ })
+ .catch(() => navigate("/dashboard"))
+ .finally(() => setLoading(false));
+ }, [gameIdNum, navigate]);
- const store = useMemo(() => {
- if (!game || !user) return null;
- return createStore();
- }, [game, user]);
+ const store = useMemo(() => {
+ if (!game || !user) return null;
+ return createStore();
+ }, [game, user]);
- if (loading || !game || !gameState || !user || !store) {
- return (
- <div className="min-h-screen bg-gray-100 flex items-center justify-center">
- <p className="text-gray-500">Loading...</p>
- </div>
- );
- }
+ if (loading || !game || !gameState || !user || !store) {
+ return (
+ <div className="min-h-screen bg-gray-100 flex items-center justify-center">
+ <p className="text-gray-500">Loading...</p>
+ </div>
+ );
+ }
- return (
- <JotaiProvider store={store}>
- <ApiClientContext.Provider value={createApiClient()}>
- <GolfPlayApp
- key={game.game_id}
- game={game}
- player={user}
- initialGameState={gameState}
- />
- </ApiClientContext.Provider>
- </JotaiProvider>
- );
+ return (
+ <JotaiProvider store={store}>
+ <ApiClientContext.Provider value={createApiClient()}>
+ <GolfPlayApp
+ key={game.game_id}
+ game={game}
+ player={user}
+ initialGameState={gameState}
+ />
+ </ApiClientContext.Provider>
+ </JotaiProvider>
+ );
}