style: countdown badge left-aligned, separate from header

Countdown badge now in its own row, left-aligned to match
the left edge of the flags. Removed from header top row.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ronny
2026-04-11 23:16:17 +02:00
parent 9cd55f8e28
commit 92f847c075
2 changed files with 23 additions and 20 deletions
+14 -11
View File
@@ -84,7 +84,7 @@ export default function MatchCard({ match, onTip }: Props) {
return (
<div className={`card ${styles.card} ${styles[`card_${state}`]} ${isLive ? styles.live : ''} ${glowClass}`}>
{/* Top row: Group + Countdown */}
{/* Top row: Status/Group */}
<div className={styles.topRow}>
{(isLive || isFinished) && (
<span className={`${styles.status} ${isLive ? styles.statusLive : ''}`}>
@@ -97,9 +97,19 @@ export default function MatchCard({ match, onTip }: Props) {
{match.group.replace('GROUP_', 'Gruppe ')}
</span>
)}
<span className={styles.topRowSpacer} />
{(state === 'open' || state === 'tipped') && match.tippable && (
<span className={`${styles.badge} ${remainingMins < 60 ? styles.badgeUrgent : ''} ${remainingMins < 5 ? styles.countdownUrgent : ''}`}>
</div>
{/* Kickoff — stadium LED display, centered */}
{!isFinished && !isLive && (
<div className={styles.kickoffRow}>
<span className={styles.kickoffLED}>{formatKickoff(match.utcDate)}</span>
</div>
)}
{/* Countdown badge — left-aligned */}
{(state === 'open' || state === 'tipped') && match.tippable && (
<div className={styles.countdownRow}>
<span className={`${styles.countdownBadge} ${remainingMins < 60 ? styles.countdownUrgent : ''}`}>
{match.minutesUntilKickoff < 60
? `Noch ${remainingMins} Min!`
: (() => {
@@ -110,13 +120,6 @@ export default function MatchCard({ match, onTip }: Props) {
})()
}
</span>
)}
</div>
{/* Kickoff — stadium LED display, centered */}
{!isFinished && !isLive && (
<div className={styles.kickoffRow}>
<span className={styles.kickoffLED}>{formatKickoff(match.utcDate)}</span>
</div>
)}