import { groupEventsByLine } from "@/common/utils"; import { EventCard } from "@/components/EventCard"; import { EventList } from "@/components/EventList"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { getAllLines, getEventsForDate } from "@/db"; import { notFound } from "next/navigation"; export default async function ScheduleByDate({ params, searchParams, }: { params: Promise<{ date: string; }>; searchParams: Promise<{ group?: string; }>; }) { const { date } = await params; const { group = "time" } = await searchParams; const parsedDate = new Date(date); if (Number.isNaN(parsedDate.getTime())) { return notFound(); } const formattedDate = parsedDate.toISOString().split("T")[0]; // Format to 'YYYY-MM-DD' const events = await getEventsForDate(formattedDate); if (events.length === 0) { return notFound(); } const groupedEvents = groupEventsByLine(events); const allLines = await getAllLines(); return (

{parsedDate.toLocaleDateString(["cs-CZ"], { weekday: "long", day: "numeric", month: "numeric", })}

{group === "line" && groupedEvents.map((line) => ( l.id === line.lineId)?.name} /> ))} {group !== "line" && }
); }