Implement status change workflow (alive → dead) with confirmation modal, death cause recording, and visual status indicators on pokemon cards. Includes backend migration for death_cause field and graveyard view on the run dashboard. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
---
|
|
# nuzlocke-tracker-hm6t
|
|
title: Pokemon Status Management
|
|
status: completed
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-02-04T15:44:37Z
|
|
updated_at: 2026-02-05T16:47:18Z
|
|
parent: nuzlocke-tracker-f5ob
|
|
---
|
|
|
|
Implement the system for tracking Pokémon status (alive, dead, boxed).
|
|
|
|
## Checklist
|
|
- [x] Create Pokémon card/tile component showing:
|
|
- [x] Sprite, name, nickname
|
|
- [x] Current status with visual indicator (green/red dot)
|
|
- [x] Location caught
|
|
- [x] Implement status transitions:
|
|
- [x] Alive → Dead (fainted in battle) via StatusChangeModal with confirmation
|
|
- [ ] Alive → Boxed (stored in PC) — deferred, no boxed tracking yet
|
|
- [ ] Boxed → Alive (added to party) — deferred, no boxed tracking yet
|
|
- [x] Add death recording:
|
|
- [x] Optional: record cause of death (free text, max 100 chars)
|
|
- [x] Optional: record level at death
|
|
- [x] Create "Graveyard" view for fallen Pokémon (on RunDashboard)
|
|
- [ ] Create "Box" view for stored Pokémon — deferred, no boxed tracking yet
|
|
|
|
## Implementation (death_cause feature)
|
|
- Backend: Alembic migration adds `death_cause` VARCHAR(100) to encounters
|
|
- Backend: Model + schemas updated with `death_cause` field
|
|
- Frontend: `StatusChangeModal` for recording death with confirmation from RunDashboard
|
|
- Frontend: `PokemonCard` now clickable with status indicator dot and death cause display
|
|
- Frontend: `EncounterModal` includes death cause input alongside faint level
|
|
- Frontend: `RunEncounters` shows death cause in route list
|
|
|
|
## Notes
|
|
- Status changes should be confirmable (prevent accidental deaths) ✓
|
|
- Consider undo functionality for misclicks — not implemented (Nuzlocke rules: death is permanent) |