@abcagency/hc-ui-components 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -516
- package/dist/apis/hcApi.js +189 -189
- package/dist/apis/hcApi.js.map +1 -1
- package/dist/clientToken.js +10 -10
- package/dist/clientToken.js.map +1 -1
- package/dist/components/HireControlMap.js +135 -135
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +76 -76
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/accordions/default.js +108 -108
- package/dist/components/modules/accordions/default.js.map +1 -1
- package/dist/components/modules/accordions/filterItem.js +50 -50
- package/dist/components/modules/accordions/filterItem.js.map +1 -1
- package/dist/components/modules/accordions/filters.js +46 -46
- package/dist/components/modules/accordions/filters.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +87 -87
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/buttons/commute-pill.js +18 -18
- package/dist/components/modules/buttons/commute-pill.js.map +1 -1
- package/dist/components/modules/buttons/default.js +145 -145
- package/dist/components/modules/buttons/default.js.map +1 -1
- package/dist/components/modules/buttons/items-pill.js +23 -23
- package/dist/components/modules/buttons/items-pill.js.map +1 -1
- package/dist/components/modules/buttons/pill-wrapper.js +20 -20
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
- package/dist/components/modules/buttons/show-all-button.js +39 -39
- package/dist/components/modules/buttons/show-all-button.js.map +1 -1
- package/dist/components/modules/cards/default.js +102 -102
- package/dist/components/modules/cards/default.js.map +1 -1
- package/dist/components/modules/cards/filter.js +38 -38
- package/dist/components/modules/cards/filter.js.map +1 -1
- package/dist/components/modules/dialogs/apply-dialog.js +46 -46
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
- package/dist/components/modules/filter/commute.js +184 -184
- package/dist/components/modules/filter/commute.js.map +1 -1
- package/dist/components/modules/filter/index.js +79 -79
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/item.js +71 -71
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +68 -68
- package/dist/components/modules/filter/location.js.map +1 -1
- package/dist/components/modules/filter/points-of-interest.js +38 -38
- package/dist/components/modules/filter/points-of-interest.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +46 -46
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/filter/search.js +83 -83
- package/dist/components/modules/filter/search.js.map +1 -1
- package/dist/components/modules/filter/sort.js +93 -93
- package/dist/components/modules/filter/sort.js.map +1 -1
- package/dist/components/modules/grid.js +39 -39
- package/dist/components/modules/grid.js.map +1 -1
- package/dist/components/modules/icon.js +23 -23
- package/dist/components/modules/icon.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details.js +71 -71
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/maps/info-window-card.js +14 -14
- package/dist/components/modules/maps/info-window-card.js.map +1 -1
- package/dist/components/modules/maps/info-window-content.js +49 -39
- package/dist/components/modules/maps/info-window-content.js.map +1 -1
- package/dist/components/modules/maps/list/field-mapper.js +88 -88
- package/dist/components/modules/maps/list/field-mapper.js.map +1 -1
- package/dist/components/modules/maps/list/header-item.js +59 -59
- package/dist/components/modules/maps/list/header-item.js.map +1 -1
- package/dist/components/modules/maps/list/header.js +37 -37
- package/dist/components/modules/maps/list/header.js.map +1 -1
- package/dist/components/modules/maps/list/index.js +93 -93
- package/dist/components/modules/maps/list/index.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/index.js +16 -16
- package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -38
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -40
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -20
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -1
- package/dist/components/modules/maps/list/list-item/index.js +98 -98
- package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
- package/dist/components/modules/maps/map-list.js +57 -57
- package/dist/components/modules/maps/map-list.js.map +1 -1
- package/dist/components/modules/maps/map-marker.js +85 -85
- package/dist/components/modules/maps/map-marker.js.map +1 -1
- package/dist/components/modules/maps/map.js +201 -201
- package/dist/components/modules/maps/map.js.map +1 -1
- package/dist/components/modules/maps/place-marker.js +37 -37
- package/dist/components/modules/maps/place-marker.js.map +1 -1
- package/dist/components/modules/maps/tabs.js +84 -84
- package/dist/components/modules/maps/tabs.js.map +1 -1
- package/dist/constants/placeTypes.js +11 -11
- package/dist/constants/placeTypes.js.map +1 -1
- package/dist/contexts/mapContext.js +133 -133
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +280 -280
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/placesContext.js +152 -152
- package/dist/contexts/placesContext.js.map +1 -1
- package/dist/hooks/useList.js +119 -119
- package/dist/hooks/useList.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -372
- package/dist/services/apis/hcApi.js +189 -189
- package/dist/services/apis/hcApi.js.map +1 -1
- package/dist/services/clientToken.js +7 -7
- package/dist/services/clientToken.js.map +1 -1
- package/dist/services/configService.js +33 -33
- package/dist/services/configService.js.map +1 -1
- package/dist/services/googlePlacesNearbyService.js +61 -61
- package/dist/services/googlePlacesNearbyService.js.map +1 -1
- package/dist/services/listingAggregatorService.js +56 -56
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/services/listingEntityService.js +36 -36
- package/dist/services/listingEntityService.js.map +1 -1
- package/dist/services/listingService.js +64 -64
- package/dist/services/listingService.js.map +1 -1
- package/dist/services/recruiterService.js +36 -36
- package/dist/services/recruiterService.js.map +1 -1
- package/dist/services/styles/index.css +2 -2
- package/dist/styles/index.css +2 -2
- package/dist/util/filterUtil.js +213 -213
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/loading.js +16 -16
- package/dist/util/loading.js.map +1 -1
- package/dist/util/localStorageUtil.js +32 -32
- package/dist/util/localStorageUtil.js.map +1 -1
- package/dist/util/mapIconUtil.js +73 -73
- package/dist/util/mapIconUtil.js.map +1 -1
- package/dist/util/mapUtil.js +76 -76
- package/dist/util/mapUtil.js.map +1 -1
- package/dist/util/sortUtil.js +33 -33
- package/dist/util/sortUtil.js.map +1 -1
- package/dist/util/stringUtils.js +9 -9
- package/dist/util/stringUtils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapListContext.js","sources":["../../src/contexts/mapListContext.js"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext } from 'react';\n\nimport { generateFilterOptions, applyFilters, filterListingsByLocation } from '~/util/filterUtil';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\n\nimport { getListingEntities } from \"~/services/listingEntityService\";\nimport fetchListings from '~/services/listingAggregatorService';\n\nconst MapListContext = createContext();\n\nexport const useMapList = () => useContext(MapListContext);\n\nconst getQuery = () => {\n\tlet query;\n\t//if (!hasQueryInUrl(location)) {\n\tquery = typeof window !== 'undefined' ? localStorage.getItem('query') : '';\n\t// }\n\t//else {\n\t// \tquery = filtersFromURL(location).query;\n\t// }\n\treturn query;\n};\n\nexport const MapListProvider = ({\n\tchildren,\n\tsiteConfig,\n\tresetFilters,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat\n}) => {\n\t// const location = useLocation();\n\t// const navigate = useNavigate();\n\tconst [allListings, setAllListings] = useState(getStorageObject(\"listings\", []));\n\tconst [filteredListings, setFilteredListings] = useState([]);\n\tconst [loading, setLoading] = useState(false);\n\tconst [mapItems, setMapItems] = useState(getStorageObject('mapItems', []));\n\tconst [query, setQuery] = useState(() => resetFilters ? null : getQuery());\n\tconst [listingEntities, setListingEntities] = useState(getStorageObject(\"listingEntities\", null));\n\tconst [firstLoad, setFirstLoad] = useState(true);\n\tconst [commuteLocation, setCommuteLocation] = useState(null);\n\tconst [selectedFilters, setSelectedFilters] = useState(() => resetFilters ? {} : getStorageObject('selectedFilters', {}));//hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));\n\tconst [filterOptions, setFilterOptions] = useState();\n\tconst [recruiters, setRecruiters] = useState(getStorageObject(\"recruiters\", {}));\n\tconst [filterDialogIsOpen, setFilterDialogIsOpen] = useState(false);\n\tconst [mobileTab, setMobileTab] = useState(\"listTab\");\n\tconst [favorites, setFavorites] = useState([]);\n\tconst [filterByFavorites, setFilterByFavorites] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];\n\t\tsetFavorites(loadedFavorites);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (commuteLocation === null || commuteLocation === '') return;\n\t\tasync function fetchEntities() {\n\t\t\tconst distinctEntityIds = [\n\t\t\t\t...new Set(allListings.map(listing => listing.entityId))\n\t\t\t];\n\t\t\ttry {\n\t\t\t\tconst fetchedEntities = await getListingEntities(\n\t\t\t\t\tdistinctEntityIds,\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\n\t\t\t\t);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\tvar newFilteredListings = filteredListings;\n\t\t\t\tfor (var i = 0; i < allListings.length; i++) {\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i < newFilteredListings.length; i++) {\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsetFilteredListings(newFilteredListings);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Failed to fetch listing entities:\", error);\n\t\t\t}\n\t\t}\n\n\t\tfetchEntities();\n\t}, [commuteLocation, allListings, siteConfig.companyId]);\n\n\tuseEffect(() => {\n\t\tconst handleFetchListings = async () => {\n\t\t\tif (!getStorageObject('listings', []).length > 0) {\n\t\t\t\tsetLoading(true);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst {\n\t\t\t\t\tlistingsResult,\n\t\t\t\t\tfetchedRecruiters,\n\t\t\t\t\tfetchedEntities,\n\t\t\t\t\tdistinctItems\n\t\t\t\t} = await fetchListings(query, siteConfig);\n\t\t\t\tsetAllListings(listingsResult);\n\t\t\t\tsetRecruiters(fetchedRecruiters);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\tsetMapItems(distinctItems);\n\t\t\t\tsetStorageObject(\"mapItems\", distinctItems);\n\t\t\t\tsetStorageObject(\"listingEntities\", fetchedEntities);\n\t\t\t\tsetStorageObject(\"recruiters\", fetchedRecruiters);\n\t\t\t\tsetStorageObject(\"listings\", listingsResult);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\thandleFetchListings();\n\t}, [query, siteConfig]);\n\n\tuseEffect(() => {\n\t\tconst processListings = () => {\n\t\t\tlet { filteredListings, mapItems } = applyFilters(\n\t\t\t\tallListings,\n\t\t\t\tselectedFilters,\n\t\t\t\tquery,\n\t\t\t\tlistingEntities,\n\t\t\t\tfavorites,\n\t\t\t\tsiteConfig\n\t\t\t);\n\t\t\tif (filterByFavorites) {\n\t\t\t\tfilteredListings = filteredListings.filter(x => favorites.includes(x.id));\n\t\t\t}\n\t\t\tsetFilteredListings(filteredListings);\n\t\t\t// if (firstLoad && hasFiltersInURL(location)) {\n\t\t\t// \tconst { filters } = filtersFromURL(location);\n\t\t\t// \tsetSelectedFilters(filters);\n\t\t\t// }\n\t\t\tif (firstLoad && selectedFilters) {\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t} else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {\n\t\t\t\tlocalStorage.removeItem('selectedFilters');\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t} else if (!firstLoad) {\n\t\t\t\tsetStorageObject('selectedFilters', selectedFilters);\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t}\n\t\t\tquery != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');\n\t\t\tsetMapItems(mapItems);\n\n\t\t\tif (selectedFilters) {\n\t\t\t\tconst keys = Object.keys(selectedFilters);\n\t\t\t\tconst lastKey = keys[keys.length - 1];\n\t\t\t\tconst options = generateFilterOptions(\n\t\t\t\t\tfirstLoad ? allListings : filteredListings,\n\t\t\t\t\tallListings,\n\t\t\t\t\tsiteConfig,\n\t\t\t\t\tfilterOptions,\n\t\t\t\t\tlastKey,\n\t\t\t\t\tfavorites\n\t\t\t\t);\n\t\t\t\tif (options) {\n\t\t\t\t\tsetFilterOptions(options);\n\t\t\t\t\tif (firstLoad) setFirstLoad(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tprocessListings();\n\t}, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);\n\n\tconst handleFilterListingsByLocation = selectedLocation => {\n\t\tconst { filteredListings, mapItems } = filterListingsByLocation(\n\t\t\tallListings,\n\t\t\tselectedLocation,\n\t\t\tlistingEntities,\n\t\t);\n\t\tsetFilteredListings(filteredListings);\n\t\t//setMapItems(mapItems);\n\t};\n\n\tconst handleSettingFavorites = newFavorites => {\n\t\tif (newFavorites == null) {\n\t\t\tlocalStorage.removeItem('favorites');\n\t\t} else {\n\t\t\tsetFavorites(newFavorites);\n\t\t\tlocalStorage.setItem('favorites', JSON.stringify(newFavorites));\n\t\t}\n\t};\n\n\treturn (\n\t\t<MapListContext.Provider value={{\n\t\t\tloading,\n\t\t\tallListings,\n\t\t\tfilteredListings,\n\t\t\tmapItems,\n\t\t\tquery,\n\t\t\tsetFilteredListings,\n\t\t\tsetQuery,\n\t\t\tlistingEntities,\n\t\t\tselectedFilters,\n\t\t\tsetSelectedFilters,\n\t\t\tfilterOptions,\n\t\t\trecruiters,\n\t\t\thandleFilterListingsByLocation,\n\t\t\tfilterDialogIsOpen,\n\t\t\tsetFilterDialogIsOpen,\n\t\t\tsetMobileTab,\n\t\t\tmobileTab,\n\t\t\tsiteConfig,\n\t\t\tfavorites,\n\t\t\thandleSettingFavorites,\n\t\t\tsetFilterByFavorites,\n\t\t\tfilterByFavorites,\n\t\t\tcommuteLocation,\n\t\t\tsetCommuteLocation,\n\t\t\tnavigateToDetails,\n\t\t\tnavigateToEasyApply,\n\t\t\tLink,\n\t\t\tlinkFormat\n\t\t}}>\n\t\t\t{children}\n\t\t</MapListContext.Provider>\n\t);\n};\n"],"names":["MapListContext","createContext","useMapList","useContext","getQuery","query","window","localStorage","getItem","MapListProvider","_ref","children","siteConfig","resetFilters","navigateToDetails","navigateToEasyApply","Link","linkFormat","_useState","useState","getStorageObject","_useState2","_slicedToArray","allListings","setAllListings","_useState3","_useState4","filteredListings","setFilteredListings","_useState5","_useState6","loading","setLoading","_useState7","_useState8","mapItems","setMapItems","_useState9","_useState10","setQuery","_useState11","_useState12","listingEntities","setListingEntities","_useState13","_useState14","firstLoad","setFirstLoad","_useState15","_useState16","commuteLocation","setCommuteLocation","_useState17","_useState18","selectedFilters","setSelectedFilters","_useState19","_useState20","filterOptions","setFilterOptions","_useState21","_useState22","recruiters","setRecruiters","_useState23","_useState24","filterDialogIsOpen","setFilterDialogIsOpen","_useState25","_useState26","mobileTab","setMobileTab","_useState27","_useState28","favorites","setFavorites","_useState29","_useState30","filterByFavorites","setFilterByFavorites","useEffect","loadedFavorites","JSON","parse","fetchEntities","_fetchEntities","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","distinctEntityIds","fetchedEntities","newFilteredListings","i","wrap","_callee$","_context","prev","next","_toConsumableArray","Set","map","listing","entityId","getListingEntities","concat","lat","lng","sent","length","fields","travelTime","t0","console","error","stop","companyId","handleFetchListings","_ref2","_callee2","_yield$fetchListings","listingsResult","fetchedRecruiters","distinctItems","_callee2$","_context2","fetchListings","setStorageObject","log","processListings","_applyFilters","applyFilters","filter","x","includes","id","Object","keys","removeItem","setItem","lastKey","options","generateFilterOptions","handleFilterListingsByLocation","selectedLocation","_filterListingsByLoca","filterListingsByLocation","handleSettingFavorites","newFavorites","stringify","React","createElement","Provider","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapListContext.js","sources":["../../src/contexts/mapListContext.js"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext } from 'react';\r\n\r\nimport { generateFilterOptions, applyFilters, filterListingsByLocation } from '~/util/filterUtil';\r\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\r\n\r\nimport { getListingEntities } from \"~/services/listingEntityService\";\r\nimport fetchListings from '~/services/listingAggregatorService';\r\n\r\nconst MapListContext = createContext();\r\n\r\nexport const useMapList = () => useContext(MapListContext);\r\n\r\nconst getQuery = () => {\r\n\tlet query;\r\n\t//if (!hasQueryInUrl(location)) {\r\n\tquery = typeof window !== 'undefined' ? localStorage.getItem('query') : '';\r\n\t// }\r\n\t//else {\r\n\t// \tquery = filtersFromURL(location).query;\r\n\t// }\r\n\treturn query;\r\n};\r\n\r\nexport const MapListProvider = ({\r\n\tchildren,\r\n\tsiteConfig,\r\n\tresetFilters,\r\n\tnavigateToDetails,\r\n\tnavigateToEasyApply,\r\n\tLink,\r\n\tlinkFormat\r\n}) => {\r\n\t// const location = useLocation();\r\n\t// const navigate = useNavigate();\r\n\tconst [allListings, setAllListings] = useState(getStorageObject(\"listings\", []));\r\n\tconst [filteredListings, setFilteredListings] = useState([]);\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [mapItems, setMapItems] = useState(getStorageObject('mapItems', []));\r\n\tconst [query, setQuery] = useState(() => resetFilters ? null : getQuery());\r\n\tconst [listingEntities, setListingEntities] = useState(getStorageObject(\"listingEntities\", null));\r\n\tconst [firstLoad, setFirstLoad] = useState(true);\r\n\tconst [commuteLocation, setCommuteLocation] = useState(null);\r\n\tconst [selectedFilters, setSelectedFilters] = useState(() => resetFilters ? {} : getStorageObject('selectedFilters', {}));//hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));\r\n\tconst [filterOptions, setFilterOptions] = useState();\r\n\tconst [recruiters, setRecruiters] = useState(getStorageObject(\"recruiters\", {}));\r\n\tconst [filterDialogIsOpen, setFilterDialogIsOpen] = useState(false);\r\n\tconst [mobileTab, setMobileTab] = useState(\"listTab\");\r\n\tconst [favorites, setFavorites] = useState([]);\r\n\tconst [filterByFavorites, setFilterByFavorites] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];\r\n\t\tsetFavorites(loadedFavorites);\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (commuteLocation === null || commuteLocation === '') return;\r\n\t\tasync function fetchEntities() {\r\n\t\t\tconst distinctEntityIds = [\r\n\t\t\t\t...new Set(allListings.map(listing => listing.entityId))\r\n\t\t\t];\r\n\t\t\ttry {\r\n\t\t\t\tconst fetchedEntities = await getListingEntities(\r\n\t\t\t\t\tdistinctEntityIds,\r\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\r\n\t\t\t\t);\r\n\t\t\t\tsetListingEntities(fetchedEntities);\r\n\t\t\t\tvar newFilteredListings = filteredListings;\r\n\t\t\t\tfor (var i = 0; i < allListings.length; i++) {\r\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\r\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tfor (var i = 0; i < newFilteredListings.length; i++) {\r\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\r\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetFilteredListings(newFilteredListings);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error(\"Failed to fetch listing entities:\", error);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfetchEntities();\r\n\t}, [commuteLocation, allListings, siteConfig.companyId]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handleFetchListings = async () => {\r\n\t\t\tif (!getStorageObject('listings', []).length > 0) {\r\n\t\t\t\tsetLoading(true);\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tlistingsResult,\r\n\t\t\t\t\tfetchedRecruiters,\r\n\t\t\t\t\tfetchedEntities,\r\n\t\t\t\t\tdistinctItems\r\n\t\t\t\t} = await fetchListings(query, siteConfig);\r\n\t\t\t\tsetAllListings(listingsResult);\r\n\t\t\t\tsetRecruiters(fetchedRecruiters);\r\n\t\t\t\tsetListingEntities(fetchedEntities);\r\n\t\t\t\tsetMapItems(distinctItems);\r\n\t\t\t\tsetStorageObject(\"mapItems\", distinctItems);\r\n\t\t\t\tsetStorageObject(\"listingEntities\", fetchedEntities);\r\n\t\t\t\tsetStorageObject(\"recruiters\", fetchedRecruiters);\r\n\t\t\t\tsetStorageObject(\"listings\", listingsResult);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t}\r\n\t\t\tsetLoading(false);\r\n\t\t};\r\n\t\thandleFetchListings();\r\n\t}, [query, siteConfig]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst processListings = () => {\r\n\t\t\tlet { filteredListings, mapItems } = applyFilters(\r\n\t\t\t\tallListings,\r\n\t\t\t\tselectedFilters,\r\n\t\t\t\tquery,\r\n\t\t\t\tlistingEntities,\r\n\t\t\t\tfavorites,\r\n\t\t\t\tsiteConfig\r\n\t\t\t);\r\n\t\t\tif (filterByFavorites) {\r\n\t\t\t\tfilteredListings = filteredListings.filter(x => favorites.includes(x.id));\r\n\t\t\t}\r\n\t\t\tsetFilteredListings(filteredListings);\r\n\t\t\t// if (firstLoad && hasFiltersInURL(location)) {\r\n\t\t\t// \tconst { filters } = filtersFromURL(location);\r\n\t\t\t// \tsetSelectedFilters(filters);\r\n\t\t\t// }\r\n\t\t\tif (firstLoad && selectedFilters) {\r\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\r\n\t\t\t} else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {\r\n\t\t\t\tlocalStorage.removeItem('selectedFilters');\r\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\r\n\t\t\t} else if (!firstLoad) {\r\n\t\t\t\tsetStorageObject('selectedFilters', selectedFilters);\r\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\r\n\t\t\t}\r\n\t\t\tquery != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');\r\n\t\t\tsetMapItems(mapItems);\r\n\r\n\t\t\tif (selectedFilters) {\r\n\t\t\t\tconst keys = Object.keys(selectedFilters);\r\n\t\t\t\tconst lastKey = keys[keys.length - 1];\r\n\t\t\t\tconst options = generateFilterOptions(\r\n\t\t\t\t\tfirstLoad ? allListings : filteredListings,\r\n\t\t\t\t\tallListings,\r\n\t\t\t\t\tsiteConfig,\r\n\t\t\t\t\tfilterOptions,\r\n\t\t\t\t\tlastKey,\r\n\t\t\t\t\tfavorites\r\n\t\t\t\t);\r\n\t\t\t\tif (options) {\r\n\t\t\t\t\tsetFilterOptions(options);\r\n\t\t\t\t\tif (firstLoad) setFirstLoad(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tprocessListings();\r\n\t}, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);\r\n\r\n\tconst handleFilterListingsByLocation = selectedLocation => {\r\n\t\tconst { filteredListings, mapItems } = filterListingsByLocation(\r\n\t\t\tallListings,\r\n\t\t\tselectedLocation,\r\n\t\t\tlistingEntities,\r\n\t\t);\r\n\t\tsetFilteredListings(filteredListings);\r\n\t\t//setMapItems(mapItems);\r\n\t};\r\n\r\n\tconst handleSettingFavorites = newFavorites => {\r\n\t\tif (newFavorites == null) {\r\n\t\t\tlocalStorage.removeItem('favorites');\r\n\t\t} else {\r\n\t\t\tsetFavorites(newFavorites);\r\n\t\t\tlocalStorage.setItem('favorites', JSON.stringify(newFavorites));\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<MapListContext.Provider value={{\r\n\t\t\tloading,\r\n\t\t\tallListings,\r\n\t\t\tfilteredListings,\r\n\t\t\tmapItems,\r\n\t\t\tquery,\r\n\t\t\tsetFilteredListings,\r\n\t\t\tsetQuery,\r\n\t\t\tlistingEntities,\r\n\t\t\tselectedFilters,\r\n\t\t\tsetSelectedFilters,\r\n\t\t\tfilterOptions,\r\n\t\t\trecruiters,\r\n\t\t\thandleFilterListingsByLocation,\r\n\t\t\tfilterDialogIsOpen,\r\n\t\t\tsetFilterDialogIsOpen,\r\n\t\t\tsetMobileTab,\r\n\t\t\tmobileTab,\r\n\t\t\tsiteConfig,\r\n\t\t\tfavorites,\r\n\t\t\thandleSettingFavorites,\r\n\t\t\tsetFilterByFavorites,\r\n\t\t\tfilterByFavorites,\r\n\t\t\tcommuteLocation,\r\n\t\t\tsetCommuteLocation,\r\n\t\t\tnavigateToDetails,\r\n\t\t\tnavigateToEasyApply,\r\n\t\t\tLink,\r\n\t\t\tlinkFormat\r\n\t\t}}>\r\n\t\t\t{children}\r\n\t\t</MapListContext.Provider>\r\n\t);\r\n};\r\n"],"names":["MapListContext","createContext","useMapList","useContext","getQuery","query","window","localStorage","getItem","MapListProvider","_ref","children","siteConfig","resetFilters","navigateToDetails","navigateToEasyApply","Link","linkFormat","_useState","useState","getStorageObject","_useState2","_slicedToArray","allListings","setAllListings","_useState3","_useState4","filteredListings","setFilteredListings","_useState5","_useState6","loading","setLoading","_useState7","_useState8","mapItems","setMapItems","_useState9","_useState10","setQuery","_useState11","_useState12","listingEntities","setListingEntities","_useState13","_useState14","firstLoad","setFirstLoad","_useState15","_useState16","commuteLocation","setCommuteLocation","_useState17","_useState18","selectedFilters","setSelectedFilters","_useState19","_useState20","filterOptions","setFilterOptions","_useState21","_useState22","recruiters","setRecruiters","_useState23","_useState24","filterDialogIsOpen","setFilterDialogIsOpen","_useState25","_useState26","mobileTab","setMobileTab","_useState27","_useState28","favorites","setFavorites","_useState29","_useState30","filterByFavorites","setFilterByFavorites","useEffect","loadedFavorites","JSON","parse","fetchEntities","_fetchEntities","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","distinctEntityIds","fetchedEntities","newFilteredListings","i","wrap","_callee$","_context","prev","next","_toConsumableArray","Set","map","listing","entityId","getListingEntities","concat","lat","lng","sent","length","fields","travelTime","t0","console","error","stop","companyId","handleFetchListings","_ref2","_callee2","_yield$fetchListings","listingsResult","fetchedRecruiters","distinctItems","_callee2$","_context2","fetchListings","setStorageObject","log","processListings","_applyFilters","applyFilters","filter","x","includes","id","Object","keys","removeItem","setItem","lastKey","options","generateFilterOptions","handleFilterListingsByLocation","selectedLocation","_filterListingsByLoca","filterListingsByLocation","handleSettingFavorites","newFavorites","stringify","React","createElement","Provider","value"],"mappings":";;;;;;;AAQA,IAAMA,cAAc,gBAAGC,aAAa,EAAE,CAAA;AAEzBC,IAAAA,UAAU,GAAG,SAAbA,UAAUA,GAAA;EAAA,OAASC,UAAU,CAACH,cAAc,CAAC,CAAA;AAAA,EAAA;AAE1D,IAAMI,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AACtB,EAAA,IAAIC,KAAK,CAAA;AACT;AACAA,EAAAA,KAAK,GAAG,OAAOC,MAAM,KAAK,WAAW,GAAGC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AAC1E;AACA;AACA;AACA;AACA,EAAA,OAAOH,KAAK,CAAA;AACb,CAAC,CAAA;IAEYI,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAQtB;AAAA,EAAA,IAPLC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;IACjBC,mBAAmB,GAAAL,IAAA,CAAnBK,mBAAmB;IACnBC,IAAI,GAAAN,IAAA,CAAJM,IAAI;IACJC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;AAEV;AACA;EACA,IAAAC,SAAA,GAAsCC,QAAQ,CAACC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAzEK,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAI,UAAA,GAAgDN,QAAQ,CAAC,EAAE,CAAC;IAAAO,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAArDE,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAG,UAAA,GAA8BV,QAAQ,CAAC,KAAK,CAAC;IAAAW,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAC1B,IAAAG,UAAA,GAAgCd,QAAQ,CAACC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAAAc,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAnEE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAC5B,IAAAG,UAAA,GAA0BlB,QAAQ,CAAC,YAAA;AAAA,MAAA,OAAMN,YAAY,GAAG,IAAI,GAAGT,QAAQ,EAAE,CAAA;KAAC,CAAA;IAAAkC,WAAA,GAAAhB,cAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAAnEhC,IAAAA,KAAK,GAAAiC,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,WAAA,CAAA,CAAA,CAAA,CAAA;EACtB,IAAAE,WAAA,GAA8CrB,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAAAqB,WAAA,GAAAnB,cAAA,CAAAkB,WAAA,EAAA,CAAA,CAAA;AAA1FE,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAG,WAAA,GAAkCzB,QAAQ,CAAC,IAAI,CAAC;IAAA0B,WAAA,GAAAvB,cAAA,CAAAsB,WAAA,EAAA,CAAA,CAAA;AAAzCE,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,WAAA,GAA8C7B,QAAQ,CAAC,IAAI,CAAC;IAAA8B,WAAA,GAAA3B,cAAA,CAAA0B,WAAA,EAAA,CAAA,CAAA;AAArDE,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EAC1C,IAAAG,WAAA,GAA8CjC,QAAQ,CAAC,YAAA;MAAA,OAAMN,YAAY,GAAG,EAAE,GAAGO,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;KAAC,CAAA;IAAAiC,WAAA,GAAA/B,cAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAAlHE,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;IAAEE,kBAAkB,GAAAF,WAAA,CAAgF,CAAA,CAAA,CAAA;AAC1H,EAAA,IAAAG,WAAA,GAA0CrC,QAAQ,EAAE;IAAAsC,WAAA,GAAAnC,cAAA,CAAAkC,WAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,aAAa,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EACtC,IAAAG,WAAA,GAAoCzC,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAAAyC,WAAA,GAAAvC,cAAA,CAAAsC,WAAA,EAAA,CAAA,CAAA;AAAzEE,IAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAG,WAAA,GAAoD7C,QAAQ,CAAC,KAAK,CAAC;IAAA8C,WAAA,GAAA3C,cAAA,CAAA0C,WAAA,EAAA,CAAA,CAAA;AAA5DE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAAG,WAAA,GAAkCjD,QAAQ,CAAC,SAAS,CAAC;IAAAkD,WAAA,GAAA/C,cAAA,CAAA8C,WAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,WAAA,GAAkCrD,QAAQ,CAAC,EAAE,CAAC;IAAAsD,WAAA,GAAAnD,cAAA,CAAAkD,WAAA,EAAA,CAAA,CAAA;AAAvCE,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,WAAA,GAAkDzD,QAAQ,CAAC,KAAK,CAAC;IAAA0D,WAAA,GAAAvD,cAAA,CAAAsD,WAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAE9CG,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMC,eAAe,GAAGC,IAAI,CAACC,KAAK,CAAC5E,YAAY,CAACC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3EmE,YAAY,CAACM,eAAe,CAAC,CAAA;GAC7B,EAAE,EAAE,CAAC,CAAA;AAEND,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAI9B,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAK,EAAE,EAAE,OAAA;AAAO,IAAA,SAChDkC,aAAaA,GAAA;AAAA,MAAA,OAAAC,cAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,SAAAF,cAAA,GAAA;MAAAA,cAAA,GAAAG,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAA5B,SAAAC,OAAA,GAAA;AAAA,QAAA,IAAAC,iBAAA,EAAAC,eAAA,EAAAC,mBAAA,EAAAC,CAAA,CAAA;AAAA,QAAA,OAAAN,mBAAA,EAAA,CAAAO,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,YAAA,KAAA,CAAA;cACOR,iBAAiB,GAAAS,kBAAA,CACnB,IAAIC,GAAG,CAAC/E,WAAW,CAACgF,GAAG,CAAC,UAAAC,OAAO,EAAA;gBAAA,OAAIA,OAAO,CAACC,QAAQ,CAAA;AAAA,eAAA,CAAC,CAAC,CAAA,CAAA;AAAAP,cAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,OAG1BM,kBAAkB,CAC/Cd,iBAAiB,EAAAe,EAAAA,CAAAA,MAAA,CACdzD,eAAe,CAAC0D,GAAG,EAAA,IAAA,CAAA,CAAAD,MAAA,CAAKzD,eAAe,CAAC2D,GAAG,CAC/C,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAHKhB,eAAe,GAAAK,QAAA,CAAAY,IAAA,CAAA;cAIrBnE,kBAAkB,CAACkD,eAAe,CAAC,CAAA;AAC/BC,cAAAA,mBAAmB,GAAGnE,gBAAgB,CAAA;AAC1C,cAAA,KAASoE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxE,WAAW,CAACwF,MAAM,EAAEhB,CAAC,EAAE,EAAE;gBAC5C,IAAID,mBAAmB,CAACC,CAAC,CAAC,CAACU,QAAQ,IAAI,CAAC,CAAC,EAAE;AAC1CX,kBAAAA,mBAAmB,CAACC,CAAC,CAAC,CAACiB,MAAM,CAACC,UAAU,GAAGpB,eAAe,CAACC,mBAAmB,CAACC,CAAC,CAAC,CAACU,QAAQ,CAAC,CAACQ,UAAU,CAAA;AACvG,iBAAA;AACD,eAAA;AACA,cAAA,KAASlB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,mBAAmB,CAACiB,MAAM,EAAEhB,CAAC,EAAE,EAAE;gBACpD,IAAID,mBAAmB,CAACC,CAAC,CAAC,CAACU,QAAQ,IAAI,CAAC,CAAC,EAAE;AAC1CX,kBAAAA,mBAAmB,CAACC,CAAC,CAAC,CAACiB,MAAM,CAACC,UAAU,GAAGpB,eAAe,CAACC,mBAAmB,CAACC,CAAC,CAAC,CAACU,QAAQ,CAAC,CAACQ,UAAU,CAAA;AACvG,iBAAA;AACD,eAAA;cACArF,mBAAmB,CAACkE,mBAAmB,CAAC,CAAA;AAACI,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,YAAA,KAAA,EAAA;AAAAF,cAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;cAAAD,QAAA,CAAAgB,EAAA,GAAAhB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;cAEzCiB,OAAO,CAACC,KAAK,CAAC,mCAAmC,EAAAlB,QAAA,CAAAgB,EAAO,CAAC,CAAA;AAAC,YAAA,KAAA,EAAA,CAAA;AAAA,YAAA,KAAA,KAAA;cAAA,OAAAhB,QAAA,CAAAmB,IAAA,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA,EAAA1B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;OAE3D,CAAA,CAAA,CAAA;AAAA,MAAA,OAAAN,cAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAEDH,IAAAA,aAAa,EAAE,CAAA;GACf,EAAE,CAAClC,eAAe,EAAE3B,WAAW,EAAEX,UAAU,CAAC0G,SAAS,CAAC,CAAC,CAAA;AAExDtC,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMuC,mBAAmB,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAhC,iBAAA,eAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAA+B,QAAA,GAAA;QAAA,IAAAC,oBAAA,EAAAC,cAAA,EAAAC,iBAAA,EAAA/B,eAAA,EAAAgC,aAAA,CAAA;AAAA,QAAA,OAAApC,mBAAA,EAAA,CAAAO,IAAA,CAAA,SAAA8B,UAAAC,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;AAAA,YAAA,KAAA,CAAA;cAC3B,IAAI,CAAChF,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC2F,MAAM,GAAG,CAAC,EAAE;gBACjD/E,UAAU,CAAC,IAAI,CAAC,CAAA;AACjB,eAAA;AAAC+F,cAAAA,SAAA,CAAA5B,IAAA,GAAA,CAAA,CAAA;AAAA4B,cAAAA,SAAA,CAAA3B,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,OAQU4B,aAAa,CAAC3H,KAAK,EAAEO,UAAU,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAAA8G,oBAAA,GAAAK,SAAA,CAAAjB,IAAA,CAAA;cAJzCa,cAAc,GAAAD,oBAAA,CAAdC,cAAc,CAAA;cACdC,iBAAiB,GAAAF,oBAAA,CAAjBE,iBAAiB,CAAA;cACjB/B,eAAe,GAAA6B,oBAAA,CAAf7B,eAAe,CAAA;cACfgC,aAAa,GAAAH,oBAAA,CAAbG,aAAa,CAAA;cAEdrG,cAAc,CAACmG,cAAc,CAAC,CAAA;cAC9B5D,aAAa,CAAC6D,iBAAiB,CAAC,CAAA;cAChCjF,kBAAkB,CAACkD,eAAe,CAAC,CAAA;cACnCzD,WAAW,CAACyF,aAAa,CAAC,CAAA;AAC1BI,cAAAA,gBAAgB,CAAC,UAAU,EAAEJ,aAAa,CAAC,CAAA;AAC3CI,cAAAA,gBAAgB,CAAC,iBAAiB,EAAEpC,eAAe,CAAC,CAAA;AACpDoC,cAAAA,gBAAgB,CAAC,YAAY,EAAEL,iBAAiB,CAAC,CAAA;AACjDK,cAAAA,gBAAgB,CAAC,UAAU,EAAEN,cAAc,CAAC,CAAA;AAACI,cAAAA,SAAA,CAAA3B,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,YAAA,KAAA,EAAA;AAAA2B,cAAAA,SAAA,CAAA5B,IAAA,GAAA,EAAA,CAAA;cAAA4B,SAAA,CAAAb,EAAA,GAAAa,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7CZ,cAAAA,OAAO,CAACe,GAAG,CAAAH,SAAA,CAAAb,EAAM,CAAC,CAAA;AAAC,YAAA,KAAA,EAAA;cAEpBlF,UAAU,CAAC,KAAK,CAAC,CAAA;AAAC,YAAA,KAAA,EAAA,CAAA;AAAA,YAAA,KAAA,KAAA;cAAA,OAAA+F,SAAA,CAAAV,IAAA,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA,EAAAI,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;OAClB,CAAA,CAAA,CAAA;AAAA,MAAA,OAAA,SAxBKF,mBAAmBA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAlC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,OAAA,CAAA;KAwBxB,EAAA,CAAA;AACDgC,IAAAA,mBAAmB,EAAE,CAAA;AACtB,GAAC,EAAE,CAAClH,KAAK,EAAEO,UAAU,CAAC,CAAC,CAAA;AAEvBoE,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMmD,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC7B,MAAA,IAAAC,aAAA,GAAqCC,YAAY,CAChD9G,WAAW,EACX+B,eAAe,EACfjD,KAAK,EACLqC,eAAe,EACfgC,SAAS,EACT9D,UACD,CAAC;QAPKe,gBAAgB,GAAAyG,aAAA,CAAhBzG,gBAAgB;QAAEQ,QAAQ,GAAAiG,aAAA,CAARjG,QAAQ,CAAA;AAQhC,MAAA,IAAI2C,iBAAiB,EAAE;AACtBnD,QAAAA,gBAAgB,GAAGA,gBAAgB,CAAC2G,MAAM,CAAC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAI7D,SAAS,CAAC8D,QAAQ,CAACD,CAAC,CAACE,EAAE,CAAC,CAAA;SAAC,CAAA,CAAA;AAC1E,OAAA;MACA7G,mBAAmB,CAACD,gBAAgB,CAAC,CAAA;AACrC;AACA;AACA;AACA;MACA,IAAImB,SAAS,IAAIQ,eAAe,EAAE,CAEjC,MAAM,IAAIoF,MAAM,CAACC,IAAI,CAACrF,eAAe,CAAC,CAACyD,MAAM,KAAK,CAAC,IAAI,CAACjE,SAAS,EAAE;AACnEvC,QAAAA,YAAY,CAACqI,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAC1C;AACD,OAAC,MAAM,IAAI,CAAC9F,SAAS,EAAE;AACtBmF,QAAAA,gBAAgB,CAAC,iBAAiB,EAAE3E,eAAe,CAAC,CAAA;AACpD;AACD,OAAA;AACAjD,MAAAA,KAAK,IAAI,IAAI,GAAGE,YAAY,CAACsI,OAAO,CAAC,OAAO,EAAExI,KAAK,CAAC,GAAGE,YAAY,CAACqI,UAAU,CAAC,OAAO,CAAC,CAAA;MACvFxG,WAAW,CAACD,QAAQ,CAAC,CAAA;AAErB,MAAA,IAAImB,eAAe,EAAE;AACpB,QAAA,IAAMqF,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACrF,eAAe,CAAC,CAAA;QACzC,IAAMwF,OAAO,GAAGH,IAAI,CAACA,IAAI,CAAC5B,MAAM,GAAG,CAAC,CAAC,CAAA;AACrC,QAAA,IAAMgC,OAAO,GAAGC,qBAAqB,CACpClG,SAAS,GAAGvB,WAAW,GAAGI,gBAAgB,EAC1CJ,WAAW,EACXX,UAAU,EACV8C,aAAa,EACboF,OAAO,EACPpE,SACD,CAAC,CAAA;AACD,QAAA,IAAIqE,OAAO,EAAE;UACZpF,gBAAgB,CAACoF,OAAO,CAAC,CAAA;AACzB,UAAA,IAAIjG,SAAS,EAAEC,YAAY,CAAC,KAAK,CAAC,CAAA;AACnC,SAAA;AACD,OAAA;KACA,CAAA;AAEDoF,IAAAA,eAAe,EAAE,CAAA;AAClB,GAAC,EAAE,CAAC7E,eAAe,EAAEjD,KAAK,EAAEqC,eAAe,EAAEoC,iBAAiB,EAAEJ,SAAS,CAAC,CAAC,CAAA;AAE3E,EAAA,IAAMuE,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAGC,gBAAgB,EAAI;IAC1DC,IAAAA,qBAAA,GAAuCC,wBAAwB,CAC9D7H,WAAW,EACX2H,gBAAgB,EAChBxG,eACD,CAAC,CAAA;MAJOf,gBAAgB,GAAAwH,qBAAA,CAAhBxH,gBAAgB,CAAU;IAKlCC,mBAAmB,CAACD,gBAAgB,CAAC,CAAA;AACrC;GACA,CAAA;AAED,EAAA,IAAM0H,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,YAAY,EAAI;IAC9C,IAAIA,YAAY,IAAI,IAAI,EAAE;AACzB/I,MAAAA,YAAY,CAACqI,UAAU,CAAC,WAAW,CAAC,CAAA;AACrC,KAAC,MAAM;MACNjE,YAAY,CAAC2E,YAAY,CAAC,CAAA;MAC1B/I,YAAY,CAACsI,OAAO,CAAC,WAAW,EAAE3D,IAAI,CAACqE,SAAS,CAACD,YAAY,CAAC,CAAC,CAAA;AAChE,KAAA;GACA,CAAA;AAED,EAAA,oBACCE,KAAA,CAAAC,aAAA,CAACzJ,cAAc,CAAC0J,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE;AAC/B5H,MAAAA,OAAO,EAAPA,OAAO;AACPR,MAAAA,WAAW,EAAXA,WAAW;AACXI,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBQ,MAAAA,QAAQ,EAARA,QAAQ;AACR9B,MAAAA,KAAK,EAALA,KAAK;AACLuB,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBW,MAAAA,QAAQ,EAARA,QAAQ;AACRG,MAAAA,eAAe,EAAfA,eAAe;AACfY,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBG,MAAAA,aAAa,EAAbA,aAAa;AACbI,MAAAA,UAAU,EAAVA,UAAU;AACVmF,MAAAA,8BAA8B,EAA9BA,8BAA8B;AAC9B/E,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBI,MAAAA,YAAY,EAAZA,YAAY;AACZD,MAAAA,SAAS,EAATA,SAAS;AACT1D,MAAAA,UAAU,EAAVA,UAAU;AACV8D,MAAAA,SAAS,EAATA,SAAS;AACT2E,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBtE,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB5B,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBrC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,UAAU,EAAVA,UAAAA;AACD,KAAA;AAAE,GAAA,EACAN,QACuB,CAAC,CAAA;AAE5B;;;;"}
|
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import React, { useState, useEffect, createContext, useContext } from 'react';
|
|
3
|
-
import { markerIconProps } from '../util/mapIconUtil.js';
|
|
4
|
-
import { useMap } from './mapContext.js';
|
|
5
|
-
import { searchNearbyPlaces } from '../services/googlePlacesNearbyService.js';
|
|
6
|
-
|
|
7
|
-
var PlacesContext = /*#__PURE__*/createContext();
|
|
8
|
-
var usePlaces = function usePlaces() {
|
|
9
|
-
return useContext(PlacesContext);
|
|
10
|
-
};
|
|
11
|
-
var PlacesProvider = function PlacesProvider(_ref) {
|
|
12
|
-
var children = _ref.children,
|
|
13
|
-
placeMappings = _ref.placeMappings,
|
|
14
|
-
markerColors = _ref.markerColors;
|
|
15
|
-
var _useMap = useMap(),
|
|
16
|
-
selectedPlaces = _useMap.selectedPlaces,
|
|
17
|
-
zoom = _useMap.zoom,
|
|
18
|
-
center = _useMap.center;
|
|
19
|
-
var _useState = useState({
|
|
20
|
-
markers: [],
|
|
21
|
-
icon: null
|
|
22
|
-
}),
|
|
23
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
-
poiMarkers = _useState2[0],
|
|
25
|
-
setPoiMarkers = _useState2[1];
|
|
26
|
-
var _useState3 = useState(center),
|
|
27
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
-
currentCenter = _useState4[0],
|
|
29
|
-
setCurrentCenter = _useState4[1];
|
|
30
|
-
var _useState5 = useState(zoom),
|
|
31
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
32
|
-
currentZoom = _useState6[0],
|
|
33
|
-
setCurrentZoom = _useState6[1];
|
|
34
|
-
var _useState7 = useState(false),
|
|
35
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
36
|
-
placesWindow = _useState8[0],
|
|
37
|
-
setPlacesWindow = _useState8[1];
|
|
38
|
-
var _useState9 = useState(null),
|
|
39
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
40
|
-
selectedPlaceMarker = _useState10[0],
|
|
41
|
-
setSelectedPlaceMarker = _useState10[1];
|
|
42
|
-
var getRadiusForZoom = function getRadiusForZoom() {
|
|
43
|
-
if (currentZoom >= 18) return 1000;
|
|
44
|
-
if (currentZoom <= 10) return 0;
|
|
45
|
-
var tempZoom = Math.pow(19 - currentZoom, 4.85);
|
|
46
|
-
var radius = tempZoom;
|
|
47
|
-
var minRadius = 1500;
|
|
48
|
-
var maxRadius = 800000;
|
|
49
|
-
if (radius < minRadius) radius = minRadius;else if (radius > maxRadius) radius = maxRadius;
|
|
50
|
-
return radius;
|
|
51
|
-
};
|
|
52
|
-
useEffect(function () {
|
|
53
|
-
if (!selectedPlaces || !selectedPlaces.length > 0 || !center || currentZoom < 12) {
|
|
54
|
-
setPoiMarkers({
|
|
55
|
-
markers: [],
|
|
56
|
-
icon: null
|
|
57
|
-
});
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
var fetchPlaces = /*#__PURE__*/function () {
|
|
61
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
62
|
-
var poiTypes, selectedPOICategories, radius, location, response, newMarkers;
|
|
63
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
64
|
-
while (1) switch (_context.prev = _context.next) {
|
|
65
|
-
case 0:
|
|
66
|
-
poiTypes = [];
|
|
67
|
-
selectedPOICategories = selectedPlaces;
|
|
68
|
-
selectedPOICategories.forEach(function (pointOfInterest) {
|
|
69
|
-
poiTypes = poiTypes.concat(placeMappings[pointOfInterest]);
|
|
70
|
-
});
|
|
71
|
-
radius = getRadiusForZoom();
|
|
72
|
-
location = {
|
|
73
|
-
latitude: currentCenter.lat,
|
|
74
|
-
longitude: currentCenter.lng
|
|
75
|
-
};
|
|
76
|
-
_context.prev = 5;
|
|
77
|
-
_context.next = 8;
|
|
78
|
-
return searchNearbyPlaces(poiTypes, location, radius);
|
|
79
|
-
case 8:
|
|
80
|
-
response = _context.sent;
|
|
81
|
-
newMarkers = response.places.map(function (place) {
|
|
82
|
-
var getParentCategory = function getParentCategory(types) {
|
|
83
|
-
var selectedTypes = selectedPOICategories.reduce(function (acc, category) {
|
|
84
|
-
return acc.concat(placeMappings[category]);
|
|
85
|
-
}, []);
|
|
86
|
-
var _iterator = _createForOfIteratorHelper(types),
|
|
87
|
-
_step;
|
|
88
|
-
try {
|
|
89
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
90
|
-
var type = _step.value;
|
|
91
|
-
if (!selectedTypes.includes(type)) continue;
|
|
92
|
-
for (var category in placeMappings) {
|
|
93
|
-
if (placeMappings[category].includes(type)) {
|
|
94
|
-
return category;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
} catch (err) {
|
|
99
|
-
_iterator.e(err);
|
|
100
|
-
} finally {
|
|
101
|
-
_iterator.f();
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
var icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));
|
|
105
|
-
return {
|
|
106
|
-
position: {
|
|
107
|
-
lat: place.location.latitude,
|
|
108
|
-
lng: place.location.longitude
|
|
109
|
-
},
|
|
110
|
-
title: place.displayName.text,
|
|
111
|
-
icon: icon
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
setPoiMarkers({
|
|
115
|
-
markers: newMarkers,
|
|
116
|
-
icon: null
|
|
117
|
-
});
|
|
118
|
-
_context.next = 16;
|
|
119
|
-
break;
|
|
120
|
-
case 13:
|
|
121
|
-
_context.prev = 13;
|
|
122
|
-
_context.t0 = _context["catch"](5);
|
|
123
|
-
console.error('Failed to fetch places:', _context.t0);
|
|
124
|
-
case 16:
|
|
125
|
-
case "end":
|
|
126
|
-
return _context.stop();
|
|
127
|
-
}
|
|
128
|
-
}, _callee, null, [[5, 13]]);
|
|
129
|
-
}));
|
|
130
|
-
return function fetchPlaces() {
|
|
131
|
-
return _ref2.apply(this, arguments);
|
|
132
|
-
};
|
|
133
|
-
}();
|
|
134
|
-
fetchPlaces();
|
|
135
|
-
}, [selectedPlaces, currentZoom, currentCenter]);
|
|
136
|
-
return /*#__PURE__*/React.createElement(PlacesContext.Provider, {
|
|
137
|
-
value: {
|
|
138
|
-
poiMarkers: poiMarkers,
|
|
139
|
-
setCurrentCenter: setCurrentCenter,
|
|
140
|
-
currentCenter: currentCenter,
|
|
141
|
-
setCurrentZoom: setCurrentZoom,
|
|
142
|
-
currentZoom: currentZoom,
|
|
143
|
-
placesWindow: placesWindow,
|
|
144
|
-
setPlacesWindow: setPlacesWindow,
|
|
145
|
-
selectedPlaceMarker: selectedPlaceMarker,
|
|
146
|
-
setSelectedPlaceMarker: setSelectedPlaceMarker
|
|
147
|
-
}
|
|
148
|
-
}, children);
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
export { PlacesProvider, usePlaces };
|
|
152
|
-
//# sourceMappingURL=placesContext.js.map
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useState, useEffect, createContext, useContext } from 'react';
|
|
3
|
+
import { markerIconProps } from '../util/mapIconUtil.js';
|
|
4
|
+
import { useMap } from './mapContext.js';
|
|
5
|
+
import { searchNearbyPlaces } from '../services/googlePlacesNearbyService.js';
|
|
6
|
+
|
|
7
|
+
var PlacesContext = /*#__PURE__*/createContext();
|
|
8
|
+
var usePlaces = function usePlaces() {
|
|
9
|
+
return useContext(PlacesContext);
|
|
10
|
+
};
|
|
11
|
+
var PlacesProvider = function PlacesProvider(_ref) {
|
|
12
|
+
var children = _ref.children,
|
|
13
|
+
placeMappings = _ref.placeMappings,
|
|
14
|
+
markerColors = _ref.markerColors;
|
|
15
|
+
var _useMap = useMap(),
|
|
16
|
+
selectedPlaces = _useMap.selectedPlaces,
|
|
17
|
+
zoom = _useMap.zoom,
|
|
18
|
+
center = _useMap.center;
|
|
19
|
+
var _useState = useState({
|
|
20
|
+
markers: [],
|
|
21
|
+
icon: null
|
|
22
|
+
}),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
poiMarkers = _useState2[0],
|
|
25
|
+
setPoiMarkers = _useState2[1];
|
|
26
|
+
var _useState3 = useState(center),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
currentCenter = _useState4[0],
|
|
29
|
+
setCurrentCenter = _useState4[1];
|
|
30
|
+
var _useState5 = useState(zoom),
|
|
31
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
32
|
+
currentZoom = _useState6[0],
|
|
33
|
+
setCurrentZoom = _useState6[1];
|
|
34
|
+
var _useState7 = useState(false),
|
|
35
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
36
|
+
placesWindow = _useState8[0],
|
|
37
|
+
setPlacesWindow = _useState8[1];
|
|
38
|
+
var _useState9 = useState(null),
|
|
39
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
40
|
+
selectedPlaceMarker = _useState10[0],
|
|
41
|
+
setSelectedPlaceMarker = _useState10[1];
|
|
42
|
+
var getRadiusForZoom = function getRadiusForZoom() {
|
|
43
|
+
if (currentZoom >= 18) return 1000;
|
|
44
|
+
if (currentZoom <= 10) return 0;
|
|
45
|
+
var tempZoom = Math.pow(19 - currentZoom, 4.85);
|
|
46
|
+
var radius = tempZoom;
|
|
47
|
+
var minRadius = 1500;
|
|
48
|
+
var maxRadius = 800000;
|
|
49
|
+
if (radius < minRadius) radius = minRadius;else if (radius > maxRadius) radius = maxRadius;
|
|
50
|
+
return radius;
|
|
51
|
+
};
|
|
52
|
+
useEffect(function () {
|
|
53
|
+
if (!selectedPlaces || !selectedPlaces.length > 0 || !center || currentZoom < 12) {
|
|
54
|
+
setPoiMarkers({
|
|
55
|
+
markers: [],
|
|
56
|
+
icon: null
|
|
57
|
+
});
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
var fetchPlaces = /*#__PURE__*/function () {
|
|
61
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
62
|
+
var poiTypes, selectedPOICategories, radius, location, response, newMarkers;
|
|
63
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
64
|
+
while (1) switch (_context.prev = _context.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
poiTypes = [];
|
|
67
|
+
selectedPOICategories = selectedPlaces;
|
|
68
|
+
selectedPOICategories.forEach(function (pointOfInterest) {
|
|
69
|
+
poiTypes = poiTypes.concat(placeMappings[pointOfInterest]);
|
|
70
|
+
});
|
|
71
|
+
radius = getRadiusForZoom();
|
|
72
|
+
location = {
|
|
73
|
+
latitude: currentCenter.lat,
|
|
74
|
+
longitude: currentCenter.lng
|
|
75
|
+
};
|
|
76
|
+
_context.prev = 5;
|
|
77
|
+
_context.next = 8;
|
|
78
|
+
return searchNearbyPlaces(poiTypes, location, radius);
|
|
79
|
+
case 8:
|
|
80
|
+
response = _context.sent;
|
|
81
|
+
newMarkers = response.places.map(function (place) {
|
|
82
|
+
var getParentCategory = function getParentCategory(types) {
|
|
83
|
+
var selectedTypes = selectedPOICategories.reduce(function (acc, category) {
|
|
84
|
+
return acc.concat(placeMappings[category]);
|
|
85
|
+
}, []);
|
|
86
|
+
var _iterator = _createForOfIteratorHelper(types),
|
|
87
|
+
_step;
|
|
88
|
+
try {
|
|
89
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
90
|
+
var type = _step.value;
|
|
91
|
+
if (!selectedTypes.includes(type)) continue;
|
|
92
|
+
for (var category in placeMappings) {
|
|
93
|
+
if (placeMappings[category].includes(type)) {
|
|
94
|
+
return category;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
} catch (err) {
|
|
99
|
+
_iterator.e(err);
|
|
100
|
+
} finally {
|
|
101
|
+
_iterator.f();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));
|
|
105
|
+
return {
|
|
106
|
+
position: {
|
|
107
|
+
lat: place.location.latitude,
|
|
108
|
+
lng: place.location.longitude
|
|
109
|
+
},
|
|
110
|
+
title: place.displayName.text,
|
|
111
|
+
icon: icon
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
setPoiMarkers({
|
|
115
|
+
markers: newMarkers,
|
|
116
|
+
icon: null
|
|
117
|
+
});
|
|
118
|
+
_context.next = 16;
|
|
119
|
+
break;
|
|
120
|
+
case 13:
|
|
121
|
+
_context.prev = 13;
|
|
122
|
+
_context.t0 = _context["catch"](5);
|
|
123
|
+
console.error('Failed to fetch places:', _context.t0);
|
|
124
|
+
case 16:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context.stop();
|
|
127
|
+
}
|
|
128
|
+
}, _callee, null, [[5, 13]]);
|
|
129
|
+
}));
|
|
130
|
+
return function fetchPlaces() {
|
|
131
|
+
return _ref2.apply(this, arguments);
|
|
132
|
+
};
|
|
133
|
+
}();
|
|
134
|
+
fetchPlaces();
|
|
135
|
+
}, [selectedPlaces, currentZoom, currentCenter]);
|
|
136
|
+
return /*#__PURE__*/React.createElement(PlacesContext.Provider, {
|
|
137
|
+
value: {
|
|
138
|
+
poiMarkers: poiMarkers,
|
|
139
|
+
setCurrentCenter: setCurrentCenter,
|
|
140
|
+
currentCenter: currentCenter,
|
|
141
|
+
setCurrentZoom: setCurrentZoom,
|
|
142
|
+
currentZoom: currentZoom,
|
|
143
|
+
placesWindow: placesWindow,
|
|
144
|
+
setPlacesWindow: setPlacesWindow,
|
|
145
|
+
selectedPlaceMarker: selectedPlaceMarker,
|
|
146
|
+
setSelectedPlaceMarker: setSelectedPlaceMarker
|
|
147
|
+
}
|
|
148
|
+
}, children);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export { PlacesProvider, usePlaces };
|
|
152
|
+
//# sourceMappingURL=placesContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placesContext.js","sources":["../../src/contexts/placesContext.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\n\nimport { markerIconProps } from '~/util/mapIconUtil';\n\nimport { useMap } from '~/contexts/mapContext';\n\nimport { searchNearbyPlaces } from '~/services/googlePlacesNearbyService';\n\nconst PlacesContext = createContext();\n\nexport const usePlaces = () => useContext(PlacesContext);\n\nexport const PlacesProvider = ({ children, placeMappings, markerColors }) => {\n\tconst { selectedPlaces, zoom, center } = useMap();\n\tconst [poiMarkers, setPoiMarkers] = useState({ markers: [], icon: null });\n\tconst [currentCenter, setCurrentCenter] = useState(center);\n\tconst [currentZoom, setCurrentZoom] = useState(zoom);\n\tconst [placesWindow, setPlacesWindow] = useState(false);\n\tconst [selectedPlaceMarker, setSelectedPlaceMarker] = useState(null);\n\n\tconst getRadiusForZoom = () => {\n\t\tif (currentZoom >= 18) return 1000;\n\t\tif (currentZoom <= 10) return 0;\n\n\t\tlet tempZoom = Math.pow(19 - currentZoom, 4.85);\n\t\tlet radius = tempZoom;\n\t\tlet minRadius = 1500;\n\t\tlet maxRadius = 800000;\n\n\t\tif (radius < minRadius) radius = minRadius;\n\t\telse if (radius > maxRadius) radius = maxRadius;\n\n\t\treturn radius;\n\t};\n\n\tuseEffect(() => {\n\t\tif (!selectedPlaces || (!selectedPlaces.length > 0) || !center || currentZoom < 12) {\n\t\t\tsetPoiMarkers({ markers: [], icon: null });\n\t\t\treturn;\n\t\t}\n\t\tconst fetchPlaces = async () => {\n\t\t\tlet poiTypes = [];\n\t\t\tconst selectedPOICategories = selectedPlaces;\n\t\t\tselectedPOICategories.forEach(pointOfInterest => {\n\t\t\t\tpoiTypes = poiTypes.concat(placeMappings[pointOfInterest]);\n\t\t\t});\n\n\t\t\tconst radius = getRadiusForZoom();\n\t\t\tconst location = { latitude: currentCenter.lat, longitude: currentCenter.lng };\n\n\t\t\ttry {\n\t\t\t\tconst response = await searchNearbyPlaces(poiTypes, location, radius);\n\t\t\t\tconst newMarkers = response.places.map(place => {\n\t\t\t\t\tconst getParentCategory = types => {\n\t\t\t\t\t\tconst selectedTypes = selectedPOICategories.reduce((acc, category) => {\n\t\t\t\t\t\t\treturn acc.concat(placeMappings[category]);\n\t\t\t\t\t\t}, []);\n\n\t\t\t\t\t\tfor (const type of types) {\n\t\t\t\t\t\t\tif (!selectedTypes.includes(type)) continue;\n\t\t\t\t\t\t\tfor (const category in placeMappings) {\n\t\t\t\t\t\t\t\tif (placeMappings[category].includes(type)) {\n\t\t\t\t\t\t\t\t\treturn category;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tconst icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tposition: { lat: place.location.latitude, lng: place.location.longitude },\n\t\t\t\t\t\ttitle: place.displayName.text,\n\t\t\t\t\t\ticon: icon\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tsetPoiMarkers({ markers: newMarkers, icon: null });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to fetch places:', error);\n\t\t\t}\n\t\t};\n\n\t\tfetchPlaces();\n\t}, [selectedPlaces, currentZoom, currentCenter]);\n\n\treturn (\n\t\t<PlacesContext.Provider value={{\n\t\t\tpoiMarkers,\n\t\t\tsetCurrentCenter,\n\t\t\tcurrentCenter,\n\t\t\tsetCurrentZoom,\n\t\t\tcurrentZoom,\n\t\t\tplacesWindow,\n\t\t\tsetPlacesWindow,\n\t\t\tselectedPlaceMarker,\n\t\t\tsetSelectedPlaceMarker\n\t\t}}>\n\t\t\t{children}\n\t\t</PlacesContext.Provider>\n\t);\n};\n"],"names":["PlacesContext","createContext","usePlaces","useContext","PlacesProvider","_ref","children","placeMappings","markerColors","_useMap","useMap","selectedPlaces","zoom","center","_useState","useState","markers","icon","_useState2","_slicedToArray","poiMarkers","setPoiMarkers","_useState3","_useState4","currentCenter","setCurrentCenter","_useState5","_useState6","currentZoom","setCurrentZoom","_useState7","_useState8","placesWindow","setPlacesWindow","_useState9","_useState10","selectedPlaceMarker","setSelectedPlaceMarker","getRadiusForZoom","tempZoom","Math","pow","radius","minRadius","maxRadius","useEffect","length","fetchPlaces","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","poiTypes","selectedPOICategories","location","response","newMarkers","wrap","_callee$","_context","prev","next","forEach","pointOfInterest","concat","latitude","lat","longitude","lng","searchNearbyPlaces","sent","places","map","place","getParentCategory","types","selectedTypes","reduce","acc","category","_iterator","_createForOfIteratorHelper","_step","s","n","done","type","value","includes","err","e","f","markerIconProps","placeMarkers","position","title","displayName","text","t0","console","error","stop","apply","arguments","React","createElement","Provider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"placesContext.js","sources":["../../src/contexts/placesContext.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\r\n\r\nimport { markerIconProps } from '~/util/mapIconUtil';\r\n\r\nimport { useMap } from '~/contexts/mapContext';\r\n\r\nimport { searchNearbyPlaces } from '~/services/googlePlacesNearbyService';\r\n\r\nconst PlacesContext = createContext();\r\n\r\nexport const usePlaces = () => useContext(PlacesContext);\r\n\r\nexport const PlacesProvider = ({ children, placeMappings, markerColors }) => {\r\n\tconst { selectedPlaces, zoom, center } = useMap();\r\n\tconst [poiMarkers, setPoiMarkers] = useState({ markers: [], icon: null });\r\n\tconst [currentCenter, setCurrentCenter] = useState(center);\r\n\tconst [currentZoom, setCurrentZoom] = useState(zoom);\r\n\tconst [placesWindow, setPlacesWindow] = useState(false);\r\n\tconst [selectedPlaceMarker, setSelectedPlaceMarker] = useState(null);\r\n\r\n\tconst getRadiusForZoom = () => {\r\n\t\tif (currentZoom >= 18) return 1000;\r\n\t\tif (currentZoom <= 10) return 0;\r\n\r\n\t\tlet tempZoom = Math.pow(19 - currentZoom, 4.85);\r\n\t\tlet radius = tempZoom;\r\n\t\tlet minRadius = 1500;\r\n\t\tlet maxRadius = 800000;\r\n\r\n\t\tif (radius < minRadius) radius = minRadius;\r\n\t\telse if (radius > maxRadius) radius = maxRadius;\r\n\r\n\t\treturn radius;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!selectedPlaces || (!selectedPlaces.length > 0) || !center || currentZoom < 12) {\r\n\t\t\tsetPoiMarkers({ markers: [], icon: null });\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst fetchPlaces = async () => {\r\n\t\t\tlet poiTypes = [];\r\n\t\t\tconst selectedPOICategories = selectedPlaces;\r\n\t\t\tselectedPOICategories.forEach(pointOfInterest => {\r\n\t\t\t\tpoiTypes = poiTypes.concat(placeMappings[pointOfInterest]);\r\n\t\t\t});\r\n\r\n\t\t\tconst radius = getRadiusForZoom();\r\n\t\t\tconst location = { latitude: currentCenter.lat, longitude: currentCenter.lng };\r\n\r\n\t\t\ttry {\r\n\t\t\t\tconst response = await searchNearbyPlaces(poiTypes, location, radius);\r\n\t\t\t\tconst newMarkers = response.places.map(place => {\r\n\t\t\t\t\tconst getParentCategory = types => {\r\n\t\t\t\t\t\tconst selectedTypes = selectedPOICategories.reduce((acc, category) => {\r\n\t\t\t\t\t\t\treturn acc.concat(placeMappings[category]);\r\n\t\t\t\t\t\t}, []);\r\n\r\n\t\t\t\t\t\tfor (const type of types) {\r\n\t\t\t\t\t\t\tif (!selectedTypes.includes(type)) continue;\r\n\t\t\t\t\t\t\tfor (const category in placeMappings) {\r\n\t\t\t\t\t\t\t\tif (placeMappings[category].includes(type)) {\r\n\t\t\t\t\t\t\t\t\treturn category;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tconst icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tposition: { lat: place.location.latitude, lng: place.location.longitude },\r\n\t\t\t\t\t\ttitle: place.displayName.text,\r\n\t\t\t\t\t\ticon: icon\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t\tsetPoiMarkers({ markers: newMarkers, icon: null });\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Failed to fetch places:', error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfetchPlaces();\r\n\t}, [selectedPlaces, currentZoom, currentCenter]);\r\n\r\n\treturn (\r\n\t\t<PlacesContext.Provider value={{\r\n\t\t\tpoiMarkers,\r\n\t\t\tsetCurrentCenter,\r\n\t\t\tcurrentCenter,\r\n\t\t\tsetCurrentZoom,\r\n\t\t\tcurrentZoom,\r\n\t\t\tplacesWindow,\r\n\t\t\tsetPlacesWindow,\r\n\t\t\tselectedPlaceMarker,\r\n\t\t\tsetSelectedPlaceMarker\r\n\t\t}}>\r\n\t\t\t{children}\r\n\t\t</PlacesContext.Provider>\r\n\t);\r\n};\r\n"],"names":["PlacesContext","createContext","usePlaces","useContext","PlacesProvider","_ref","children","placeMappings","markerColors","_useMap","useMap","selectedPlaces","zoom","center","_useState","useState","markers","icon","_useState2","_slicedToArray","poiMarkers","setPoiMarkers","_useState3","_useState4","currentCenter","setCurrentCenter","_useState5","_useState6","currentZoom","setCurrentZoom","_useState7","_useState8","placesWindow","setPlacesWindow","_useState9","_useState10","selectedPlaceMarker","setSelectedPlaceMarker","getRadiusForZoom","tempZoom","Math","pow","radius","minRadius","maxRadius","useEffect","length","fetchPlaces","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","poiTypes","selectedPOICategories","location","response","newMarkers","wrap","_callee$","_context","prev","next","forEach","pointOfInterest","concat","latitude","lat","longitude","lng","searchNearbyPlaces","sent","places","map","place","getParentCategory","types","selectedTypes","reduce","acc","category","_iterator","_createForOfIteratorHelper","_step","s","n","done","type","value","includes","err","e","f","markerIconProps","placeMarkers","position","title","displayName","text","t0","console","error","stop","apply","arguments","React","createElement","Provider"],"mappings":"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"}
|