diff --git a/app/reservations/page.js b/app/reservations/page.js index 41bf3da..b6389ac 100644 --- a/app/reservations/page.js +++ b/app/reservations/page.js @@ -9,7 +9,7 @@ import { } from 'lucide-react'; import toast, { Toaster } from 'react-hot-toast'; import AuthService from '../services/AuthService'; -import { getRentProperty, getUserReservations, payDeposit } from '../utils/api'; +import { getUserReservations, payDeposit } from '../utils/api'; const API_BASE = process.env.NEXT_PUBLIC_API_URL || 'https://45.93.137.91.nip.io/api'; @@ -39,17 +39,18 @@ function StatusBadge({ code }) { async function enrich(reservation) { if (!reservation.propertyId) return reservation; - try { - const prop = await getRentProperty(reservation.propertyId); - reservation._prop = prop?.propertyInformation ?? prop ?? null; - } catch { /* skip */ } + reservation._prop = reservation.property ?? null; return reservation; } -const propAddr = (p) => p?.address ?? ''; -const propImages = (p) => Array.isArray(p?.images) ? p.images : []; -const propBeds = (p) => p?.numberOfBedRooms ?? 0; -const propBaths = (p) => p?.numberOfBathRooms ?? 0; +const propAddr = (p, r) => p?.address ?? r?.propertyAddress ?? ''; +const propImages = (p, r) => { + if (p?.images && Array.isArray(p.images)) return p.images; + if (r?.property?.images && Array.isArray(r.property.images)) return r.property.images; + return []; +}; +const propBeds = (p, r) => p?.numberOfBedRooms ?? r?.property?.numberOfBedRooms ?? 0; +const propBaths = (p, r) => p?.numberOfBathRooms ?? r?.property?.numberOfBathRooms ?? 0; function parseTimeSpan(str) { if (!str) return 0; @@ -105,11 +106,11 @@ function CountdownTimer({ deadline }) { function ReservationCard({ r, onViewDetails, onPay, payingId }) { const p = r._prop; - const imgs = propImages(p); + const imgs = propImages(p, r); const img = imgs.length > 0 ? `${API_BASE}${imgs[0]}` : null; - const addr = propAddr(p); - const beds = propBeds(p); - const baths = propBaths(p); + const addr = propAddr(p, r); + const beds = propBeds(p, r); + const baths = propBaths(p, r); const isOwnerConfirmed = STATUS_MAP[r.status] === 'ownerConfirmed'; const hasTimeWindow = r.ownerApprovalDate && r.allowedPaymentPeriod; const deadline = hasTimeWindow @@ -192,10 +193,10 @@ function DetailsModal({ r, isOpen, onClose, onPay, payingId }) {
العنوان: {propAddr(p)||'—'}
- {(propBeds(p)||propBaths(p)) &&العنوان: {propAddr(p, r)||'—'}
+ {(propBeds(p, r)||propBaths(p, r)) &&