From c28fa8188f8d8fc29267d0f9ebf34ea55385158d Mon Sep 17 00:00:00 2001 From: Arnaud Nelissen Date: Mon, 15 Jun 2026 22:22:32 +0200 Subject: [PATCH] fix: dark mode event colors, sidebar height, calendar default, photo badge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - event-config: all bgClass/borderClass get dark:bg-*-950/50 + dark:border-*-800 variants — fixes bright pastel backgrounds in dark mode - nav: h-screen → h-[100dvh] — fixes sidebar bottom buttons hidden behind mobile browser chrome - calendar: selectedDay defaults to today, never null — events shown immediately on load - timeline + dashboard: photo indicator (ImageIcon) on events with metadata.photo Co-Authored-By: Claude Sonnet 4.6 --- src/app/(app)/calendar/page.tsx | 24 +++++++-------- src/app/(app)/dashboard/page.tsx | 5 ++- src/app/(app)/timeline/page.tsx | 5 ++- src/components/nav.tsx | 2 +- src/lib/event-config.ts | 52 ++++++++++++++++---------------- 5 files changed, 47 insertions(+), 41 deletions(-) diff --git a/src/app/(app)/calendar/page.tsx b/src/app/(app)/calendar/page.tsx index 27794e8..a54ed24 100644 --- a/src/app/(app)/calendar/page.tsx +++ b/src/app/(app)/calendar/page.tsx @@ -45,19 +45,21 @@ export default function CalendarPage() { const days = eachDayOfInterval({ start: calStart, end: calEnd }); - const [selectedDay, setSelectedDay] = useState(null); + const [selectedDay, setSelectedDay] = useState(() => new Date()); const dayEvents = (day: Date) => events.filter((e) => isSameDay(new Date(e.startedAt), day)); - const selectedDayEvents = selectedDay ? dayEvents(selectedDay) : []; + const selectedDayEvents = dayEvents(selectedDay); function prevMonth() { - setCursor(new Date(cursor.getFullYear(), cursor.getMonth() - 1, 1)); - setSelectedDay(null); + const first = new Date(cursor.getFullYear(), cursor.getMonth() - 1, 1); + setCursor(first); + setSelectedDay(first); } function nextMonth() { - setCursor(new Date(cursor.getFullYear(), cursor.getMonth() + 1, 1)); - setSelectedDay(null); + const first = new Date(cursor.getFullYear(), cursor.getMonth() + 1, 1); + setCursor(first); + setSelectedDay(first); } return ( @@ -75,7 +77,7 @@ export default function CalendarPage() { className="w-9 h-9 rounded-lg flex items-center justify-center text-slate-500 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-slate-800 transition"> - @@ -102,13 +104,13 @@ export default function CalendarPage() { {days.map((day, i) => { const inMonth = day.getMonth() === cursor.getMonth(); const evs = dayEvents(day); - const isSelected = selectedDay ? isSameDay(day, selectedDay) : false; + const isSelected = isSameDay(day, selectedDay); const today = isToday(day); return (