diff --git a/components/HotelReservation/HotelCardDialogListing/utils.ts b/components/HotelReservation/HotelCardDialogListing/utils.ts index 592002097..356d2c6c8 100644 --- a/components/HotelReservation/HotelCardDialogListing/utils.ts +++ b/components/HotelReservation/HotelCardDialogListing/utils.ts @@ -4,32 +4,34 @@ import type { HotelPin } from "@/types/components/hotelReservation/selectHotel/m export function getHotelPins(hotels: HotelData[]): HotelPin[] { if (hotels.length === 0) return [] - return hotels.map((hotel) => ({ - coordinates: { - lat: hotel.hotelData.location.latitude, - lng: hotel.hotelData.location.longitude, - }, - name: hotel.hotelData.name, - publicPrice: hotel.price?.public?.localPrice.pricePerNight ?? null, - memberPrice: hotel.price?.member?.localPrice.pricePerNight ?? null, - currency: - hotel.price?.public?.localPrice.currency || - hotel.price?.member?.localPrice.currency || - "N/A", - images: [ - hotel.hotelData.hotelContent.images, - ...(hotel.hotelData.gallery?.heroImages ?? []), - ], - amenities: hotel.hotelData.detailedFacilities - .map((facility) => ({ - ...facility, - icon: facility.icon ?? "None", - })) - .slice(0, 5), - ratings: hotel.hotelData.ratings?.tripAdvisor.rating ?? null, - operaId: hotel.hotelData.operaId, - facilityIds: hotel.hotelData.detailedFacilities.map( - (facility) => facility.id - ), - })) + return hotels + .filter((hotel) => hotel.hotelData) + .map((hotel) => ({ + coordinates: { + lat: hotel.hotelData.location.latitude, + lng: hotel.hotelData.location.longitude, + }, + name: hotel.hotelData.name, + publicPrice: hotel.price?.public?.localPrice.pricePerNight ?? null, + memberPrice: hotel.price?.member?.localPrice.pricePerNight ?? null, + currency: + hotel.price?.public?.localPrice.currency || + hotel.price?.member?.localPrice.currency || + "N/A", + images: [ + hotel.hotelData.hotelContent.images, + ...(hotel.hotelData.gallery?.heroImages ?? []), + ], + amenities: hotel.hotelData.detailedFacilities + .map((facility) => ({ + ...facility, + icon: facility.icon ?? "None", + })) + .slice(0, 5), + ratings: hotel.hotelData.ratings?.tripAdvisor.rating ?? null, + operaId: hotel.hotelData.operaId, + facilityIds: hotel.hotelData.detailedFacilities.map( + (facility) => facility.id + ), + })) }