1.6 KiB
1.6 KiB
title, status, type, priority, created_at, updated_at, parent
| title | status | type | priority | created_at | updated_at | parent |
|---|---|---|---|---|---|---|
| Flattened admin encounters page | draft | feature | normal | 2026-03-21T21:59:20Z | 2026-03-21T22:04:08Z | nuzlocke-tracker-9i9m |
Add a top-level /admin/encounters page that shows all encounters across all games and routes, with filters. This is the deepest entity in the current hierarchy and the most painful to reach.
Approach
- New page at
/admin/encountersshowing all encounters in a table - Columns: Pokemon, Route, Game, Encounter Rate, Method
- Filters: game dropdown, route dropdown (filtered by selected game), pokemon search
- Clicking an encounter navigates to the route detail page where it can be edited
- Requires new backend endpoint: GET /admin/encounters returning encounters joined with route name, game name, and pokemon name. Response shape:
{ id, pokemon_name, route_name, game_name, encounter_rate, method }
Files to modify
frontend/src/pages/admin/AdminEncounters.tsx— New pagefrontend/src/pages/admin/index.ts— Export new pagefrontend/src/App.tsx— Add routefrontend/src/components/admin/AdminLayout.tsx— Add nav itembackend/app/routes/— Endpoint for listing all encounters with game/route context
Checklist
- AdminEncounters page with table of all encounters
- Game filter dropdown
- Route filter dropdown (cascading from game)
- Pokemon name search
- Click navigates to route detail page
- Nav item added to admin sidebar
- Route registered in App.tsx
- Backend endpoint for listing all encounters