import { useEffect, useState } from "react"; import { createPortal } from "react-dom"; import { useNavigate } from "react-router-dom"; import Icon from "../components/Icon"; import { fetchMyReservationByUuid, fetchMyReservations, MyReservation, } from "../services/campaignApi"; import { formatPersianNumber } from "../utils/formatNumber"; import GuestBanner from "../assets/images/banners/Guest-banner.jpg"; function formatReservationDateTime(iso: string): string { return new Intl.DateTimeFormat("fa-IR", { weekday: "long", day: "numeric", month: "long", hour: "2-digit", minute: "2-digit", }).format(new Date(iso)); } function MyReservationCard({ reservation, onClick, }: { reservation: MyReservation; onClick: () => void; }) { return ( ); } function DetailRow({ label, value }: { label: string; value: string }) { return (
{label} {value}
); } function ReservationDetailModal({ uuid, onClose, }: { uuid: string; onClose: () => void; }) { const [reservation, setReservation] = useState(null); useEffect(() => { const previousOverflow = document.body.style.overflow; document.body.style.overflow = "hidden"; return () => { document.body.style.overflow = previousOverflow; }; }, []); useEffect(() => { fetchMyReservationByUuid(uuid) .then(setReservation) .catch(() => {}); }, [uuid]); return createPortal(
e.stopPropagation()} >

جزئیات رزرو

{reservation && (
)}

کد رزرو را برای ورود نزد خود نگه دارید. اطلاعات رزرو و کد ورود در بخش رزروها قابل مشاهده است.

, document.body, ); } export default function MyReservations() { const navigate = useNavigate(); const [reservations, setReservations] = useState([]); const [selectedUuid, setSelectedUuid] = useState(null); useEffect(() => { fetchMyReservations() .then(setReservations) .catch(() => {}); }, []); return (
{reservations.map((reservation) => ( setSelectedUuid(reservation.uuid)} /> ))}
{selectedUuid && ( setSelectedUuid(null)} /> )}
); }