'use client' import styles from "./page.module.scss"; import {useReducer} from "react"; import reduce from "./state/reducer.ts"; import {INITIAL_STATE} from "./state/state.ts"; import MessageBanner from "./message-banner.tsx"; import InputForm from "./input-form.tsx"; import {actionToggledShowSolution} from "./state/action.ts"; import Maze from "./maze.tsx"; export default function Home() { const [state, dispatch] = useReducer(reduce, INITIAL_STATE); const hasValidMaze = !!state.maze; return (

A-Maze-R! Create your own maze!

A fun little maze generator written by fritteli

{hasValidMaze && <>

The Maze ({state.maze!.width}x{state.maze!.height}, Algorithm: {state.maze!.algorithm}, ID: {state.maze!.id})

{ dispatch(actionToggledShowSolution(e.target.checked)); }} id={"showSolution"}/> }
); }