aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/App.tsx
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-18 22:38:15 +0900
committernsfisis <nsfisis@gmail.com>2026-02-18 22:38:15 +0900
commit9f9efc2bc07810d2e06b37bad94e5922681eadef (patch)
tree79bcce2bf065a7ea282aa7855822c3bdee92ee7c /frontend/app/App.tsx
parentc095200dc79f24c0cd17a2e3ba15c85a2971ea9a (diff)
downloadphperkaigi-2026-albatross-9f9efc2bc07810d2e06b37bad94e5922681eadef.tar.gz
phperkaigi-2026-albatross-9f9efc2bc07810d2e06b37bad94e5922681eadef.tar.zst
phperkaigi-2026-albatross-9f9efc2bc07810d2e06b37bad94e5922681eadef.zip
feat: refactor tournament to generic DB-backed N-person bracket
Replace hardcoded 6-person tournament with a generic single-elimination bracket system backed by new DB tables (tournaments, tournament_entries, tournament_matches). Includes admin CRUD, standard seeding algorithm, bye handling, and a CSS Grid bracket renderer on the frontend. Add comprehensive tests for backend API/admin handlers, seeding logic, and frontend bracket component. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'frontend/app/App.tsx')
-rw-r--r--frontend/app/App.tsx10
1 files changed, 6 insertions, 4 deletions
diff --git a/frontend/app/App.tsx b/frontend/app/App.tsx
index fcf6977..651de32 100644
--- a/frontend/app/App.tsx
+++ b/frontend/app/App.tsx
@@ -42,10 +42,12 @@ export default function App() {
</ProtectedRoute>
)}
</Route>
- <Route path="/tournament">
- <ProtectedRoute>
- <TournamentPage />
- </ProtectedRoute>
+ <Route path="/tournament/:tournamentId">
+ {(params) => (
+ <ProtectedRoute>
+ <TournamentPage tournamentId={params.tournamentId} />
+ </ProtectedRoute>
+ )}
</Route>
<Route>
<div className="min-h-screen bg-gray-100 flex items-center justify-center">