diff --git a/.beans/nuzlocke-tracker-9cx2--drag-and-drop-reordering-for-boss-battles.md b/.beans/nuzlocke-tracker-9cx2--drag-and-drop-reordering-for-boss-battles.md new file mode 100644 index 0000000..40ccf8b --- /dev/null +++ b/.beans/nuzlocke-tracker-9cx2--drag-and-drop-reordering-for-boss-battles.md @@ -0,0 +1,24 @@ +--- +# nuzlocke-tracker-9cx2 +title: Drag-and-drop reordering for boss battles +status: todo +type: feature +created_at: 2026-02-08T12:33:18Z +updated_at: 2026-02-08T12:33:18Z +parent: nuzlocke-tracker-iu5b +--- + +Add drag-and-drop reordering for boss battles, matching the existing pattern used for routes. + +## Current behavior +- Boss battles have a manual 'order' field that must be edited individually +- Routes already have drag-and-drop reordering via @dnd-kit + +## Desired behavior +- Boss battles in the AdminGameDetail bosses tab support drag-and-drop reordering +- Same visual pattern as routes: drag handle on the left, auto-recalculate order on drop +- Reuse the same @dnd-kit setup already in place for routes + +## Files +- frontend/src/pages/admin/AdminGameDetail.tsx — add DnD to bosses tab +- Backend may need a reorder endpoint for bosses (similar to routes reorder) \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-dyzh--click-to-edit-pattern-across-admin-tables.md b/.beans/nuzlocke-tracker-dyzh--click-to-edit-pattern-across-admin-tables.md new file mode 100644 index 0000000..b3e1814 --- /dev/null +++ b/.beans/nuzlocke-tracker-dyzh--click-to-edit-pattern-across-admin-tables.md @@ -0,0 +1,40 @@ +--- +# nuzlocke-tracker-dyzh +title: Click-to-edit pattern across admin tables +status: todo +type: feature +priority: high +created_at: 2026-02-08T12:32:53Z +updated_at: 2026-02-08T12:35:03Z +parent: nuzlocke-tracker-iu5b +blocking: + - nuzlocke-tracker-fxi7 + - nuzlocke-tracker-mg46 +--- + +Replace the current pattern of separate Edit/Delete action buttons with an inline click-to-edit pattern across all admin pages. + +## Current behavior +- Table rows show data with Edit and Delete buttons on the right +- Clicking Edit opens a modal form +- Clicking Delete opens a confirmation dialog + +## Desired behavior +- Clicking a table row opens an edit card/panel inline or as a detail view +- The edit card shows all fields in editable form +- A Delete button is available within the edit card +- Save/Cancel buttons to confirm or discard changes +- Clicking outside or pressing Escape cancels + +## Affected pages +- AdminPokemon (pokemon table) +- AdminEvolutions (evolutions table) +- AdminGames (games table) +- AdminGameDetail routes tab (routes table) +- AdminGameDetail bosses tab (boss battles table) +- AdminRouteDetail (route encounters table) +- AdminRuns (runs table — delete only, no edit) + +## Notes +- Some pages already have row click handlers (Games navigates to detail). Preserve that where it makes sense — the edit card could be the detail page itself. +- Keep modal forms for Create (adding new entities) since there's no row to click yet. \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-em40--add-filtering-to-admin-tables.md b/.beans/nuzlocke-tracker-em40--add-filtering-to-admin-tables.md new file mode 100644 index 0000000..d8632f8 --- /dev/null +++ b/.beans/nuzlocke-tracker-em40--add-filtering-to-admin-tables.md @@ -0,0 +1,28 @@ +--- +# nuzlocke-tracker-em40 +title: Add filtering to admin tables +status: todo +type: feature +priority: low +created_at: 2026-02-08T12:33:46Z +updated_at: 2026-02-08T12:33:46Z +parent: nuzlocke-tracker-iu5b +--- + +Add filter controls to admin tables beyond the existing text search. + +## Current state +- Pokemon and Evolutions have text search +- No other filter dimensions available + +## Desired filters +- **Pokemon**: Filter by type, generation (derived from dex range) +- **Evolutions**: Filter by trigger type (level-up, trade, item, etc.) +- **Games**: Filter by region, generation +- **Routes**: Filter by encounter method availability +- **Runs**: Filter by status (active, completed, failed), game + +## UX +- Filter chips or dropdown selectors above the table, next to the existing search bar +- Filters combine with search (AND logic) +- Clear all filters button \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-fxi7--pokemon-detail-card-with-encounters-and-evolution.md b/.beans/nuzlocke-tracker-fxi7--pokemon-detail-card-with-encounters-and-evolution.md new file mode 100644 index 0000000..e5d3562 --- /dev/null +++ b/.beans/nuzlocke-tracker-fxi7--pokemon-detail-card-with-encounters-and-evolution.md @@ -0,0 +1,27 @@ +--- +# nuzlocke-tracker-fxi7 +title: Pokemon detail card with encounters and evolution chain +status: todo +type: feature +priority: high +created_at: 2026-02-08T12:33:05Z +updated_at: 2026-02-08T12:33:05Z +parent: nuzlocke-tracker-iu5b +--- + +When viewing/editing a Pokemon in the admin panel, show contextual information about where it can be encountered and its evolution chain. + +## Desired behavior +- The pokemon edit card (from click-to-edit) shows: + 1. Editable fields (name, types, dex number, sprite, etc.) + 2. **Encounter locations**: A list of routes/games where this pokemon appears as a route encounter. Grouped by game, showing route name + encounter method + levels. + 3. **Evolution chain**: Visual display of the pokemon's evolution family — predecessors and successors with triggers (level, item, trade, etc.) +- Encounter locations and evolution chain are read-only informational sections +- Encounter locations link to the route detail page in admin for quick navigation + +## Backend support +- Encounters by pokemon: May need a new endpoint or can query route_encounters filtered by pokemon_id +- Evolution chain: Can reuse existing /pokemon/{id}/evolutions endpoint, but may need a 'full chain' variant that shows the complete family tree (not just direct evolutions from this pokemon) + +## Notes +- This helps the admin quickly verify data completeness — 'is this pokemon assigned to the right routes?' and 'are its evolutions set up correctly?' \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-iu5b--admin-ux-improvement-round.md b/.beans/nuzlocke-tracker-iu5b--admin-ux-improvement-round.md new file mode 100644 index 0000000..0a51a8e --- /dev/null +++ b/.beans/nuzlocke-tracker-iu5b--admin-ux-improvement-round.md @@ -0,0 +1,17 @@ +--- +# nuzlocke-tracker-iu5b +title: Admin UX improvement round +status: in-progress +type: epic +created_at: 2026-02-08T12:32:43Z +updated_at: 2026-02-08T12:32:43Z +--- + +A round of UX improvements to the admin panel to make data editing more intuitive and efficient. The admin panel is the primary tool for populating game data (routes, encounters, bosses, evolutions), so friction here directly slows down adding support for new games. + +## Key themes + +- **Consistency**: Unify interaction patterns across all admin pages (click-to-edit, reordering, selectors) +- **Efficiency**: Reduce clicks and navigation depth for common workflows +- **Discoverability**: Surface related data (where a pokemon appears, its evolution chain) directly in context +- **Bulk operations**: Enable importing all entity types, not just Pokemon \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-kghn--child-route-management-from-route-detail.md b/.beans/nuzlocke-tracker-kghn--child-route-management-from-route-detail.md new file mode 100644 index 0000000..dd0cbc5 --- /dev/null +++ b/.beans/nuzlocke-tracker-kghn--child-route-management-from-route-detail.md @@ -0,0 +1,26 @@ +--- +# nuzlocke-tracker-kghn +title: Child route management from route detail +status: todo +type: feature +priority: low +created_at: 2026-02-08T12:33:53Z +updated_at: 2026-02-08T12:33:53Z +parent: nuzlocke-tracker-iu5b +--- + +Allow adding/editing/deleting child routes (sub-areas) directly from the route detail page, instead of only from the game detail routes tab. + +## Current state +- Child routes can only be created from the game detail routes tab +- The route detail page shows encounters but doesn't show or manage its children +- To add a child route, you navigate away from the route detail back to the game + +## Desired behavior +- Route detail page shows a 'Sub-areas' section listing child routes (if any) +- Can add new child routes from this view +- Can click a child route to navigate to its encounter detail +- Can delete child routes from this view + +## Notes +- This is lower priority since child routes are typically set up once during initial data entry and rarely changed afterward. \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-ljle--route-navigation-within-game-detail.md b/.beans/nuzlocke-tracker-ljle--route-navigation-within-game-detail.md new file mode 100644 index 0000000..5a5a684 --- /dev/null +++ b/.beans/nuzlocke-tracker-ljle--route-navigation-within-game-detail.md @@ -0,0 +1,20 @@ +--- +# nuzlocke-tracker-ljle +title: Route navigation within game detail +status: todo +type: feature +created_at: 2026-02-08T12:33:26Z +updated_at: 2026-02-08T12:33:26Z +parent: nuzlocke-tracker-iu5b +--- + +Reduce navigation depth when working with route encounters. Currently requires: Games > Game > Routes tab > Click route, and there's no way to jump between sibling routes. + +## Desired behavior +- On the route detail page (AdminRouteDetail), add prev/next route navigation buttons to quickly move between routes in the same game +- Consider showing a sidebar or dropdown with all routes for quick jumping +- Breadcrumbs should be clickable to go back to the game detail + +## Notes +- The route order is already available — sort by order to determine prev/next +- This is particularly useful when populating encounter data for a new game, going route by route \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-mg46--use-pokemonselector-autocomplete-for-route-encount.md b/.beans/nuzlocke-tracker-mg46--use-pokemonselector-autocomplete-for-route-encount.md new file mode 100644 index 0000000..728a24c --- /dev/null +++ b/.beans/nuzlocke-tracker-mg46--use-pokemonselector-autocomplete-for-route-encount.md @@ -0,0 +1,23 @@ +--- +# nuzlocke-tracker-mg46 +title: Use PokemonSelector autocomplete for route encounters +status: todo +type: feature +created_at: 2026-02-08T12:33:11Z +updated_at: 2026-02-08T12:33:11Z +parent: nuzlocke-tracker-iu5b +--- + +Replace the basic