Add run dashboard and encounter tracking interface

Run list at /runs shows all runs with status badges. Run dashboard at
/runs/:id displays stats, active team, graveyard, and rule badges.
Encounter tracking at /runs/:runId/encounters shows route list with
status indicators, progress bar, filters, and a modal for logging or
editing encounters with pokemon picker.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Julian Tabel
2026-02-05 15:28:50 +01:00
parent 982154b348
commit 66b3c9286f
19 changed files with 1054 additions and 63 deletions

View File

@@ -1,5 +1,5 @@
import { api } from './client'
import type { Game, Route, RouteEncounter } from '../types/game'
import type { Game, Route, RouteEncounterDetail } from '../types/game'
export interface GameDetail extends Game {
routes: Route[]
@@ -17,6 +17,6 @@ export function getGameRoutes(gameId: number): Promise<Route[]> {
return api.get(`/games/${gameId}/routes`)
}
export function getRoutePokemon(routeId: number): Promise<RouteEncounter[]> {
export function getRoutePokemon(routeId: number): Promise<RouteEncounterDetail[]> {
return api.get(`/routes/${routeId}/pokemon`)
}