From 076b2fc3c91e13d1787c8f97918b25a640d72b19 Mon Sep 17 00:00:00 2001
From: Kyle Pope
Date: Wed, 11 Mar 2026 21:37:04 +0800
Subject: [PATCH] Add scroll cap and fix all-day event time display
Restore max-h-[400px] on ScrollArea so the widget caps and scrolls
instead of growing unbounded and making cards uneven. All-day events
now show "All day" instead of the misleading "12:00 AM" time.
Co-Authored-By: Claude Opus 4.6
---
frontend/src/components/dashboard/UpcomingWidget.tsx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/dashboard/UpcomingWidget.tsx b/frontend/src/components/dashboard/UpcomingWidget.tsx
index 22f1a28..9f26f45 100644
--- a/frontend/src/components/dashboard/UpcomingWidget.tsx
+++ b/frontend/src/components/dashboard/UpcomingWidget.tsx
@@ -164,6 +164,7 @@ export default function UpcomingWidget({ items }: UpcomingWidgetProps) {
if (isToday(d)) return 'Due today';
return null; // date shown in header
}
+ if (item.type === 'event' && item.all_day) return 'All day';
if (!item.datetime) return null;
const d = new Date(item.date + 'T00:00:00');
if (isToday(d)) return getRelativeTime(item.datetime);
@@ -215,7 +216,7 @@ export default function UpcomingWidget({ items }: UpcomingWidgetProps) {
{focusMode ? 'Nothing for today or tomorrow' : 'Nothing upcoming'}
) : (
-
+
{dayEntries.map(([dateKey, dayItems], groupIdx) => {
const isCollapsed = collapsedDays.has(dateKey);