import { useT } from "@agent-native/core/client/i18n"; import type { Booking, CustomField } from "@shared/api"; import { IconCircleCheck, IconVideo } from "@tabler/icons-react"; import { format, parseISO } from "date-fns"; import { Link } from "react-router"; import { Button } from "@/components/ui/button"; interface BookingConfirmationProps { booking: Booking; customFields?: CustomField[]; onReset: () => void; } const BRAND_LINK_CLASS = "font-semibold text-[#00B5FF] hover:text-[#33C4FF]"; export function BookingConfirmation({ booking, customFields = [], onReset, }: BookingConfirmationProps) { const t = useT(); const responses = booking.fieldResponses; const fieldsWithResponses = customFields.filter( (f) => responses?.[f.id] !== undefined && responses[f.id] !== "" && responses[f.id] !== false, ); return (

{t("bookingLinks.bookingConfirmed")}

{t("bookingLinks.confirmationSent")}

{t("eventForm.event")}

{booking.eventTitle}

{t("bookingLinks.date")}

{format(parseISO(booking.start), "EEEE, MMMM d, yyyy")}

{t("bookingLinks.time")}

{format(parseISO(booking.start), "h:mm a")} -{" "} {format(parseISO(booking.end), "h:mm a")}

{t("bookingLinks.name")}

{booking.name}

{booking.meetingLink && (
{t("bookingLinks.meetingLink")} {t("eventForm.joinMeeting")}
)} {fieldsWithResponses.map((field) => (
{field.label}

{typeof responses![field.id] === "boolean" ? responses![field.id] ? t("bookingLinks.yes") : t("bookingLinks.no") : String(responses![field.id])}

))}
{booking.cancelToken && (

{t("bookingLinks.needToMakeChanges")}{" "} {t("bookingLinks.cancelOrReschedule")}

)}
); }