Add bulk import for evolutions, routes, and bosses
Add three new bulk import endpoints that accept the same JSON format as
their corresponding export endpoints, enabling round-trip compatibility:
- POST /evolutions/bulk-import (upsert by from/to pokemon pair)
- POST /games/{id}/routes/bulk-import (reuses seed loader for hierarchy)
- POST /games/{id}/bosses/bulk-import (reuses seed loader with team data)
Generalize BulkImportModal to support all entity types with configurable
title, example, and result labels. Wire up Bulk Import buttons on
AdminEvolutions, and AdminGameDetail routes/bosses tabs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
---
|
||||
# nuzlocke-tracker-5o1v
|
||||
title: Improve encounter method input in route encounter form
|
||||
status: todo
|
||||
type: feature
|
||||
created_at: 2026-02-08T19:06:10Z
|
||||
updated_at: 2026-02-08T19:06:10Z
|
||||
parent: nuzlocke-tracker-iu5b
|
||||
---
|
||||
|
||||
Replace the free-text encounter method input in the route encounter form (RouteEncounterFormModal) with a smarter selector that leverages the known encounter methods already defined in the codebase.
|
||||
|
||||
## Current behavior
|
||||
- The encounter method field in RouteEncounterFormModal is a plain `<input type="text">` with a placeholder "e.g. Walking, Surfing, Fishing"
|
||||
- Easy to introduce typos or inconsistent naming (e.g. "walking" vs "walk" vs "Grass")
|
||||
- The app already has a well-defined set of encounter methods in `EncounterMethodBadge.tsx` with METHOD_CONFIG and METHOD_ORDER (starter, gift, fossil, trade, walk, headbutt, surf, rock-smash, old-rod, good-rod, super-rod)
|
||||
- The backend stores this as a `String(30)` column, so it's not strictly enum-constrained
|
||||
|
||||
## Desired behavior
|
||||
- Replace the free-text input with a dropdown/select that lists the known encounter methods from METHOD_ORDER, using the human-readable labels from getMethodLabel()
|
||||
- Include an "Other" option that reveals a text input for custom methods not in the predefined list
|
||||
- When editing an existing encounter, pre-select the correct method
|
||||
- Consider showing the colored badge preview next to each option for visual consistency with how methods appear elsewhere in the app
|
||||
|
||||
## Files
|
||||
- `frontend/src/components/admin/RouteEncounterFormModal.tsx` — replace the text input with new selector
|
||||
- `frontend/src/components/EncounterMethodBadge.tsx` — export METHOD_CONFIG or add a helper to get the list of known methods
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-ok1t
|
||||
title: Bulk import for evolutions, routes, and bosses
|
||||
status: todo
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-02-08T12:33:39Z
|
||||
updated_at: 2026-02-08T12:33:39Z
|
||||
updated_at: 2026-02-08T19:13:27Z
|
||||
parent: nuzlocke-tracker-iu5b
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user