working on unified API and major refactoring

This commit is contained in:
2025-10-19 01:48:20 +01:00
parent 8f62c6c2b5
commit 4db86e1cfe
14 changed files with 1306 additions and 54 deletions
+2
View File
@@ -1 +1,3 @@
export * from './useBoard';
export * from './MazeGenerator';
export * from './MazeRenderer';
+8 -10
View File
@@ -1,4 +1,4 @@
import { useRef } from "react";
import { useEffect, useRef } from "react";
import type { RefObject } from 'react';
import { MazeGenerator } from "./MazeGenerator";
import { MazeRenderer } from "./MazeRenderer";
@@ -10,6 +10,13 @@ export function useBoard(cols: number, rows: number) {
const mazeInstanceRef = useRef<MazeGenerator | null>(null);
const rendererRef = useRef<MazeRenderer | null>(null);
useEffect(() => {
if (containerRef.current) {
renderBoard();
}
}, [containerRef]);
function renderBoard() {
const container = containerRef.current;
if (!container) return;
@@ -35,12 +42,3 @@ export function useBoard(cols: number, rows: number) {
renderBoard,
};
}
export type BoardManager = {
containerRef: RefObject<HTMLDivElement | null>
mazeRef: RefObject<MazeCell[][]>
mazeInstanceRef: RefObject<MazeGenerator | null>
rendererRef: RefObject<MazeRenderer | null>
renderBoard: () => void
}