diff --git a/.beans/nuzlocke-tracker-a7q2--handle-pokemon-evolutions.md b/.beans/nuzlocke-tracker-a7q2--handle-pokemon-evolutions.md index 1bae1e3..c0485a4 100644 --- a/.beans/nuzlocke-tracker-a7q2--handle-pokemon-evolutions.md +++ b/.beans/nuzlocke-tracker-a7q2--handle-pokemon-evolutions.md @@ -1,14 +1,19 @@ --- # nuzlocke-tracker-a7q2 title: Handle pokemon evolutions -status: todo +status: completed type: feature +priority: normal created_at: 2026-02-05T14:27:07Z -updated_at: 2026-02-05T14:27:07Z +updated_at: 2026-02-05T18:26:11Z parent: nuzlocke-tracker-f5ob --- -Add support for pokemon evolutions in the tracker. When a pokemon evolves during a Nuzlocke run, the tracker should reflect the new species while preserving the encounter history (original catch route, catch level, nickname, etc.). Needs investigation into: -- How to model evolutions (track current species vs. original species) -- Whether to pull evolution chain data from PokeAPI during seeding -- UX for marking a pokemon as evolved (from the team view or encounter edit) \ No newline at end of file +Add support for pokemon evolutions in the tracker. When a pokemon evolves during a Nuzlocke run, the tracker should reflect the new species while preserving the encounter history (original catch route, catch level, nickname, etc.). + +## Implementation + +- **Data model**: `Evolution` table with from/to pokemon, trigger, level, item, and condition fields. `Encounter.current_pokemon_id` tracks evolved species separately from original. +- **Seed data**: Evolution chains fetched from PokeAPI submodule data, with an overrides file for manual corrections. +- **API**: `GET /pokemon/{id}/evolutions` returns available evolutions. `PATCH /encounters/{id}` accepts `current_pokemon_id` to record an evolution. +- **Frontend**: "Evolve" button in StatusChangeModal shows available evolutions with trigger details. PokemonCard displays the current (evolved) species with "Originally: {name}" label. \ No newline at end of file diff --git a/.beans/nuzlocke-tracker-hy41--admin-panel.md b/.beans/nuzlocke-tracker-hy41--admin-panel.md index 8e143ed..7db71ce 100644 --- a/.beans/nuzlocke-tracker-hy41--admin-panel.md +++ b/.beans/nuzlocke-tracker-hy41--admin-panel.md @@ -1,41 +1,41 @@ --- # nuzlocke-tracker-hy41 title: Admin Panel -status: in-progress +status: completed type: task priority: normal created_at: 2026-02-04T15:47:05Z -updated_at: 2026-02-05T17:25:58Z +updated_at: 2026-02-05T18:22:09Z parent: nuzlocke-tracker-f5ob --- Build an admin interface for managing reference data. ## Checklist -- [ ] Create admin routes/pages separate from tracker -- [ ] Game Management: - - [ ] List all games - - [ ] Add new game - - [ ] Edit game details - - [ ] Delete game (with cascade warning) -- [ ] Route Management: - - [ ] List routes for a game - - [ ] Add new route - - [ ] Edit route details (name, order) - - [ ] Delete route - - [ ] Reorder routes via drag-and-drop -- [ ] Route Pokémon Assignment: - - [ ] View Pokémon available on a route - - [ ] Add Pokémon to route - - [ ] Remove Pokémon from route - - [ ] Set encounter rates/methods -- [ ] Pokémon Management: - - [ ] List all Pokémon - - [ ] Add new Pokémon - - [ ] Edit Pokémon details - - [ ] Bulk import from CSV/JSON -- [ ] Admin API endpoints: - - [ ] POST/PUT/DELETE for games, routes, pokemon, route_pokemon +- [x] Create admin routes/pages separate from tracker +- [x] Game Management: + - [x] List all games + - [x] Add new game + - [x] Edit game details + - [x] Delete game (with cascade warning) +- [x] Route Management: + - [x] List routes for a game + - [x] Add new route + - [x] Edit route details (name, order) + - [x] Delete route + - [x] Reorder routes via drag-and-drop (implemented as up/down buttons) +- [x] Route Pokémon Assignment: + - [x] View Pokémon available on a route + - [x] Add Pokémon to route + - [x] Remove Pokémon from route + - [x] Set encounter rates/methods +- [x] Pokémon Management: + - [x] List all Pokémon + - [x] Add new Pokémon + - [x] Edit Pokémon details + - [x] Bulk import from CSV/JSON +- [x] Admin API endpoints: + - [x] POST/PUT/DELETE for games, routes, pokemon, route_pokemon ## Notes - Can be a simple CRUD interface