내 지난 예측을 투표 후에만 표시
parent
b4fc96f299
commit
39c2003080
|
|
@ -75,25 +75,6 @@ export default function Arena({
|
|||
);
|
||||
}, [scoreA, scoreB]);
|
||||
|
||||
// 재방문 시: 가장 최근 사용 이메일로 내 지난 예측 자동 로드 (로그인 대체).
|
||||
// 이메일 칸은 비워둠 — develop UX(포커스 시 datalist 자동완성)를 유지.
|
||||
useEffect(() => {
|
||||
const last = getRecentEmails()[0];
|
||||
if (last) fetchMyPredictions(last).then(setMyPreds).catch(() => {});
|
||||
}, []);
|
||||
|
||||
// 이 경기에 대한 내 기존 픽 (있으면 스코어 프리필 + 목록에서 강조)
|
||||
const myThisMatch = useMemo(
|
||||
() => myPreds.find((p) => p.matchId === match.matchId),
|
||||
[myPreds, match.matchId],
|
||||
);
|
||||
useEffect(() => {
|
||||
if (myThisMatch) {
|
||||
setScoreA(myThisMatch.scoreA);
|
||||
setScoreB(myThisMatch.scoreB);
|
||||
}
|
||||
}, [myThisMatch]);
|
||||
|
||||
// 투표 가능 여부는 백엔드 계산(votingOpen, demo 반영) + phase 라벨.
|
||||
const finished = !!match.result;
|
||||
const disabled = finished || !match.votingOpen;
|
||||
|
|
@ -341,13 +322,7 @@ export default function Arena({
|
|||
list="tp-email-suggestions"
|
||||
autoComplete="email"
|
||||
value={email}
|
||||
onChange={(e) => {
|
||||
const v = e.target.value;
|
||||
setEmail(v);
|
||||
// 유효 이메일이면 그 즉시 내 지난 예측 조회(다른 기기/세션 흔적까지 표시)
|
||||
if (EMAIL_RE.test(v.trim()))
|
||||
fetchMyPredictions(v.trim()).then(setMyPreds).catch(() => {});
|
||||
}}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
placeholder={t.emailPh}
|
||||
className="w-full rounded-2xl border border-[var(--share)] bg-[#0f1217] px-4 py-3 text-[16px] text-white shadow-[0_0_0_2px_rgba(166,94,255,0.12)] outline-none focus:shadow-[0_0_0_2px_rgba(166,94,255,0.3)]"
|
||||
/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue