Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,14 @@ function ResultClient({ tournamentId, isGuest = false, isApp = false }: ResultCl
const result = tournamentData.completed.result;
// 플레이 링크 공유는 ROOT 의 소유자만 가능 — CLONE 소유자(친구 초대 → CLONE 생성한 사람) 제외
const canSharePlayLink = tournamentData.isRoot && tournamentData.isOwner;
// 그룹 결과는 원본(ROOT) 단위로 집계된다. CLONE 에서 보고 있으면 원본 id 로 조회해야 한다.
const groupResultTournamentId = tournamentData.sourceTournamentId ?? tournamentId;

const handleSharePlayLink = () => {
setIsShareDialogOpen(true);
};

// 비회원 솔로(isRoot=false): 배너가 스크롤 마지막 — 버튼과 13px 간격
// 나머지: pb-40 (160px) → GroupResultEntryCard 또는 ReceiptDrawMachine과 BottomCta 버튼 사이 ~28px
/** 비회원 솔로는 배너가 스크롤 마지막이라 하단 여백을 줄인다 */
const mainPb = isGuest && !tournamentData.isRoot ? 'pb-[145px]' : 'pb-40';

return (
Expand All @@ -88,33 +89,24 @@ function ResultClient({ tournamentId, isGuest = false, isApp = false }: ResultCl
date={date}
/>

{/*
비회원 유도 배너 — 게스트일 때만 노출.
영수증과 61px 간격: gap-3(12px) + mt-[49px](49px) = 61px.
*/}
{isGuest && (
<div className="mx-5 mt-[49px]">
<ResultGuestBanner />
</div>
)}

{/*
친구 토너먼트 결과보기 카드 노출 + 라우팅.
- ROOT 사용자(주최자 / 친구 초대 멤버) 에게만 노출.
- CLONE 사용자(플레이 링크 게스트)는 숨긴다.
- 친구 유무는 클릭 시 group-result API 응답으로 판단한다 (캐시 의존 X).
- 앱 화면이 낮게 크롭될 때도 CTA 는 항상 고정돼야 해서 스크롤 영역에 둔다.
전체 결과 보기 — 주최자·참여자·게스트 모두에게 노출한다.
hasGroupResult 가 false 면(완료한 CLONE 없음) 눌러도 서버가 409 를 주므로 숨긴다.
*/}
{tournamentData.isRoot && (!isGuest || tournamentData.completed.hasGroupResult) && (
{tournamentData.completed.hasGroupResult && (
<div className="mx-5">
<GroupResultEntryCard tournamentId={tournamentId} />
<GroupResultEntryCard tournamentId={groupResultTournamentId} />
</div>
)}
</div>

{/* 하단 CTA — 저장/공유 버튼 → 홈으로 가기 순 위계, 항상 화면 하단 고정 */}
<BottomCta hasGradient className="flex-col items-stretch gap-6.5 pb-[30px]">
{/* 영수증 공유 (모든 사용자) + 토너먼트 공유 (ROOT 소유자만, 플레이 링크 공유) */}
<div className="flex gap-3">
<Button
variant="secondary"
Expand Down
Loading