From fdea8443fb10638be0b016f064b2c5d53b621133 Mon Sep 17 00:00:00 2001 From: josh Date: Sat, 4 Apr 2026 20:07:43 -0400 Subject: [PATCH] fix: restore arrow key week navigation; improve empty state copy - WeekNav: add keydown listener for ArrowLeft/ArrowRight week nav - EmptyState: replace dev-facing "No data scraped yet" + npm commands with customer-friendly "Schedule not available yet" message Co-Authored-By: Claude Sonnet 4.6 --- components/EmptyState.tsx | 16 +++------------- components/WeekNav.tsx | 11 +++++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/components/EmptyState.tsx b/components/EmptyState.tsx index 2afbabd..c7b477d 100644 --- a/components/EmptyState.tsx +++ b/components/EmptyState.tsx @@ -10,21 +10,11 @@ export function EmptyState() { color: "var(--color-text-muted)", }}>
📅
-
No data scraped yet
+
Schedule not available yet
- Run the following to populate the calendar: + Park hours for this period haven't been published yet.
+ Check back closer to your visit.
-
-        npm run discover{"\n"}npm run scrape
-      
); } diff --git a/components/WeekNav.tsx b/components/WeekNav.tsx index 766b274..ebd25b8 100644 --- a/components/WeekNav.tsx +++ b/components/WeekNav.tsx @@ -1,5 +1,6 @@ "use client"; +import { useEffect } from "react"; import { useRouter } from "next/navigation"; interface WeekNavProps { @@ -35,6 +36,16 @@ export function WeekNav({ weekStart, weekDates, isCurrentWeek }: WeekNavProps) { const nav = (delta: number) => router.push(`/?week=${shiftWeek(weekStart, delta)}`); + useEffect(() => { + const onKey = (e: KeyboardEvent) => { + if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return; + if (e.key === "ArrowLeft") nav(-1); + if (e.key === "ArrowRight") nav(1); + }; + window.addEventListener("keydown", onKey); + return () => window.removeEventListener("keydown", onKey); + }, [weekStart]); + return (