From bafa8ab908af181113b2f6fc7a2dd02e375d0f1c Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Mon, 27 Apr 2026 08:32:50 +0300 Subject: [PATCH] Show results tab even for ongoing --- .../match-page/MatchTimeline.module.css | 17 +++++++++++++- app/components/match-page/MatchTimeline.tsx | 23 ++++++++++++++++--- .../components/SendouQMatchTabs.tsx | 8 ++++++- .../components/TournamentMatchTabs.tsx | 9 ++++++++ locales/da/q.json | 1 + locales/de/q.json | 1 + locales/en/q.json | 1 + locales/es-ES/q.json | 1 + locales/es-US/q.json | 1 + locales/fr-CA/q.json | 1 + locales/fr-EU/q.json | 1 + locales/he/q.json | 1 + locales/it/q.json | 1 + locales/ja/q.json | 1 + locales/ko/q.json | 1 + locales/nl/q.json | 1 + locales/pl/q.json | 1 + locales/pt-BR/q.json | 1 + locales/ru/q.json | 1 + locales/zh/q.json | 1 + 20 files changed, 68 insertions(+), 5 deletions(-) diff --git a/app/components/match-page/MatchTimeline.module.css b/app/components/match-page/MatchTimeline.module.css index c827aeab2..1e2ab06ed 100644 --- a/app/components/match-page/MatchTimeline.module.css +++ b/app/components/match-page/MatchTimeline.module.css @@ -39,9 +39,24 @@ } .headerScore { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.headerScoreValue { font-size: var(--font-xl); font-weight: var(--weight-extra); - text-align: center; + line-height: 1; +} + +.headerScoreLive { + margin-top: var(--s-1); + font-size: var(--font-3xs); + font-weight: var(--weight-bold); + letter-spacing: 0.1em; + color: var(--color-error); } .mapEvent { diff --git a/app/components/match-page/MatchTimeline.tsx b/app/components/match-page/MatchTimeline.tsx index ba3fdab91..28c7b90bc 100644 --- a/app/components/match-page/MatchTimeline.tsx +++ b/app/components/match-page/MatchTimeline.tsx @@ -70,6 +70,8 @@ export interface MatchTimelineProps { spChanges?: TimelineSpChanges; /** When true, render only the team + score header (no per-map rows or SP section). */ compact?: boolean; + /** When true, the match is still in progress; renders a small LIVE label under the score. */ + isOngoing?: boolean; } export function MatchTimeline({ @@ -78,10 +80,16 @@ export function MatchTimeline({ maps, spChanges, compact = false, + isOngoing = false, }: MatchTimelineProps) { return (
diff --git a/app/features/tournament-match/components/TournamentMatchTabs.tsx b/app/features/tournament-match/components/TournamentMatchTabs.tsx
index abc7b57cf..467991f40 100644
--- a/app/features/tournament-match/components/TournamentMatchTabs.tsx
+++ b/app/features/tournament-match/components/TournamentMatchTabs.tsx
@@ -81,12 +81,15 @@ export function TournamentMatchTabs({
const leagueRoundLocked = isLeagueRoundLocked(tournament, data.match.roundId);
+ const hasReportedMaps = data.results.length > 0;
+
const tabs = resolveVisibleTabs({
matchIsOver: data.matchIsOver,
canReportScore,
isParticipant,
hasCurrentMap: Boolean(currentMap),
hasMissingActiveRoster,
+ hasReportedMaps,
isPickBanStep,
hasPickBanSetup,
isAdminEligible,
@@ -105,6 +108,7 @@ export function TournamentMatchTabs({
bravo: data.match.opponentTwo?.score ?? 0,
}}
maps={resolveTimelineMaps(data, opponentOneId, opponentTwoId)}
+ isOngoing={!data.matchIsOver && hasReportedMaps}
/>
) : null}
{tabs.includes("join") ?