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>
1.6 KiB
1.6 KiB
title, status, type, priority, created_at, updated_at, parent
| title | status | type | priority | created_at | updated_at | parent |
|---|---|---|---|---|---|---|
| Pokemon Status Management | completed | task | normal | 2026-02-04T15:44:37Z | 2026-02-05T16:47:18Z | nuzlocke-tracker-f5ob |
Implement the system for tracking Pokémon status (alive, dead, boxed).
Checklist
- Create Pokémon card/tile component showing:
- Sprite, name, nickname
- Current status with visual indicator (green/red dot)
- Location caught
- Implement status transitions:
- 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
- Add death recording:
- Optional: record cause of death (free text, max 100 chars)
- Optional: record level at death
- 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_causeVARCHAR(100) to encounters - Backend: Model + schemas updated with
death_causefield - Frontend:
StatusChangeModalfor recording death with confirmation from RunDashboard - Frontend:
PokemonCardnow clickable with status indicator dot and death cause display - Frontend:
EncounterModalincludes death cause input alongside faint level - Frontend:
RunEncountersshows 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)