@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.
Files changed (132) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -516
  2. package/dist/apis/hcApi.js +189 -189
  3. package/dist/apis/hcApi.js.map +1 -1
  4. package/dist/clientToken.js +10 -10
  5. package/dist/clientToken.js.map +1 -1
  6. package/dist/components/HireControlMap.js +135 -135
  7. package/dist/components/HireControlMap.js.map +1 -1
  8. package/dist/components/modules/accordions/MapAccordionItem.js +76 -76
  9. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  10. package/dist/components/modules/accordions/default.js +108 -108
  11. package/dist/components/modules/accordions/default.js.map +1 -1
  12. package/dist/components/modules/accordions/filterItem.js +50 -50
  13. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  14. package/dist/components/modules/accordions/filters.js +46 -46
  15. package/dist/components/modules/accordions/filters.js.map +1 -1
  16. package/dist/components/modules/buttons/button-group-apply.js +87 -87
  17. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  18. package/dist/components/modules/buttons/commute-pill.js +18 -18
  19. package/dist/components/modules/buttons/commute-pill.js.map +1 -1
  20. package/dist/components/modules/buttons/default.js +145 -145
  21. package/dist/components/modules/buttons/default.js.map +1 -1
  22. package/dist/components/modules/buttons/items-pill.js +23 -23
  23. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  24. package/dist/components/modules/buttons/pill-wrapper.js +20 -20
  25. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  26. package/dist/components/modules/buttons/show-all-button.js +39 -39
  27. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  28. package/dist/components/modules/cards/default.js +102 -102
  29. package/dist/components/modules/cards/default.js.map +1 -1
  30. package/dist/components/modules/cards/filter.js +38 -38
  31. package/dist/components/modules/cards/filter.js.map +1 -1
  32. package/dist/components/modules/dialogs/apply-dialog.js +46 -46
  33. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  34. package/dist/components/modules/filter/commute.js +184 -184
  35. package/dist/components/modules/filter/commute.js.map +1 -1
  36. package/dist/components/modules/filter/index.js +79 -79
  37. package/dist/components/modules/filter/index.js.map +1 -1
  38. package/dist/components/modules/filter/item.js +71 -71
  39. package/dist/components/modules/filter/item.js.map +1 -1
  40. package/dist/components/modules/filter/location.js +68 -68
  41. package/dist/components/modules/filter/location.js.map +1 -1
  42. package/dist/components/modules/filter/points-of-interest.js +38 -38
  43. package/dist/components/modules/filter/points-of-interest.js.map +1 -1
  44. package/dist/components/modules/filter/radio-item.js +46 -46
  45. package/dist/components/modules/filter/radio-item.js.map +1 -1
  46. package/dist/components/modules/filter/search.js +83 -83
  47. package/dist/components/modules/filter/search.js.map +1 -1
  48. package/dist/components/modules/filter/sort.js +93 -93
  49. package/dist/components/modules/filter/sort.js.map +1 -1
  50. package/dist/components/modules/grid.js +39 -39
  51. package/dist/components/modules/grid.js.map +1 -1
  52. package/dist/components/modules/icon.js +23 -23
  53. package/dist/components/modules/icon.js.map +1 -1
  54. package/dist/components/modules/jobListing/listing-details.js +71 -71
  55. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  56. package/dist/components/modules/maps/info-window-card.js +14 -14
  57. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  58. package/dist/components/modules/maps/info-window-content.js +49 -39
  59. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  60. package/dist/components/modules/maps/list/field-mapper.js +88 -88
  61. package/dist/components/modules/maps/list/field-mapper.js.map +1 -1
  62. package/dist/components/modules/maps/list/header-item.js +59 -59
  63. package/dist/components/modules/maps/list/header-item.js.map +1 -1
  64. package/dist/components/modules/maps/list/header.js +37 -37
  65. package/dist/components/modules/maps/list/header.js.map +1 -1
  66. package/dist/components/modules/maps/list/index.js +93 -93
  67. package/dist/components/modules/maps/list/index.js.map +1 -1
  68. package/dist/components/modules/maps/list/item-expand-card/index.js +16 -16
  69. package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -1
  70. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -38
  71. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -1
  72. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -40
  73. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -1
  74. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -20
  75. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -1
  76. package/dist/components/modules/maps/list/list-item/index.js +98 -98
  77. package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
  78. package/dist/components/modules/maps/map-list.js +57 -57
  79. package/dist/components/modules/maps/map-list.js.map +1 -1
  80. package/dist/components/modules/maps/map-marker.js +85 -85
  81. package/dist/components/modules/maps/map-marker.js.map +1 -1
  82. package/dist/components/modules/maps/map.js +201 -201
  83. package/dist/components/modules/maps/map.js.map +1 -1
  84. package/dist/components/modules/maps/place-marker.js +37 -37
  85. package/dist/components/modules/maps/place-marker.js.map +1 -1
  86. package/dist/components/modules/maps/tabs.js +84 -84
  87. package/dist/components/modules/maps/tabs.js.map +1 -1
  88. package/dist/constants/placeTypes.js +11 -11
  89. package/dist/constants/placeTypes.js.map +1 -1
  90. package/dist/contexts/mapContext.js +133 -133
  91. package/dist/contexts/mapContext.js.map +1 -1
  92. package/dist/contexts/mapListContext.js +280 -280
  93. package/dist/contexts/mapListContext.js.map +1 -1
  94. package/dist/contexts/placesContext.js +152 -152
  95. package/dist/contexts/placesContext.js.map +1 -1
  96. package/dist/hooks/useList.js +119 -119
  97. package/dist/hooks/useList.js.map +1 -1
  98. package/dist/index.js +2 -2
  99. package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -372
  100. package/dist/services/apis/hcApi.js +189 -189
  101. package/dist/services/apis/hcApi.js.map +1 -1
  102. package/dist/services/clientToken.js +7 -7
  103. package/dist/services/clientToken.js.map +1 -1
  104. package/dist/services/configService.js +33 -33
  105. package/dist/services/configService.js.map +1 -1
  106. package/dist/services/googlePlacesNearbyService.js +61 -61
  107. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  108. package/dist/services/listingAggregatorService.js +56 -56
  109. package/dist/services/listingAggregatorService.js.map +1 -1
  110. package/dist/services/listingEntityService.js +36 -36
  111. package/dist/services/listingEntityService.js.map +1 -1
  112. package/dist/services/listingService.js +64 -64
  113. package/dist/services/listingService.js.map +1 -1
  114. package/dist/services/recruiterService.js +36 -36
  115. package/dist/services/recruiterService.js.map +1 -1
  116. package/dist/services/styles/index.css +2 -2
  117. package/dist/styles/index.css +2 -2
  118. package/dist/util/filterUtil.js +213 -213
  119. package/dist/util/filterUtil.js.map +1 -1
  120. package/dist/util/loading.js +16 -16
  121. package/dist/util/loading.js.map +1 -1
  122. package/dist/util/localStorageUtil.js +32 -32
  123. package/dist/util/localStorageUtil.js.map +1 -1
  124. package/dist/util/mapIconUtil.js +73 -73
  125. package/dist/util/mapIconUtil.js.map +1 -1
  126. package/dist/util/mapUtil.js +76 -76
  127. package/dist/util/mapUtil.js.map +1 -1
  128. package/dist/util/sortUtil.js +33 -33
  129. package/dist/util/sortUtil.js.map +1 -1
  130. package/dist/util/stringUtils.js +9 -9
  131. package/dist/util/stringUtils.js.map +1 -1
  132. 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":";;;;;;;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
+ {"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":"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"}
@@ -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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"}