{"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
\n \n {\n setMapCenter(ev.detail.center);\n setZoom(ev.detail.zoom);\n }}\n >\n \n \n { position && }\n { isExpanded && (\n \n )}\n { reviewMarkers && }\n \n \n
\n )\n}\n\nexport default GoogleMap;"],"names":["GoogleMap","props","location","setLocation","useState","loaded","setLoaded","mapCenter","setMapCenter","position","setPosition","reviewMarkers","setReviewMarkers","zoom","setZoom","isExpanded","setIsExpanded","toggleSize","useEffect","_a","places","place","_b","_d","_c","parts","address","city","_","state_code","zipcode","lat","lng","jsx","mapStyle","APIProvider","jsxs","Map","ev","BoundingBoxController","MapToggleButton","LocationMarker","MapUiOverlay","ReviewMarkers"],"mappings":"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"}