import type { HotelData } from "@/types/components/hotelReservation/selectHotel/hotelCardListingProps" import type { HotelPin } from "@/types/components/hotelReservation/selectHotel/map" export function getVisibleHotelPins( map: google.maps.Map | null, filteredHotelPins: HotelPin[] ) { if (!map || !filteredHotelPins) return [] const bounds = map.getBounds() if (!bounds) return [] return filteredHotelPins.filter((pin) => { const { lat, lng } = pin.coordinates return bounds.contains({ lat, lng }) }) } export function getVisibleHotels( hotels: HotelData[], filteredHotelPins: HotelPin[], map: google.maps.Map | null ) { const visibleHotelPins = getVisibleHotelPins(map, filteredHotelPins) const visibleHotels = hotels.filter((hotel) => visibleHotelPins.some((pin) => pin.operaId === hotel.hotelData.operaId) ) return visibleHotels }