feat: implement digit entry in edit mode (Phase 40.3.3)
- Add setCell method to useBoard to update board state - Handle digit keys 1-9 in edit mode in useCursor - Move boardRendered counter to useBoard for proper cursor re-rendering - Fix golden glow disappearing after digit entry - Digits display with .user-entered class via renderer
This commit is contained in:
+2
-6
@@ -8,15 +8,14 @@ import { useCursorRender } from './useCursor/useCursorRender';
|
||||
export function useGame(options: GameOptions = {}, platformHook?: unknown): GameManager {
|
||||
const { difficulty = 'easy' } = options;
|
||||
const board = useBoard();
|
||||
const { containerRef, renderBoard, generateBoard } = board;
|
||||
const { containerRef, renderBoard, generateBoard, boardRendered } = board;
|
||||
|
||||
const gameStatusManager = useGameStatus();
|
||||
const { gameStatus } = gameStatusManager;
|
||||
|
||||
const [keyLog, setKeyLog] = useState<{ key: string; timestamp: number }[]>([]);
|
||||
const [boardRendered, setBoardRendered] = useState(0);
|
||||
|
||||
const cursor = useCursor(gameStatusManager, containerRef);
|
||||
const cursor = useCursor(gameStatusManager, containerRef, board);
|
||||
const cursorPosition = cursor.position();
|
||||
const cursorMode = cursor.mode();
|
||||
|
||||
@@ -24,17 +23,14 @@ export function useGame(options: GameOptions = {}, platformHook?: unknown): Game
|
||||
|
||||
useEffect(() => {
|
||||
renderBoard();
|
||||
setBoardRendered(prev => prev + 1);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (gameStatus === 'started') {
|
||||
generateBoard(difficulty);
|
||||
renderBoard();
|
||||
setBoardRendered(prev => prev + 1);
|
||||
} else if (gameStatus === 'waiting') {
|
||||
renderBoard();
|
||||
setBoardRendered(prev => prev + 1);
|
||||
}
|
||||
}, [gameStatus, difficulty]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user