Files
nuzlocke-tracker/.beans/nuzlocke-tracker-e372--flattened-admin-encounters-page.md
2026-03-22 08:56:06 +01:00

40 lines
1.6 KiB
Markdown

---
# nuzlocke-tracker-e372
title: Flattened admin encounters page
status: draft
type: feature
priority: normal
created_at: 2026-03-21T21:59:20Z
updated_at: 2026-03-21T22:04:08Z
parent: 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/encounters` showing 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 page
- `frontend/src/pages/admin/index.ts` — Export new page
- `frontend/src/App.tsx` — Add route
- `frontend/src/components/admin/AdminLayout.tsx` — Add nav item
- `backend/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