---
# 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