"use client"; import Image from "next/image"; import Link from "next/link"; import { useEffect, useRef, useState } from "react"; import { RoomPrice } from "@/components/RoomPrice"; import type { Room } from "@/types/room"; import { useBooking } from "@/context/BookingContext"; type Props = { selected: Room | null; onSelect: (roomId: string) => void; }; export function RoomSelectBooking({ selected, onSelect }: Props) { const { rooms } = useBooking(); const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { function onDoc(e: MouseEvent) { if (!ref.current?.contains(e.target as Node)) setOpen(false); } if (open) document.addEventListener("mousedown", onDoc); return () => document.removeEventListener("mousedown", onDoc); }, [open]); return (
Select room {open ? ( ) : null} {selected ? ( {/^[0-9a-f-]{36}$/i.test(selected.id) ? "Back to room selection" : "View full room details & amenities"} ) : null}
); }