diff --git a/frontend/src/components/Arena.tsx b/frontend/src/components/Arena.tsx index 85f81c4..8186b40 100644 --- a/frontend/src/components/Arena.tsx +++ b/frontend/src/components/Arena.tsx @@ -261,13 +261,20 @@ export default function Arena({
{predictions.map((p) => { - const hit = p.outcome === match.result!.outcome; + const r = match.result!; + const exact = p.scoreA === r.scoreA && p.scoreB === r.scoreB; + const outcomeHit = p.outcome === r.outcome; + // 3단계: 정확(스코어까지) / 적중(승패만) / 빗나감 + const label = exact ? t.exactHit : outcomeHit ? t.hit : t.miss; + const cls = exact + ? "rounded bg-[var(--green)]/15 px-1.5 py-0.5 font-extrabold text-[var(--green)]" + : outcomeHit + ? "font-bold text-[var(--green)]" + : "text-white/45"; return (
{p.model} - - {hit ? t.hit : t.miss} - + {label}
); })} diff --git a/frontend/src/lib/i18n.ts b/frontend/src/lib/i18n.ts index ca35972..0ccd1de 100644 --- a/frontend/src/lib/i18n.ts +++ b/frontend/src/lib/i18n.ts @@ -85,6 +85,7 @@ type Dict = { rulesCloseBtn: string; crowdSub: string; finalResult: string; + exactHit: string; hit: string; miss: string; matchEnded: string; @@ -154,6 +155,7 @@ export const DICT: Record = { rulesCloseBtn: "확인", crowdSub: "| 참여자들의 선택", finalResult: "최종 결과", + exactHit: "정확 ✓", hit: "적중 ✓", miss: "빗나감", matchEnded: "경기 종료 · 최종 결과", @@ -222,6 +224,7 @@ export const DICT: Record = { rulesCloseBtn: "Got it", crowdSub: "| What the crowd picked", finalResult: "Final result", + exactHit: "Exact ✓", hit: "Hit ✓", miss: "Miss", matchEnded: "Match ended · Final",