Files
nuzlocke-tracker/.beans/nuzlocke-tracker-lsdy--genlocke-cumulative-graveyard.md
Julian Tabel 3bd4250305 Add genlocke cumulative graveyard with backend endpoint and UI
Aggregates all fainted encounters across every leg of a genlocke into a
unified graveyard view. Backend serves GET /genlockes/{id}/graveyard with
per-entry leg/game context and summary stats (total deaths, deaths per
leg, deadliest leg). Frontend adds a toggle button on the genlocke detail
page that reveals a filterable/sortable grid of grayscale Pokemon cards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:00:37 +01:00

41 lines
1.9 KiB
Markdown

---
# nuzlocke-tracker-lsdy
title: Genlocke cumulative graveyard
status: in-progress
type: feature
priority: normal
created_at: 2026-02-09T07:42:46Z
updated_at: 2026-02-09T09:58:56Z
parent: nuzlocke-tracker-25mh
---
Display all deaths across all legs of a genlocke in a single unified graveyard view.
## Display
- Accessible from the genlocke overview page
- Shows all fainted Pokemon from every leg in one list
- Each entry shows:
- Pokemon sprite, nickname, species
- Which leg/game it died in
- Death cause (if recorded)
- Level at death
- Whether it was a transferred Pokemon (part of a lineage) or caught fresh in that leg
- Sortable/filterable by leg, species, level, etc.
- Summary stats: total deaths, deaths per leg, deadliest leg
## Backend
- `GET /api/v1/genlockes/{id}/graveyard` — Return all fainted encounters across all legs of the genlocke
- Aggregates encounters with status "fainted" from all runs belonging to the genlocke's legs
## Frontend
- Could be a tab on the genlocke overview page or a separate sub-page (`/genlockes/:id/graveyard`)
- Reuse existing graveyard/encounter display components where possible
## Checklist
- [x] Implement `GET /api/v1/genlockes/{id}/graveyard` — query all encounters with status "fainted" across all runs linked to the genlocke's legs, include leg/game context per entry
- [x] Add summary stats to the response: total deaths, deaths per leg, deadliest leg
- [ ] Indicate whether each dead Pokemon was a transferred Pokemon or caught fresh (join with GenlockeTransfer) — deferred until GenlockeTransfer model exists (nuzlocke-tracker-lsc2)
- [x] Build the cumulative graveyard component: list of dead Pokemon with sprite, nickname, species, leg/game, death cause, level
- [x] Add sorting (by leg, level, species) and filtering (by leg/game)
- [x] Integrate as a tab on the genlocke overview page or as a sub-route
- [x] Reuse existing graveyard display components where applicable