Initial commit

Create the Board Score PWA with offline support, Kurzgesagt-style themes, multiple game configs, dynamic players, avatars via DiceBear, and complete statistics.
This commit is contained in:
Zed
2026-07-06 16:12:25 +02:00
commit bf67c58171
62 changed files with 54527 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import { useEffect } from "react";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import MainLayout from "./layouts/MainLayout";
import FullWidthLayout from "./layouts/FullWidthLayout";
import Home from "./pages/Home";
import NewGame from "./pages/NewGame";
import PlayGame from "./pages/PlayGame";
import GameOver from "./pages/GameOver";
import History from "./pages/History";
import Players from "./pages/Players";
import Settings from "./pages/Settings";
import Statistics from "./pages/Stats";
import { useAppStore } from "./stores/appStore";
function App() {
const { loadSettings } = useAppStore();
useEffect(() => {
loadSettings();
}, [loadSettings]);
return (
<BrowserRouter>
<Routes>
<Route element={<MainLayout />}>
<Route path="/" element={<Home />} />
<Route path="/history" element={<History />} />
<Route path="/players" element={<Players />} />
<Route path="/stats" element={<Statistics />} />
<Route path="/settings" element={<Settings />} />
</Route>
<Route element={<FullWidthLayout />}>
<Route path="/new/:gameId" element={<NewGame />} />
<Route path="/play/:sessionId" element={<PlayGame />} />
<Route path="/gameover/:sessionId" element={<GameOver />} />
</Route>
</Routes>
</BrowserRouter>
);
}
export default App;