"use client"; import { useState } from "react"; import { MonthCalendar, type CalendarMarker } from "./MonthCalendar"; import { BookingCard } from "./BookingCard"; import { resolveDisplayStatus } from "./BookingStatusBadge"; import type { BookingRequest } from "@/payload-types"; function dateKey(d: Date) { return d.toISOString().slice(0, 10); } export function PersonalCalendar({ bookings }: { bookings: BookingRequest[] }) { const [selectedDay, setSelectedDay] = useState(null); const markers: CalendarMarker[] = bookings.map((b) => ({ date: new Date(b.date), status: resolveDisplayStatus(b.status, b.date) as CalendarMarker["status"], })); const selectedBookings = selectedDay ? bookings.filter((b) => dateKey(new Date(b.date)) === dateKey(selectedDay)) : []; return (
{selectedDay ? ( selectedBookings.length > 0 ? (
{selectedBookings.map((b) => ( ))}
) : (

An diesem Tag ist kein Termin von dir eingetragen.

) ) : (

Wähle einen Tag mit Markierung, um deine Termine zu sehen.

)}
); }