Skip to content

Commit a9df08f

Browse files
adn8naiagentclaude
andcommitted
Improve session picker mobile and desktop layout
- Stack event name and date/pill on separate lines on mobile - Centre cards and year tabs on larger screens with max-w-3xl - Reduce padding and gaps on mobile for tighter layout Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 59d970f commit a9df08f

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

frontend/src/components/SessionPicker.tsx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -194,19 +194,25 @@ export default function SessionPicker() {
194194
>
195195
{/* Compact header row */}
196196
<div
197-
className="px-4 py-3 flex items-center gap-4"
197+
className="px-3 sm:px-4 py-3 flex items-center gap-2 sm:gap-4 cursor-pointer"
198198
onClick={() => { if (isSelected) { setSelectedKey(null); } else { setSelectedKey(selectionKey); setSelectedEvent(evt); } }}
199199
>
200200
<span className="text-xs font-bold text-f1-muted w-8 flex-shrink-0">R{evt.round_number}</span>
201-
<span className="text-white font-bold flex-1 min-w-0 truncate">
202-
{COUNTRY_FLAGS[evt.country] && <span className="mr-1.5">{COUNTRY_FLAGS[evt.country]}</span>}
203-
{evt.event_name}
204-
</span>
201+
<div className="flex-1 min-w-0">
202+
<span className="text-white font-bold text-sm">
203+
{COUNTRY_FLAGS[evt.country] && <span className="mr-1.5">{COUNTRY_FLAGS[evt.country]}</span>}
204+
{evt.event_name}
205+
</span>
206+
<div className="sm:hidden flex items-center justify-between mt-0.5">
207+
<span className="text-xs text-f1-muted">{evt.event_date}</span>
208+
<StatusPill status={isLatest ? "latest" : displayEvt.status === "latest" ? "available" : displayEvt.status} />
209+
</div>
210+
</div>
205211
<span className="text-xs text-f1-muted hidden sm:block flex-shrink-0 w-44 text-right truncate">
206212
{evt.location}, {evt.country}
207213
</span>
208-
<span className="text-xs text-f1-muted flex-shrink-0 w-20 text-right">{evt.event_date}</span>
209-
<span className="flex-shrink-0 w-20 flex justify-end">
214+
<span className="text-xs text-f1-muted hidden sm:block flex-shrink-0 w-20 text-right">{evt.event_date}</span>
215+
<span className="hidden sm:flex flex-shrink-0 w-20 justify-end">
210216
<StatusPill status={isLatest ? "latest" : displayEvt.status === "latest" ? "available" : displayEvt.status} />
211217
</span>
212218
<svg
@@ -359,7 +365,7 @@ export default function SessionPicker() {
359365

360366
<div className="max-w-7xl mx-auto px-6 py-8">
361367
{/* Season selector */}
362-
<div className="flex gap-2 mb-8 flex-wrap">
368+
<div className="flex gap-2 mb-8 flex-wrap max-w-3xl mx-auto">
363369
{seasons.map((s) => (
364370
<button
365371
key={s}
@@ -417,7 +423,7 @@ export default function SessionPicker() {
417423

418424
{/* Latest round at top */}
419425
{latestEvent && (
420-
<div className="mb-6">
426+
<div className="mb-6 max-w-3xl mx-auto">
421427
<h2 className="text-sm font-bold text-f1-muted uppercase tracking-wider mb-3">
422428
Most Recent Round
423429
</h2>
@@ -426,10 +432,10 @@ export default function SessionPicker() {
426432
)}
427433

428434
{/* Season list */}
429-
<h2 className="text-sm font-bold text-f1-muted uppercase tracking-wider mb-4">
435+
<h2 className="text-sm font-bold text-f1-muted uppercase tracking-wider mb-4 max-w-3xl mx-auto">
430436
{year} Season
431437
</h2>
432-
<div className="flex flex-col gap-2">
438+
<div className="flex flex-col gap-2 max-w-3xl mx-auto">
433439
{displayEvents.map((evt) => (
434440
<EventRow key={evt.round_number} evt={evt} />
435441
))}

0 commit comments

Comments
 (0)