diff --git a/frontend/src/components/Leaderboard.tsx b/frontend/src/components/Leaderboard.tsx index a7c263a..7e513b1 100644 --- a/frontend/src/components/Leaderboard.tsx +++ b/frontend/src/components/Leaderboard.tsx @@ -6,11 +6,17 @@ function pct(v: number | null | undefined): string { return v == null ? "—" : `${Math.round(v * 100)}%`; } -function Row({ entry, provisional }: { entry: LeaderboardEntry; provisional?: boolean }) { - return ( - // Вся строка — ссылка на профиль (на главной карточка-обёртка ведёт в общую - // статистику, а клик по строке игрока — в его профиль). - +function Row({ + entry, + provisional, + profileLinks, +}: { + entry: LeaderboardEntry; + provisional?: boolean; + profileLinks: boolean; +}) { + const content = ( + <>
{entry.rank ?? "—"}
@@ -24,6 +30,14 @@ function Row({ entry, provisional }: { entry: LeaderboardEntry; provisional?: bo
{entry.score ?? "—"}
+ + ); + // Строка-ссылка на профиль — только там, где сама карточка никуда не ведёт + // (на главной карточка топа целиком открывает общую статистику). + if (!profileLinks) return
{content}
; + return ( + + {content} ); } @@ -32,10 +46,12 @@ export function Leaderboard({ entries, provisional, inactive, + profileLinks = true, }: { entries: LeaderboardEntry[]; provisional?: LeaderboardEntry[]; inactive?: LeaderboardEntry[]; + profileLinks?: boolean; }) { const empty = entries.length === 0 && !provisional?.length && !inactive?.length; @@ -45,7 +61,7 @@ export function Leaderboard({ return (
{entries.map((e) => ( - + ))} {provisional && provisional.length > 0 && ( <> @@ -53,7 +69,7 @@ export function Leaderboard({ Новички (мало игр)
{provisional.map((e) => ( - + ))} )} @@ -63,7 +79,7 @@ export function Leaderboard({ Ещё не играли {inactive.map((e) => ( - + ))} )} diff --git a/frontend/src/pages/HomePage.tsx b/frontend/src/pages/HomePage.tsx index 89aad8a..016ed05 100644 --- a/frontend/src/pages/HomePage.tsx +++ b/frontend/src/pages/HomePage.tsx @@ -15,15 +15,15 @@ export function HomePage() { return (
- {/* Карточка кликабельна целиком → общая статистика; клик по нику внутри - ведёт в профиль (Leaderboard останавливает всплытие на ссылках ников). */} + {/* Карточка кликабельна целиком → общая статистика; ники внутри — просто + текст, ссылки на профили есть в самой общей статистике. */}
navigate("/stats")}>

Топ игроков

Вся статистика →
- +