{"version":3,"file":"google-maps-JG_8MUUQ.js","sources":["../../../app/frontend/entrypoints/admin/modules/google-maps.js"],"sourcesContent":["export function searchPlaces(query, radius, location) {\n return new Promise((resolve, reject) => {\n // Ensure that the map object is available or create a dummy one\n const map = new google.maps.Map(document.createElement('div'));\n const service = new google.maps.places.PlacesService(map);\n const latlng = new google.maps.LatLng(location.latitude, location.longitude)\n\n service.textSearch({\n query: query,\n type: 'gas_station',\n locationRestriction: {\n circle: {\n center: latlng,\n radius: radius\n }\n }\n }, (results, status) => {\n if (status === google.maps.places.PlacesServiceStatus.OK) {\n const places = results.map((result) => {\n return placeToJson(result)\n })\n resolve(places);\n } else {\n reject(new Error(`Place text search request failed. Status: ${status}`));\n }\n });\n });\n}\n\nexport function fetchPlace(placeId) {\n return new Promise((resolve, reject) => {\n // Ensure that the map object is available or create a dummy one\n const map = new google.maps.Map(document.createElement('div'));\n const service = new google.maps.places.PlacesService(map);\n\n const request = {\n placeId: placeId,\n fields: ['name', 'address_components', 'adr_address',\n 'business_status', 'formatted_address', 'icon', 'icon_mask_base_uri',\n 'icon_background_color', 'photo', 'place_id', 'type', 'url', 'vicinity', 'website', 'formatted_phone_number',\n 'current_opening_hours', 'opening_hours', 'rating', 'geometry']\n };\n\n service.getDetails(request, (place, status) => {\n if (status === google.maps.places.PlacesServiceStatus.OK) {\n resolve(placeToJson(place));\n } else {\n reject(new Error(`Place details request failed. Status: ${status}`));\n }\n });\n });\n}\n\n\nfunction placeToJson(place) {\n // Helper function to handle LatLng objects\n const latLngToJson = (latLng) => latLng ? { lat: latLng.lat(), lng: latLng.lng() } : null;\n\n // Helper function to handle nested objects\n const objectToJson = (obj) => {\n if (!obj) return null;\n return Object.keys(obj).reduce((acc, key) => {\n acc[key] = convertToJson(obj[key]);\n return acc;\n }, {});\n };\n\n // Main conversion function\n const convertToJson = (value) => {\n if (value instanceof google.maps.LatLng) {\n return latLngToJson(value);\n } else if (value instanceof google.maps.LatLngBounds) {\n return {\n northeast: latLngToJson(value.getNorthEast()),\n southwest: latLngToJson(value.getSouthWest())\n };\n } else if (Array.isArray(value)) {\n return value.map(convertToJson);\n } else if (typeof value === 'object' && value !== null) {\n return objectToJson(value);\n }\n return value;\n };\n\n // Convert the entire place object\n return convertToJson(place);\n}"],"names":["searchPlaces","query","radius","location","resolve","reject","map","service","latlng","results","status","places","result","placeToJson","fetchPlace","placeId","request","place","latLngToJson","latLng","objectToJson","obj","acc","key","convertToJson","value"],"mappings":"AAAO,SAASA,EAAaC,EAAOC,EAAQC,EAAU,CACpD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CAEtC,MAAMC,EAAM,IAAI,OAAO,KAAK,IAAI,SAAS,cAAc,KAAK,CAAC,EACvDC,EAAU,IAAI,OAAO,KAAK,OAAO,cAAcD,CAAG,EAClDE,EAAS,IAAI,OAAO,KAAK,OAAOL,EAAS,SAAUA,EAAS,SAAS,EAE3EI,EAAQ,WAAW,CACjB,MAAON,EACP,KAAM,cACN,oBAAqB,CACnB,OAAQ,CACN,OAAQO,EACR,OAAQN,CACT,CACF,CACP,EAAO,CAACO,EAASC,IAAW,CACtB,GAAIA,IAAW,OAAO,KAAK,OAAO,oBAAoB,GAAI,CACxD,MAAMC,EAASF,EAAQ,IAAKG,GACnBC,EAAYD,CAAM,CAC1B,EACDR,EAAQO,CAAM,CACtB,MACQN,EAAO,IAAI,MAAM,6CAA6CK,CAAM,EAAE,CAAC,CAE/E,CAAK,CACL,CAAG,CACH,CAEO,SAASI,EAAWC,EAAS,CAClC,OAAO,IAAI,QAAQ,CAACX,EAASC,IAAW,CAEtC,MAAMC,EAAM,IAAI,OAAO,KAAK,IAAI,SAAS,cAAc,KAAK,CAAC,EACvDC,EAAU,IAAI,OAAO,KAAK,OAAO,cAAcD,CAAG,EAElDU,EAAU,CACd,QAASD,EACT,OAAQ,CAAC,OAAQ,qBAAsB,cACrC,kBAAmB,oBAAqB,OAAQ,qBAChD,wBAAyB,QAAS,WAAY,OAAQ,MAAO,WAAY,UAAW,yBACpF,wBAAyB,gBAAiB,SAAU,UAAU,CACtE,EAEIR,EAAQ,WAAWS,EAAS,CAACC,EAAOP,IAAW,CACzCA,IAAW,OAAO,KAAK,OAAO,oBAAoB,GACpDN,EAAQS,EAAYI,CAAK,CAAC,EAE1BZ,EAAO,IAAI,MAAM,yCAAyCK,CAAM,EAAE,CAAC,CAE3E,CAAK,CACL,CAAG,CACH,CAGA,SAASG,EAAYI,EAAO,CAE1B,MAAMC,EAAgBC,GAAWA,EAAS,CAAE,IAAKA,EAAO,IAAG,EAAI,IAAKA,EAAO,IAAK,CAAA,EAAK,KAG/EC,EAAgBC,GACfA,EACE,OAAO,KAAKA,CAAG,EAAE,OAAO,CAACC,EAAKC,KACnCD,EAAIC,CAAG,EAAIC,EAAcH,EAAIE,CAAG,CAAC,EAC1BD,GACN,CAAE,CAAA,EAJY,KAQbE,EAAiBC,GACjBA,aAAiB,OAAO,KAAK,OACxBP,EAAaO,CAAK,EAChBA,aAAiB,OAAO,KAAK,aAC/B,CACL,UAAWP,EAAaO,EAAM,cAAc,EAC5C,UAAWP,EAAaO,EAAM,cAAc,CACpD,EACe,MAAM,QAAQA,CAAK,EACrBA,EAAM,IAAID,CAAa,EACrB,OAAOC,GAAU,UAAYA,IAAU,KACzCL,EAAaK,CAAK,EAEpBA,EAIT,OAAOD,EAAcP,CAAK,CAC5B"}