--- # nuzlocke-tracker-xa5k title: Add egg encounter logging status: completed type: feature priority: normal created_at: 2026-02-08T14:49:50Z updated_at: 2026-02-08T21:26:24Z --- Allow players to log egg hatches at any location, similar to how shiny encounters work. A "Log Egg" button (next to "Log Shiny") opens a modal that shows all locations — including those without wild encounters — so the player can record where an egg hatched. Egg encounters should: - Bypass route-locking (same pattern as shiny clause / shed evolution) - Be available at all locations, including those that have no wild encounter data - Use a dedicated modal similar to ShinyEncounterModal - Otherwise behave like normal caught encounters (appear in team, can evolve, can die, etc.) ## Checklist - [ ] Data: Seed locations without wild encounters into the routes table via PokeAPI (so they appear in the route list) - [x] Backend: Bypass route-lock for egg encounters (extend `skip_route_lock` with an egg origin) - [x] Frontend: Add "Log Egg" button to the run encounters page header (next to "Log Shiny") - [x] Frontend: Create `EggEncounterModal` — similar to `ShinyEncounterModal` but shows all routes (including encounter-less ones) and uses `origin: "egg"` - [x] Frontend: Ensure egg encounters display normally in team view and route list