import { useEffect, useState } from 'react'
import { createPortal } from 'react-dom'
import { useNavigate } from 'react-router-dom'
import InfoIcon from '../components/InfoIcon'
import SuccessIcon from '../components/SuccessIcon'
import { mockMyReservations, MyReservation } from '../data/mockMyReservations'
import { formatPersianNumber } from '../utils/formatNumber'
function ChevronIcon({ className = '' }: { className?: string }) {
return (
)
}
function MyReservationCard({ reservation, onClick }: { reservation: MyReservation; onClick: () => void }) {
return (
)
}
function DetailRow({ label, value }: { label: string; value: string }) {
return (
{label}
{value}
)
}
function ReservationDetailModal({ reservation, onClose }: { reservation: MyReservation; onClose: () => void }) {
useEffect(() => {
const previousOverflow = document.body.style.overflow
document.body.style.overflow = 'hidden'
return () => {
document.body.style.overflow = previousOverflow
}
}, [])
return createPortal(
e.stopPropagation()}
>
جزئیات رزرو
کد رزرو را برای ورود نزد خود نگه دارید. اطلاعات ورود و کد دیگری برای دقایقی شما پیامک میشود.
,
document.body,
)
}
export default function MyReservations() {
const navigate = useNavigate()
const [selectedReservation, setSelectedReservation] = useState(null)
return (
{mockMyReservations.map((reservation) => (
setSelectedReservation(reservation)} />
))}
{selectedReservation && (
setSelectedReservation(null)} />
)}
)
}