From a08f0535bf6dfb424e8f9764b37ce6912db6021c Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Tue, 30 Sep 2025 14:15:31 -0500 Subject: [PATCH] feat: add direct URL routes for each game mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create dedicated routes for each Complement Race game mode: - /games/complement-race/practice - Practice Mode (race to 20) - /games/complement-race/sprint - Steam Sprint (60 second momentum) - /games/complement-race/survival - Survival Mode (endless laps) Each route uses ComplementRaceProvider with initialStyle prop to set the game mode, allowing users to share direct links to specific modes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../app/games/complement-race/practice/page.tsx | 15 +++++++++++++++ .../src/app/games/complement-race/sprint/page.tsx | 15 +++++++++++++++ .../app/games/complement-race/survival/page.tsx | 15 +++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 apps/web/src/app/games/complement-race/practice/page.tsx create mode 100644 apps/web/src/app/games/complement-race/sprint/page.tsx create mode 100644 apps/web/src/app/games/complement-race/survival/page.tsx diff --git a/apps/web/src/app/games/complement-race/practice/page.tsx b/apps/web/src/app/games/complement-race/practice/page.tsx new file mode 100644 index 00000000..5195d9a9 --- /dev/null +++ b/apps/web/src/app/games/complement-race/practice/page.tsx @@ -0,0 +1,15 @@ +'use client' + +import { PageWithNav } from '@/components/PageWithNav' +import { ComplementRaceProvider } from '../context/ComplementRaceContext' +import { ComplementRaceGame } from '../components/ComplementRaceGame' + +export default function PracticeModePage() { + return ( + + + + + + ) +} diff --git a/apps/web/src/app/games/complement-race/sprint/page.tsx b/apps/web/src/app/games/complement-race/sprint/page.tsx new file mode 100644 index 00000000..242e8592 --- /dev/null +++ b/apps/web/src/app/games/complement-race/sprint/page.tsx @@ -0,0 +1,15 @@ +'use client' + +import { PageWithNav } from '@/components/PageWithNav' +import { ComplementRaceProvider } from '../context/ComplementRaceContext' +import { ComplementRaceGame } from '../components/ComplementRaceGame' + +export default function SprintModePage() { + return ( + + + + + + ) +} diff --git a/apps/web/src/app/games/complement-race/survival/page.tsx b/apps/web/src/app/games/complement-race/survival/page.tsx new file mode 100644 index 00000000..5c4f8242 --- /dev/null +++ b/apps/web/src/app/games/complement-race/survival/page.tsx @@ -0,0 +1,15 @@ +'use client' + +import { PageWithNav } from '@/components/PageWithNav' +import { ComplementRaceProvider } from '../context/ComplementRaceContext' +import { ComplementRaceGame } from '../components/ComplementRaceGame' + +export default function SurvivalModePage() { + return ( + + + + + + ) +}