import { useState, useCallback } from 'react'; import type { GameStatusManager, GameStatus } from './types'; export function useGameStatus(): GameStatusManager { const [gameStatus, setGameStatus] = useState('waiting'); const startGame = useCallback(() => { setGameStatus('started'); }, []); const togglePause = useCallback((pause?: boolean) => { setGameStatus(current => { if (current === 'started' || current === 'paused') { return pause !== undefined ? (pause ? 'paused' : 'started') : (current === 'started' ? 'paused' : 'started'); } return current; }); }, []); const quitGame = useCallback(() => { setGameStatus('waiting'); }, []); return { gameStatus, setGameStatus, startGame, togglePause, quitGame }; }