From 3f3ad26120443c729a198bb2636b13fa4359cd27 Mon Sep 17 00:00:00 2001
From: snackman
Date: Tue, 5 May 2026 23:31:52 -0400
Subject: [PATCH 04/15] ui: hide date on mobile list cards (shown in sticky
header)
Co-Authored-By: Claude Opus 4.6
---
src/components/EventCard.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/EventCard.tsx b/src/components/EventCard.tsx
index f6b7357a..62a9c2b8 100644
--- a/src/components/EventCard.tsx
+++ b/src/components/EventCard.tsx
@@ -362,7 +362,7 @@ export const EventCard = memo(function EventCard({
}`} title={liveUrgency === 'red' ? 'Ending soon' : liveUrgency === 'yellow' ? 'Less than 1hr left' : 'Live now'} />
)}
- {event.date} · {timeDisplay}
+ {event.date} · {timeDisplay}
{(checkInCount ?? 0) > 0 && (
From b15b99b5821092853403dea7c56f5e2868039d1f Mon Sep 17 00:00:00 2001
From: snackman
Date: Tue, 5 May 2026 23:32:57 -0400
Subject: [PATCH 05/15] ui: style mobile list time like table view (stacked
start/end)
Co-Authored-By: Claude Opus 4.6
---
src/components/EventCard.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/components/EventCard.tsx b/src/components/EventCard.tsx
index 62a9c2b8..f936d484 100644
--- a/src/components/EventCard.tsx
+++ b/src/components/EventCard.tsx
@@ -362,7 +362,11 @@ export const EventCard = memo(function EventCard({
}`} title={liveUrgency === 'red' ? 'Ending soon' : liveUrgency === 'yellow' ? 'Less than 1hr left' : 'Live now'} />
)}
- {event.date} · {timeDisplay}
+ {event.date} · {timeDisplay}
+
+ {event.isAllDay ? 'All Day' : event.startTime}
+ {!event.isAllDay && event.endTime && {event.endTime}}
+
{(checkInCount ?? 0) > 0 && (
From 744d7246b13e6ef7fd105210ace5f0e8c7859857 Mon Sep 17 00:00:00 2001
From: snackman
Date: Tue, 5 May 2026 23:41:14 -0400
Subject: [PATCH 06/15] ui: mobile list cards show location inline with time,
hide date icon
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On mobile, time and address appear on one line (e.g. "2:00pm-4:00pm · Venue Name").
Calendar icon and separate address row hidden on mobile.
Co-Authored-By: Claude Opus 4.6
---
src/components/EventCard.tsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/components/EventCard.tsx b/src/components/EventCard.tsx
index f936d484..c90c82d4 100644
--- a/src/components/EventCard.tsx
+++ b/src/components/EventCard.tsx
@@ -361,11 +361,11 @@ export const EventCard = memo(function EventCard({
'bg-green-400'
}`} title={liveUrgency === 'red' ? 'Ending soon' : liveUrgency === 'yellow' ? 'Less than 1hr left' : 'Live now'} />
)}
-
+ {event.date} · {timeDisplay}
-
- {event.isAllDay ? 'All Day' : event.startTime}
- {!event.isAllDay && event.endTime && {event.endTime}}
+
+ {event.isAllDay ? 'All Day' : event.startTime}{!event.isAllDay && event.endTime ? `-${event.endTime}` : ''}
+ {event.address && · {shortenAddress(event.address)}}
{(checkInCount ?? 0) > 0 && (
@@ -393,11 +393,11 @@ export const EventCard = memo(function EventCard({
)}
- {/* Address */}
+ {/* Address — hidden on mobile (shown inline with time) */}
{event.address && (
+ className="hidden sm:flex w-full text-[var(--theme-text-muted)] hover:text-[var(--theme-text-secondary)] text-sm mt-1 items-start gap-1 overflow-hidden transition-colors min-w-0">
{shortenAddress(event.address)}
{userLocation && event.lat && event.lng && (
From 698a93e4869925001c234c2820514ec6ee8f7196 Mon Sep 17 00:00:00 2001
From: snackman
Date: Tue, 5 May 2026 23:46:10 -0400
Subject: [PATCH 07/15] ui: match table view time style on mobile list cards
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Start time + location on first line, end time below in smaller
muted text — same stacked pattern as mobile table view.
Co-Authored-By: Claude Opus 4.6
---
src/components/EventCard.tsx | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/components/EventCard.tsx b/src/components/EventCard.tsx
index c90c82d4..3afff04b 100644
--- a/src/components/EventCard.tsx
+++ b/src/components/EventCard.tsx
@@ -363,9 +363,12 @@ export const EventCard = memo(function EventCard({
)}
{event.date} · {timeDisplay}
-
- {event.isAllDay ? 'All Day' : event.startTime}{!event.isAllDay && event.endTime ? `-${event.endTime}` : ''}
- {event.address && · {shortenAddress(event.address)}}
+
+
+ {event.isAllDay ? 'All Day' : event.startTime}
+ {event.address && · {shortenAddress(event.address)}}
+
+ {!event.isAllDay && event.endTime && {event.endTime}}
{(checkInCount ?? 0) > 0 && (
From 550f2b0932c577cb5e6995990ad418e650107511 Mon Sep 17 00:00:00 2001
From: snackman
Date: Wed, 6 May 2026 00:03:11 -0400
Subject: [PATCH 08/15] ui: move all buttons to bottom strip on list cards
Action buttons (+, RSVP, link) and reactions/friends now live in a
single strip along the bottom of each card with a subtle top border.
Co-Authored-By: Claude Opus 4.6
---
src/components/EventCard.tsx | 79 +++++++++++++++++-------------------
1 file changed, 37 insertions(+), 42 deletions(-)
diff --git a/src/components/EventCard.tsx b/src/components/EventCard.tsx
index 3afff04b..83621ee4 100644
--- a/src/components/EventCard.tsx
+++ b/src/components/EventCard.tsx
@@ -234,37 +234,9 @@ export const EventCard = memo(function EventCard({
>
{/* Left column: action buttons + cover image */}
{buttonsAboveFlyer ? (
-
- {/* Flyer image */}
+
+ {/* Flyer image only */}
{event.link && }
- {/* Row of all action buttons below flyer */}
-