adhit-r / adhit-r/holocron

Battle ships interactive — clickable from BattleMarker tooltip

未關閉
#7 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area: data area: ux enhancement
主要語言
TypeScript
星號
0
分支
1
PR 合併指標
30 天內沒有已合併 PR

描述

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

貢獻指南

開啟貢獻指南

研究方向

Start by reading components/timeline/BattleMarker.tsx and components/explorer/Datapad.tsx, then run the app and inspect the existing relations-row chip styling and battle selection flow. Use Battle of Yavin to verify resolved ships cross-pivot correctly, unmatched ships show the specified tooltip, and the chip row scrolls horizontally below md.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
nextjs, react, tailwindcss, typescript
領域
data-visualization, frontend
Issue 類型
功能
難度
3/5
預估耗時
半天
活躍度
冷清
描述清晰度
描述清楚
新手友好度
74/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。