"use client"; import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; import { useBooking } from "@/context/BookingContext"; import { useCurrency } from "@/context/CurrencyContext"; import { formatArrivalTimeDisplay } from "@/lib/formatArrivalTime"; import { siteConfig } from "@/lib/mocks/site"; export default function ConfirmationPage() { const router = useRouter(); const { confirmationId, paidAt, selectedRoom, guest, checkIn, checkOut, nights, total, resetBooking, } = useBooking(); const { formatUsd } = useCurrency(); useEffect(() => { if (!confirmationId) router.replace("/"); }, [confirmationId, router]); if (!confirmationId || !selectedRoom) return null; return (
Thank you, {guest.firstName}. A mock itinerary email would be sent to {guest.email}.
Confirmation: {confirmationId}
{paidAt ? (Paid at: {new Date(paidAt).toLocaleString()}
) : null}{siteConfig.name}
{selectedRoom.name}
{checkIn} โ {checkOut} ยท {nights} night{nights !== 1 ? "s" : ""}
Flight arrival
Booking / PNR:{" "} {guest.flightBookingNumber.trim() || "โ"}
Arrival (local):{" "} {formatArrivalTimeDisplay(guest.arrivalTime)}
Total paid: {formatUsd(total)}