diff --git a/apps/web/e2e/mocks/tournament.ts b/apps/web/e2e/mocks/tournament.ts
index 9285ef7b..efb952d1 100644
--- a/apps/web/e2e/mocks/tournament.ts
+++ b/apps/web/e2e/mocks/tournament.ts
@@ -19,8 +19,8 @@ export const MOCK_TOURNAMENT_LIST: GetTournamentListResponseT = [
name: 'E2E 토너먼트',
status: 'PENDING',
createdAt: '2026-01-01T00:00:00Z',
- /** 가짜 URL — fixture 가 가로채 로컬 이미지로 응답한다 (e2e/mocks/images.ts) */
- participantProfileImages: [MOCK_IMAGE_URLS.avatar],
+ participantCount: 1,
+ playedCount: 0,
thumbnailUrls: [],
},
];
diff --git a/apps/web/src/app/archive/tournament/_components/TournamentHistoryList.tsx b/apps/web/src/app/archive/tournament/_components/TournamentHistoryList.tsx
index 80454429..d9b7073d 100644
--- a/apps/web/src/app/archive/tournament/_components/TournamentHistoryList.tsx
+++ b/apps/web/src/app/archive/tournament/_components/TournamentHistoryList.tsx
@@ -36,8 +36,8 @@ function TournamentHistoryList({ statuses, playType, statusTab }: Props) {
tournamentId={tournament.tournamentId}
status={tournament.status}
name={tournament.name}
- profileImageUrls={tournament.participantProfileImages}
- participantCount={tournament.participantProfileImages.length}
+ participantCount={tournament.participantCount}
+ playedCount={tournament.playedCount}
scrollRestoration={{ namespace: SCROLL_NAMESPACE.ARCHIVE_TOURNAMENT, scope: statusTab }}
/>
))}
diff --git a/apps/web/src/app/home/_components/tournament-list/client.tsx b/apps/web/src/app/home/_components/tournament-list/client.tsx
index 6bd50a2d..29b211a0 100644
--- a/apps/web/src/app/home/_components/tournament-list/client.tsx
+++ b/apps/web/src/app/home/_components/tournament-list/client.tsx
@@ -32,8 +32,8 @@ function TournamentListClient({ isGuest = false }: TournamentListClientProps) {
tournamentId={tournament.tournamentId}
status={tournament.status}
name={tournament.name}
- profileImageUrls={tournament.participantProfileImages}
- participantCount={tournament.participantProfileImages.length}
+ participantCount={tournament.participantCount}
+ playedCount={tournament.playedCount}
showMorePopover={false}
/>
))}
diff --git a/apps/web/src/components/tournament-card/index.tsx b/apps/web/src/components/tournament-card/index.tsx
index 983440de..0f7121aa 100644
--- a/apps/web/src/components/tournament-card/index.tsx
+++ b/apps/web/src/components/tournament-card/index.tsx
@@ -1,8 +1,8 @@
import Link from 'next/link';
import type { MouseEvent } from 'react';
+import { PersonIconFill } from '@/assets/icons';
import StatusChip from '@/components/status-chip';
-import UserProfileGroup from '@/components/user-profile-group';
import { ROUTES } from '@/consts/route';
import type { TournamentStatusT } from '@/types/tournament';
import { cn } from '@/utils/cn';
@@ -16,12 +16,12 @@ type TournamentCardProps = {
tournamentId: number;
status: TournamentStatusT;
name: string;
- profileImageUrls: string[];
/** 토너먼트 아이템 썸네일. 최대 2개. */
imageUrls: string[];
- maxProfiles?: number;
- /** 본인 포함 참여자 수. 2명 이상이면 더보기에 '친구 목록 보기' 메뉴 노출. */
- participantCount?: number;
+ /** 본인 포함 함께 담은 참여자 수. 2명 이상이면 더보기에 '친구 목록 보기' 메뉴 노출. */
+ participantCount: number;
+ /** 실제로 플레이한 인원 수 */
+ playedCount: number;
className?: string;
showMorePopover?: boolean;
scrollRestoration?: ScrollRestorationTargetT;
@@ -31,10 +31,9 @@ function TournamentCard({
tournamentId,
status,
name,
- profileImageUrls,
imageUrls = [],
- maxProfiles = 3,
participantCount,
+ playedCount,
className,
showMorePopover = true,
scrollRestoration,
@@ -76,7 +75,7 @@ function TournamentCard({