style: stadium scoreboard kickoff display in card header
Build & Deploy Tippspiel / build (push) Successful in 49s
Build & Deploy Tippspiel / build (push) Successful in 49s
Kickoff time styled as LED scoreboard: monospace font, dark background, gold text with glow effect. Placed in card header next to group badge. Cards are more compact without the separate kickoff row. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,17 +77,18 @@
|
||||
border: 1px solid rgba(75,183,248,0.15);
|
||||
}
|
||||
|
||||
/* Kickoff time — centered above flags */
|
||||
.kickoffRow {
|
||||
text-align: center;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.kickoffTime {
|
||||
font-size: 13px;
|
||||
/* Kickoff — stadium scoreboard display */
|
||||
.kickoffDisplay {
|
||||
font-family: 'Courier New', 'Lucida Console', monospace;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--gold);
|
||||
letter-spacing: 0.12em;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
padding: 3px 10px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(254, 174, 50, 0.15);
|
||||
text-shadow: 0 0 8px rgba(254, 174, 50, 0.5);
|
||||
}
|
||||
|
||||
.topRowSpacer {
|
||||
|
||||
@@ -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: Group + Kickoff (stadium display) + Countdown */}
|
||||
<div className={styles.topRow}>
|
||||
{(isLive || isFinished) && (
|
||||
<span className={`${styles.status} ${isLive ? styles.statusLive : ''}`}>
|
||||
@@ -97,6 +97,9 @@ export default function MatchCard({ match, onTip }: Props) {
|
||||
{match.group.replace('GROUP_', 'Gruppe ')}
|
||||
</span>
|
||||
)}
|
||||
{!isFinished && !isLive && (
|
||||
<span className={styles.kickoffDisplay}>{formatKickoff(match.utcDate)}</span>
|
||||
)}
|
||||
<span className={styles.topRowSpacer} />
|
||||
{(state === 'open' || state === 'tipped') && match.tippable && (
|
||||
<span className={`${styles.badge} ${remainingMins < 60 ? styles.badgeUrgent : ''} ${remainingMins < 5 ? styles.countdownUrgent : ''}`}>
|
||||
@@ -113,13 +116,6 @@ export default function MatchCard({ match, onTip }: Props) {
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Kickoff time — centered above flags */}
|
||||
{!isFinished && !isLive && (
|
||||
<div className={styles.kickoffRow}>
|
||||
<span className={styles.kickoffTime}>{formatKickoff(match.utcDate)}</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Teams + Score */}
|
||||
<div className={styles.matchRow}>
|
||||
{/* Home */}
|
||||
|
||||
Reference in New Issue
Block a user