Battle ships interactive — clickable from BattleMarker tooltip
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
> **Skills:** TypeScript · React · data resolution patterns · responsive UX
> **Time:** ~4 hours
> **Good for:** UX-minded engineers · lore matchers · battle-trivia people
> **Difficulty:** Intermediate
---
## Context
Each `Battle` in `data/build/wars.json` includes `shipsInvolved: string[]` — a
list of canonical ship class names that fought there. The BattleMarker
currently doesn't expose them.
## Goal
When a battle is selected, surface its ships as clickable chips that
cross-pivot to the matching ship entity (or display an info tooltip if the
ship class isn't in our kb).
## Where to start
- `components/timeline/BattleMarker.tsx` — currently the marker has a small
HTML label; expand into a tooltip on hover or click
- `components/explorer/Datapad.tsx` — when a battle entity is selected, render
the ships array as a row of chips
- Match the chip style to the existing relations rows
- Resolve each ship name against `kb.json` by name (case-insensitive). Capture
unmatched names so we can identify schema gaps.
## Acceptance criteria
- Battle of Yavin: ships chip-row shows Death Star, X-wing, Y-wing, TIE
Fighter, Imperial Star Destroyer
- Click a chip whose ship is in kb → cross-pivot to that ship
- Click a chip whose ship is NOT in kb → tooltip "Ship not in archive yet"
- Mobile-friendly: chip row scrolls horizontally below md
Contributor guide
Assessment
This issue has not been assessed yet.