{"version":3,"file":"google-map-hMyvRj1K.js","sources":["../../../app/frontend/entrypoints/admin/components/locations/components/google-maps/google-map.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n APIProvider,\n Map,\n AdvancedMarker,\n Pin,\n useMap,\n} from '@vis.gl/react-google-maps';\nimport LocationMarker from \"./location-marker\";\nimport MapToggleButton from './map-toggle-button'\nimport MapUiOverlay from \"./map-ui-overlay\";\nimport BoundingBoxController from \"./bounding-box-controller\";\nimport ReviewMarkers from \"./review-markers\";\n\nfunction GoogleMap(props) {\n const [location, setLocation] = useState(props.location);\n const [loaded, setLoaded] = useState(false);\n const [mapCenter, setMapCenter] = useState({ lat: 61.2176, lng: -149.8997 })\n const [position, setPosition] = useState(null)\n const [reviewMarkers, setReviewMarkers] = useState([]);\n const [zoom, setZoom] = useState(17);\n const [isExpanded, setIsExpanded] = useState(false);\n\n function toggleSize() {\n setIsExpanded(!isExpanded);\n }\n\n useEffect(() => {\n setLocation(props.location);\n }, [props.location])\n\n useEffect(() => {\n if(location.status === 'review' && location?.places_response?.places) {\n const places = []\n location.places_response.places.forEach(function (place) {\n if (place?.geometry?.location?.lat && place?.geometry?.location?.lng) {\n const parts = place.formatted_address.split(\",\");\n const address = parts[0];\n const city = parts[1];\n const [_, state_code, zipcode] = parts[2].split(\" \");\n\n places.push({\n position: place.geometry.location,\n address,\n state_code,\n city,\n zipcode,\n formatted_address: place.formatted_address,\n placeId: place.place_id,\n name: place.name\n });\n }\n })\n setReviewMarkers(places)\n }\n\n if(location.latitude && location.longitude) {\n const lat = parseFloat(location.latitude);\n const lng = parseFloat(location.longitude);\n setMapCenter({lat, lng})\n setPosition({lat, lng})\n }\n setLoaded(true)\n }, [location.places_response])\n\n if(!loaded) {\n return (\n
\n );\n } else if(loaded && (!location.latitude || !location.longitude) && reviewMarkers.length == 0) {\n return null;\n }\n\n const mapStyle = {\n width: '100%',\n height: isExpanded ? `calc(100vh - 176px)` : '300px',\n transition: 'all 0.2s ease',\n };\n\n return (\n