Files
nuzlocke-tracker/.beans/nuzlocke-tracker-b9oj--implement-dupes-clause-shiny-clause-enforcement.md
Julian Tabel ad1eb0524c Enforce Dupes Clause and Shiny Clause rules
Dupes Clause greys out Pokemon in the encounter modal whose evolution
family has already been caught, preventing duplicate selections. Shiny
Clause adds a dedicated Shiny Box and lets shiny catches bypass the
one-per-route lock via a new is_shiny column on encounters and a
/pokemon/families endpoint that computes evolution family groups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 21:08:25 +01:00

992 B

title, status, type, priority, created_at, updated_at
title status type priority created_at updated_at
Implement Dupes Clause & Shiny Clause Enforcement completed feature normal 2026-02-07T20:03:12Z 2026-02-07T20:07:50Z

Add enforcement for duplicatesClause and shinyClause rules:

  • Dupes Clause: Grey out Pokemon in encounter modal whose evolution family is already caught
  • Shiny Clause: Dedicated Shiny Box for bonus shiny catches that bypass route locks

Checklist

  • Migration: Add is_shiny column to encounters table
  • Backend model + schema: Add is_shiny field
  • Backend: Shiny route-lock bypass in create_encounter
  • Backend: Evolution families endpoint (GET /pokemon/families)
  • Frontend types + API: Add isShiny fields and fetchPokemonFamilies
  • Frontend: Dupes Clause greying in EncounterModal
  • Frontend: ShinyEncounterModal + ShinyBox components
  • Frontend: RunEncounters orchestration (split encounters, duped IDs, shiny box)
  • TypeScript type check passes