@abcagency/hc-ui-components 1.3.15 → 1.3.17
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/apis/hcApi.js +1 -1
- package/dist/apis/hcApi.js.map +1 -1
- package/dist/components/HireControlMap.js +15 -5
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +11 -1
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/accordions/filterItem.js.map +1 -1
- package/dist/components/modules/accordions/filters.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +36 -15
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/filter/commute.js +22 -6
- package/dist/components/modules/filter/commute.js.map +1 -1
- package/dist/components/modules/filter/index.js +7 -0
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/item.js +10 -0
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +2 -4
- package/dist/components/modules/filter/location.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +7 -0
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details.js +6 -0
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/maps/info-window-content.js +20 -0
- package/dist/components/modules/maps/info-window-content.js.map +1 -1
- package/dist/components/modules/maps/list/index.js +10 -2
- package/dist/components/modules/maps/list/index.js.map +1 -1
- package/dist/components/modules/maps/list/list-item/index.js +12 -2
- package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
- package/dist/components/modules/maps/map-marker.js +10 -0
- package/dist/components/modules/maps/map-marker.js.map +1 -1
- package/dist/constants/eventTypes.js +16 -0
- package/dist/constants/eventTypes.js.map +1 -0
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +4 -2
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/trackEventContext.js +20 -0
- package/dist/contexts/trackEventContext.js.map +1 -0
- package/dist/hooks/useList.js.map +1 -1
- package/dist/services/apis/hcApi.js +1 -1
- package/dist/services/apis/hcApi.js.map +1 -1
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/util/mapIconUtil.js.map +1 -1
- package/package.json +1 -1
- package/src/components/HireControlMap.js +60 -55
- package/src/components/modules/accordions/MapAccordionItem.js +3 -1
- package/src/components/modules/accordions/filterItem.js +55 -55
- package/src/components/modules/accordions/filters.js +47 -47
- package/src/components/modules/buttons/button-group-apply.js +73 -66
- package/src/components/modules/filter/commute.js +7 -2
- package/src/components/modules/filter/index.js +89 -87
- package/src/components/modules/filter/item.js +87 -81
- package/src/components/modules/filter/location.js +71 -73
- package/src/components/modules/filter/radio-item.js +4 -0
- package/src/components/modules/jobListing/listing-details.js +4 -0
- package/src/components/modules/maps/info-window-content.js +8 -1
- package/src/components/modules/maps/list/index.js +112 -107
- package/src/components/modules/maps/list/list-item/index.js +3 -1
- package/src/components/modules/maps/map-marker.js +3 -1
- package/src/constants/eventTypes.js +13 -0
- package/src/contexts/mapContext.js +101 -101
- package/src/contexts/mapListContext.js +242 -240
- package/src/contexts/trackEventContext.js +14 -0
- package/src/hooks/useList.js +89 -89
- package/src/services/listingAggregatorService.js +50 -50
- package/src/util/mapIconUtil.js +18 -18
- package/src/util/urlFilterUtil.js +90 -90
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/modules/maps/list/list-item/index.js"],"sourcesContent":["import React, { forwardRef } from 'react';\r\n\r\nimport Grid from '~/components/modules/grid';\r\nimport Icon from '~/components/modules/icon';\r\nimport FieldMapper from '~/components/modules/maps/list/field-mapper';\r\n\r\nimport { useMapList } from '~/contexts/mapListContext';\r\n\r\nconst ListItem = forwardRef(\r\n\t(\r\n\t\t{\r\n\t\t\tisActive,\r\n\t\t\tbodyClassName,\r\n\t\t\tclassName,\r\n\t\t\titem,\r\n\t\t\tfieldsShown,\r\n\t\t\tspecialFeatures,\r\n\t\t\tonItemSelected,\r\n\t\t\tshowMap,\r\n\t\t\tsetMobileTab,\r\n\t\t\tfavorites,\r\n\t\t\tsetFavorites,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst { siteConfig } = useMapList();\r\n\t\tconst mapPinColor = siteConfig.colors.primary.replace(\"#\", \"\");\r\n\r\n\t\tconst handleClick = () => {\r\n\t\t\tif (onItemSelected) {\r\n\t\t\t\tonItemSelected(item);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tlet isFavorite = favorites.includes(item.id);\r\n\r\n\t\tconst handleFavouriteClick = event => {\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tlet updatedFavorites;\r\n\t\t\tif (isFavorite) {\r\n\t\t\t\tupdatedFavorites = favorites.filter(fav => fav !== item.id);\r\n\t\t\t} else {\r\n\t\t\t\tupdatedFavorites = [...favorites, item.id];\r\n\t\t\t}\r\n\t\t\tisFavorite = !isFavorite;\r\n\t\t\tsetFavorites(updatedFavorites);\r\n\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tonClick={handleClick}\r\n\t\t\t\tclassName={`\r\n\t\t\t\t\thc-group hc-relative hc-flex md:hc-flex-col hc-w-full md:hc-pl-4 hc-text-left hc-bg-clip-border hc-border hc-border-transparent hc-break-words hc-overflow-hidden hc-cursor-pointer hc-transition-colors hover:hc-bg-uiAccent/5 focus:hover:hc-bg-uiAccent/5\r\n\t\t\t\t\t${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\r\n\t\t\t\t\t${className ?? \"\"}\r\n `}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<Grid\r\n\t\t\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\r\n\t\t\t\t\tgap=\"hc-gap-2\"\r\n\t\t\t\t\tisAnimated={false}\r\n\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\thc-block md:hc-grid hc-p-2 hc-ps-4 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\r\n\t\t\t\t\t\t${bodyClassName ?? \"\"}\r\n\t\t\t\t\t`}\r\n\t\t\t\t>\r\n\t\t\t\t\t<Grid.Item className=\"hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5\">\r\n\t\t\t\t\t\t<span className=\"hc-sr-only\">Expand row</span>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon=\"fluent-emoji-high-contrast:plus\"\r\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\t\thc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\r\n\t\t\t\t\t\t\t\t${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\r\n\t\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t</Grid.Item>\r\n\r\n\t\t\t\t\t<FieldMapper\r\n\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\tfieldsShown={fieldsShown}\r\n\t\t\t\t\t\tspecialFeatures={specialFeatures}\r\n\t\t\t\t\t\tisFavorite={isFavorite}\r\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Grid.Item\r\n\t\t\t\t\t\tkey={\"favorites\"}\r\n\t\t\t\t\t\tclassName=\"hc-hidden md:hc-block hc-col-span-1\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\r\n\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\r\n\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\r\n\t\t\t\t\t\t\ttitle={!isFavorite ? 'Add job to favorites' : 'Remove job from favorites'}\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\thc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\r\n\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t\tonClick={e => handleFavouriteClick(e)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</Grid.Item>\r\n\t\t\t\t</Grid>\r\n\r\n\t\t\t\t{showMap && (\r\n\t\t\t\t\t<div onClick={() => { setMobileTab(\"mapTab\"); handleClick(); }} className=\"md:hc-hidden hc-w-2/5 sm:hc-w-1/3 hc-p-1.5 hc-my-1 hc-bg-uiAccent/5 hc-border hc-border-uiAccent/10 hc-rounded-sm\">\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tsrc={`https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=${item.mapDetails?.latitude},${item.mapDetails?.longitude}&zoom=10&size=240x180&maptype=roadmap&markers=color:0x${mapPinColor}%7Clabel:•%7C${item.mapDetails?.latitude},${item.mapDetails?.longitude}&key=${process.env.GOOGLE_MAPS_API_KEY}`}\r\n\t\t\t\t\t\t\talt={`Map of location for ${item.fields.position}`}\r\n\t\t\t\t\t\t\tclassName=\"hc-w-full hc-h-full hc-object-cover\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</button>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nListItem.displayName = \"ListItem\";\r\n\r\nexport default React.memo(ListItem, (prevProps, nextProps) => {\r\n\treturn (\r\n\t\t(prevProps.isActive === nextProps.isActive ||\r\n\t\t\tprevProps.isActive !== nextProps.isActive) &&\r\n\t\tprevProps.bodyClassName === nextProps.bodyClassName &&\r\n\t\tprevProps.className === nextProps.className &&\r\n\t\tprevProps.fieldsShown === nextProps.fieldsShown &&\r\n\t\tprevProps.item.id === nextProps.item.id\r\n\t);\r\n});\r\n"],"names":["ListItem","forwardRef","_ref","ref","_item$mapDetails","_item$mapDetails2","_item$mapDetails3","_item$mapDetails4","isActive","bodyClassName","className","item","fieldsShown","specialFeatures","onItemSelected","showMap","setMobileTab","favorites","setFavorites","props","_objectWithoutProperties","_excluded","_useMapList","useMapList","siteConfig","mapPinColor","colors","primary","replace","handleClick","isFavorite","includes","id","handleFavouriteClick","event","stopPropagation","updatedFavorites","filter","fav","concat","_toConsumableArray","React","createElement","_extends","onClick","Grid","columns","gap","isAnimated","Item","Icon","icon","size","FieldMapper","key","iconClasses","title","e","src","mapDetails","latitude","longitude","alt","fields","position","displayName","memo","prevProps","nextProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/modules/maps/list/list-item/index.js"],"sourcesContent":["import React, { forwardRef } from 'react';\r\n\r\nimport Grid from '~/components/modules/grid';\r\nimport Icon from '~/components/modules/icon';\r\nimport FieldMapper from '~/components/modules/maps/list/field-mapper';\r\n\r\nimport { useMapList } from '~/contexts/mapListContext';\r\nimport { useTrackEvent } from '~/contexts/trackEventContext';\r\n\r\nconst ListItem = forwardRef(\r\n\t(\r\n\t\t{\r\n\t\t\tisActive,\r\n\t\t\tbodyClassName,\r\n\t\t\tclassName,\r\n\t\t\titem,\r\n\t\t\tfieldsShown,\r\n\t\t\tspecialFeatures,\r\n\t\t\tonItemSelected,\r\n\t\t\tshowMap,\r\n\t\t\tsetMobileTab,\r\n\t\t\tfavorites,\r\n\t\t\tsetFavorites,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst { siteConfig } = useMapList();\r\n\t\tconst { trackEvent, eventTypes } = useTrackEvent();\r\n\t\tconst mapPinColor = siteConfig.colors.primary.replace(\"#\", \"\");\r\n\r\n\t\tconst handleClick = () => {\r\n\t\t\tif (onItemSelected) {\r\n\t\t\t\tonItemSelected(item);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tlet isFavorite = favorites.includes(item.id);\r\n\r\n\t\tconst handleFavouriteClick = event => {\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tlet updatedFavorites;\r\n\t\t\tif (isFavorite) {\r\n\t\t\t\tupdatedFavorites = favorites.filter(fav => fav !== item.id);\r\n\t\t\t} else {\r\n\t\t\t\ttrackEvent(eventTypes.FAVORITE_SELECTED, { jobTitle: item.fields.position, jobCategory: item.fields.category, entityDisplayName: item?.mapDetails?.entityDisplayName });\r\n\t\t\t\tupdatedFavorites = [...favorites, item.id];\r\n\t\t\t}\r\n\t\t\tisFavorite = !isFavorite;\r\n\t\t\tsetFavorites(updatedFavorites);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tonClick={handleClick}\r\n\t\t\t\tclassName={`\r\n\t\t\t\t\thc-group hc-relative hc-flex md:hc-flex-col hc-w-full md:hc-pl-4 hc-text-left hc-bg-clip-border hc-border hc-border-transparent hc-break-words hc-overflow-hidden hc-cursor-pointer hc-transition-colors hover:hc-bg-uiAccent/5 focus:hover:hc-bg-uiAccent/5\r\n\t\t\t\t\t${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\r\n\t\t\t\t\t${className ?? \"\"}\r\n `}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<Grid\r\n\t\t\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\r\n\t\t\t\t\tgap=\"hc-gap-2\"\r\n\t\t\t\t\tisAnimated={false}\r\n\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\thc-block md:hc-grid hc-p-2 hc-ps-4 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\r\n\t\t\t\t\t\t${bodyClassName ?? \"\"}\r\n\t\t\t\t\t`}\r\n\t\t\t\t>\r\n\t\t\t\t\t<Grid.Item className=\"hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5\">\r\n\t\t\t\t\t\t<span className=\"hc-sr-only\">Expand row</span>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon=\"fluent-emoji-high-contrast:plus\"\r\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\t\thc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\r\n\t\t\t\t\t\t\t\t${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\r\n\t\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t</Grid.Item>\r\n\r\n\t\t\t\t\t<FieldMapper\r\n\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\tfieldsShown={fieldsShown}\r\n\t\t\t\t\t\tspecialFeatures={specialFeatures}\r\n\t\t\t\t\t\tisFavorite={isFavorite}\r\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Grid.Item\r\n\t\t\t\t\t\tkey={\"favorites\"}\r\n\t\t\t\t\t\tclassName=\"hc-hidden md:hc-block hc-col-span-1\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\r\n\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\r\n\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\r\n\t\t\t\t\t\t\ttitle={!isFavorite ? 'Add job to favorites' : 'Remove job from favorites'}\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\thc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\r\n\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t\tonClick={e => handleFavouriteClick(e)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</Grid.Item>\r\n\t\t\t\t</Grid>\r\n\r\n\t\t\t\t{showMap && (\r\n\t\t\t\t\t<div onClick={() => { setMobileTab(\"mapTab\"); handleClick(); }} className=\"md:hc-hidden hc-w-2/5 sm:hc-w-1/3 hc-p-1.5 hc-my-1 hc-bg-uiAccent/5 hc-border hc-border-uiAccent/10 hc-rounded-sm\">\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tsrc={`https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=${item.mapDetails?.latitude},${item.mapDetails?.longitude}&zoom=10&size=240x180&maptype=roadmap&markers=color:0x${mapPinColor}%7Clabel:•%7C${item.mapDetails?.latitude},${item.mapDetails?.longitude}&key=${process.env.GOOGLE_MAPS_API_KEY}`}\r\n\t\t\t\t\t\t\talt={`Map of location for ${item.fields.position}`}\r\n\t\t\t\t\t\t\tclassName=\"hc-w-full hc-h-full hc-object-cover\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</button>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nListItem.displayName = \"ListItem\";\r\n\r\nexport default React.memo(ListItem, (prevProps, nextProps) => {\r\n\treturn (\r\n\t\t(prevProps.isActive === nextProps.isActive ||\r\n\t\t\tprevProps.isActive !== nextProps.isActive) &&\r\n\t\tprevProps.bodyClassName === nextProps.bodyClassName &&\r\n\t\tprevProps.className === nextProps.className &&\r\n\t\tprevProps.fieldsShown === nextProps.fieldsShown &&\r\n\t\tprevProps.item.id === nextProps.item.id\r\n\t);\r\n});\r\n"],"names":["ListItem","forwardRef","_ref","ref","_item$mapDetails2","_item$mapDetails3","_item$mapDetails4","_item$mapDetails5","isActive","bodyClassName","className","item","fieldsShown","specialFeatures","onItemSelected","showMap","setMobileTab","favorites","setFavorites","props","_objectWithoutProperties","_excluded","_useMapList","useMapList","siteConfig","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","mapPinColor","colors","primary","replace","handleClick","isFavorite","includes","id","handleFavouriteClick","event","stopPropagation","updatedFavorites","filter","fav","_item$mapDetails","FAVORITE_SELECTED","jobTitle","fields","position","jobCategory","category","entityDisplayName","mapDetails","concat","_toConsumableArray","React","createElement","_extends","onClick","Grid","columns","gap","isAnimated","Item","Icon","icon","size","FieldMapper","key","iconClasses","title","e","src","latitude","longitude","alt","displayName","memo","prevProps","nextProps"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import CardInfoWindow from './info-window-card.js';
|
|
|
4
4
|
import InfoWindowContent from './info-window-content.js';
|
|
5
5
|
import { useMap } from '../../../contexts/mapContext.js';
|
|
6
6
|
import { useMapList } from '../../../contexts/mapListContext.js';
|
|
7
|
+
import { useTrackEvent } from '../../../contexts/trackEventContext.js';
|
|
7
8
|
|
|
8
9
|
var MapMarker = function MapMarker(_ref) {
|
|
9
10
|
var item = _ref.item,
|
|
@@ -20,12 +21,21 @@ var MapMarker = function MapMarker(_ref) {
|
|
|
20
21
|
commuteLocation = _useMap.commuteLocation;
|
|
21
22
|
var isSelected = item.id === (selectedLocation === null || selectedLocation === void 0 ? void 0 : selectedLocation.id);
|
|
22
23
|
var markerRef = useRef(null);
|
|
24
|
+
var _useTrackEvent = useTrackEvent(),
|
|
25
|
+
trackEvent = _useTrackEvent.trackEvent,
|
|
26
|
+
eventTypes = _useTrackEvent.eventTypes;
|
|
23
27
|
var _useMapList = useMapList(),
|
|
24
28
|
handleFilterListingsByLocation = _useMapList.handleFilterListingsByLocation;
|
|
25
29
|
useEffect(function () {
|
|
26
30
|
markerRefs.current[item.id] = markerRef.current;
|
|
27
31
|
}, []);
|
|
28
32
|
var onMarkerClick = function onMarkerClick() {
|
|
33
|
+
trackEvent(eventTypes.MAP_MARKER_CLICKED, {
|
|
34
|
+
entityDisplayName: item.entityDisplayName,
|
|
35
|
+
lat: item.latitude,
|
|
36
|
+
lng: item.longitude,
|
|
37
|
+
travelTime: item.travelTime
|
|
38
|
+
});
|
|
29
39
|
setMapInteracted(true);
|
|
30
40
|
markerClickHandler(item);
|
|
31
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-marker.js","sources":["../../../../src/components/modules/maps/map-marker.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { MarkerF, InfoWindow } from '@react-google-maps/api';\r\n\r\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\r\nimport InfoWindowContent from \"~/components/modules/maps/info-window-content\";\r\n\r\nimport { useMap } from \"~/contexts/mapContext\";\r\nimport { useMapList } from \"~/contexts/mapListContext\";\r\n\r\nconst MapMarker = ({\r\n\titem,\r\n\tmarkerRefs,\r\n\tinfoWindowClasses,\r\n\tmarkerClickHandler,\r\n\tclusterer,\r\n\tmarkerIconSelected,\r\n\tmarkerIcon,\r\n\tselectedLocation,\r\n\tsetMapInteracted\r\n}) => {\r\n\tconst { setLocation, commuteLocation } = useMap();\r\n\tconst isSelected = item.id === selectedLocation?.id;\r\n\tconst markerRef = useRef(null);\r\n\r\n\tconst {\r\n\t\thandleFilterListingsByLocation\r\n\t} = useMapList();\r\n\r\n\tuseEffect(() => {\r\n\t\tmarkerRefs.current[item.id] = markerRef.current;\r\n\t}, []);\r\n\r\n\tconst onMarkerClick = () => {\r\n\t\tsetMapInteracted(true);\r\n\t\tmarkerClickHandler(item);\r\n\t};\r\n\r\n\tconst getInfoWindow = () => {\r\n\t\tif (!isSelected || !item || !item.id || !selectedLocation) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//Direct dom removal of empty info windows\r\n\t\tdocument.querySelectorAll(\"div.gm-style-iw.gm-style-iw-c\").forEach(x => { if (!x.innerHTML.includes(item.id)) x.parentElement.remove(); });\r\n\t\treturn (\r\n\t\t\t<InfoWindow\r\n\t\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\r\n\t\t\t\tanchor={markerRefs.current[item.id]}\r\n\t\t\t\tonCloseClick={() => {\r\n\t\t\t\t\tsetMapInteracted(true);\r\n\t\t\t\t\tsetLocation(null);\r\n\t\t\t\t}}\r\n\t\t\t\toptions={{ maxWidth: 400 }}\r\n\t\t\t>\r\n\t\t\t\t<InfoWindowCard\r\n\t\t\t\t\tclassName={infoWindowClasses}\r\n\t\t\t\t\tid={item.id}\r\n\t\t\t\t\tcontent={<InfoWindowContent\r\n\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\tcommuteLocation={commuteLocation}\r\n\t\t\t\t\t\tfilterListingsByLocation={() =>\r\n\t\t\t\t\t\t\thandleFilterListingsByLocation(selectedLocation)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>}\r\n\t\t\t\t/>\r\n\t\t\t</InfoWindow>\r\n\t\t);\r\n\t};\r\n\treturn (\r\n\t\t<MarkerF\r\n\t\t\tkey={item.id}\r\n\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\r\n\t\t\ttitle={item.name}\r\n\t\t\toptions={{\r\n\t\t\t\ticon: isSelected ? markerIconSelected : markerIcon\r\n\t\t\t}}\r\n\t\t\tzIndex={isSelected ? 9999 : 1}\r\n\t\t\tonLoad={marker => (markerRef.current = marker)}\r\n\t\t\tonClick={onMarkerClick}\r\n\t\t\tclusterer={clusterer}\r\n\t\t>\r\n\t\t\t{isSelected && getInfoWindow()}\r\n\t\t</MarkerF>\r\n\t);\r\n};\r\n\r\nexport default MapMarker;\r\n"],"names":["MapMarker","_ref","item","markerRefs","infoWindowClasses","markerClickHandler","clusterer","markerIconSelected","markerIcon","selectedLocation","setMapInteracted","_useMap","useMap","setLocation","commuteLocation","isSelected","id","markerRef","useRef","_useMapList","useMapList","handleFilterListingsByLocation","useEffect","current","onMarkerClick","getInfoWindow","document","querySelectorAll","forEach","x","innerHTML","includes","parentElement","remove","React","createElement","InfoWindow","position","
|
|
1
|
+
{"version":3,"file":"map-marker.js","sources":["../../../../src/components/modules/maps/map-marker.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { MarkerF, InfoWindow } from '@react-google-maps/api';\r\n\r\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\r\nimport InfoWindowContent from \"~/components/modules/maps/info-window-content\";\r\n\r\nimport { useMap } from \"~/contexts/mapContext\";\r\nimport { useMapList } from \"~/contexts/mapListContext\";\r\nimport { useTrackEvent } from '~/contexts/trackEventContext';\r\n\r\nconst MapMarker = ({\r\n\titem,\r\n\tmarkerRefs,\r\n\tinfoWindowClasses,\r\n\tmarkerClickHandler,\r\n\tclusterer,\r\n\tmarkerIconSelected,\r\n\tmarkerIcon,\r\n\tselectedLocation,\r\n\tsetMapInteracted\r\n}) => {\r\n\tconst { setLocation, commuteLocation } = useMap();\r\n\tconst isSelected = item.id === selectedLocation?.id;\r\n\tconst markerRef = useRef(null);\r\n\tconst { trackEvent, eventTypes } = useTrackEvent();\r\n\tconst {\r\n\t\thandleFilterListingsByLocation\r\n\t} = useMapList();\r\n\r\n\tuseEffect(() => {\r\n\t\tmarkerRefs.current[item.id] = markerRef.current;\r\n\t}, []);\r\n\r\n\tconst onMarkerClick = () => {\r\n\t\ttrackEvent(eventTypes.MAP_MARKER_CLICKED, { entityDisplayName: item.entityDisplayName, lat: item.latitude, lng: item.longitude, travelTime: item.travelTime });\r\n\t\tsetMapInteracted(true);\r\n\t\tmarkerClickHandler(item);\r\n\t};\r\n\r\n\tconst getInfoWindow = () => {\r\n\t\tif (!isSelected || !item || !item.id || !selectedLocation) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//Direct dom removal of empty info windows\r\n\t\tdocument.querySelectorAll(\"div.gm-style-iw.gm-style-iw-c\").forEach(x => { if (!x.innerHTML.includes(item.id)) x.parentElement.remove(); });\r\n\t\treturn (\r\n\t\t\t<InfoWindow\r\n\t\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\r\n\t\t\t\tanchor={markerRefs.current[item.id]}\r\n\t\t\t\tonCloseClick={() => {\r\n\t\t\t\t\tsetMapInteracted(true);\r\n\t\t\t\t\tsetLocation(null);\r\n\t\t\t\t}}\r\n\t\t\t\toptions={{ maxWidth: 400 }}\r\n\t\t\t>\r\n\t\t\t\t<InfoWindowCard\r\n\t\t\t\t\tclassName={infoWindowClasses}\r\n\t\t\t\t\tid={item.id}\r\n\t\t\t\t\tcontent={<InfoWindowContent\r\n\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\tcommuteLocation={commuteLocation}\r\n\t\t\t\t\t\tfilterListingsByLocation={() =>\r\n\t\t\t\t\t\t\thandleFilterListingsByLocation(selectedLocation)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>}\r\n\t\t\t\t/>\r\n\t\t\t</InfoWindow>\r\n\t\t);\r\n\t};\r\n\treturn (\r\n\t\t<MarkerF\r\n\t\t\tkey={item.id}\r\n\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\r\n\t\t\ttitle={item.name}\r\n\t\t\toptions={{\r\n\t\t\t\ticon: isSelected ? markerIconSelected : markerIcon\r\n\t\t\t}}\r\n\t\t\tzIndex={isSelected ? 9999 : 1}\r\n\t\t\tonLoad={marker => (markerRef.current = marker)}\r\n\t\t\tonClick={onMarkerClick}\r\n\t\t\tclusterer={clusterer}\r\n\t\t>\r\n\t\t\t{isSelected && getInfoWindow()}\r\n\t\t</MarkerF>\r\n\t);\r\n};\r\n\r\nexport default MapMarker;\r\n"],"names":["MapMarker","_ref","item","markerRefs","infoWindowClasses","markerClickHandler","clusterer","markerIconSelected","markerIcon","selectedLocation","setMapInteracted","_useMap","useMap","setLocation","commuteLocation","isSelected","id","markerRef","useRef","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","handleFilterListingsByLocation","useEffect","current","onMarkerClick","MAP_MARKER_CLICKED","entityDisplayName","lat","latitude","lng","longitude","travelTime","getInfoWindow","document","querySelectorAll","forEach","x","innerHTML","includes","parentElement","remove","React","createElement","InfoWindow","position","anchor","onCloseClick","options","maxWidth","InfoWindowCard","className","content","InfoWindowContent","filterListingsByLocation","MarkerF","key","title","name","icon","zIndex","onLoad","marker","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var eventTypes = {
|
|
2
|
+
FILTER_APPLIED: "filter_applied",
|
|
3
|
+
MAP_MARKER_CLICKED: "map_marker_clicked",
|
|
4
|
+
JOB_LISTING_SELECTED: "job_listing_selected",
|
|
5
|
+
APPLY_NOW_CLICKED: "apply_now_clicked",
|
|
6
|
+
VIEW_DETAILS_CLICKED: "view_details_clicked",
|
|
7
|
+
COMMUTE_ORIGIN_ADDED: "commute_origin_added",
|
|
8
|
+
POI_APPLIED: "point_of_interest_applied",
|
|
9
|
+
VIEW_JOBS_AT_Location: "view_jobs_at_location_clicked",
|
|
10
|
+
FAVORITE_SELECTED: "favorite_job_selected",
|
|
11
|
+
LIST_SORTED: "jobs_list_sorted",
|
|
12
|
+
FILTERS_RESET: "filters_reset_button_clicked"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { eventTypes };
|
|
16
|
+
//# sourceMappingURL=eventTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventTypes.js","sources":["../../src/constants/eventTypes.js"],"sourcesContent":["export const eventTypes = {\r\n\tFILTER_APPLIED: \"filter_applied\",\r\n\tMAP_MARKER_CLICKED: \"map_marker_clicked\",\r\n\tJOB_LISTING_SELECTED: \"job_listing_selected\",\r\n\tAPPLY_NOW_CLICKED: \"apply_now_clicked\",\r\n\tVIEW_DETAILS_CLICKED: \"view_details_clicked\",\r\n\tCOMMUTE_ORIGIN_ADDED: \"commute_origin_added\",\r\n\tPOI_APPLIED: \"point_of_interest_applied\",\r\n\tVIEW_JOBS_AT_Location: \"view_jobs_at_location_clicked\",\r\n\tFAVORITE_SELECTED: \"favorite_job_selected\",\r\n\tLIST_SORTED: \"jobs_list_sorted\",\r\n\tFILTERS_RESET: \"filters_reset_button_clicked\"\r\n};\r\n"],"names":["eventTypes","FILTER_APPLIED","MAP_MARKER_CLICKED","JOB_LISTING_SELECTED","APPLY_NOW_CLICKED","VIEW_DETAILS_CLICKED","COMMUTE_ORIGIN_ADDED","POI_APPLIED","VIEW_JOBS_AT_Location","FAVORITE_SELECTED","LIST_SORTED","FILTERS_RESET"],"mappings":"AAAO,IAAMA,UAAU,GAAG;AACzBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,iBAAiB,EAAE,mBAAmB;AACtCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,WAAW,EAAE,2BAA2B;AACxCC,EAAAA,qBAAqB,EAAE,+BAA+B;AACtDC,EAAAA,iBAAiB,EAAE,uBAAuB;AAC1CC,EAAAA,WAAW,EAAE,kBAAkB;AAC/BC,EAAAA,aAAa,EAAE,8BAAA;AAChB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.js"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef } from 'react';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\n\nconst MapContext = createContext();\n\nexport const useMap = () => {\n\tconst context = useContext(MapContext);\n\tif (!context) {\n\t\tthrow new Error(\"useMap must be used within a MapProvider\");\n\t}\n\treturn context;\n};\n\nexport const MapProvider = ({ children, resetFilters }) => {\n\tconst [selectedListItem, setSelectedListItem] = useState(getStorageObject('selectedListItem'));\n\tconst [location, setLocation] = useState(getStorageObject('location'));\n\tconst [center, setCenter] = useState(getStorageObject(\"center\", { lat: 39.8283, lng: -98.5795 }));\n\tconst [zoom, setZoom] = useState(getStorageObject(\"zoom\", 10));\n\tconst [selectedPlaces, setSelectedPlaces] = useState([]);\n\tconst [mapInteracted, setMapInteracted] = useState(false);\n\tconst [firstLoadListItem] = useState(getStorageObject('selectedListItem') ?? { id: \"defaultId\" });\n\tconst userSetZoom = useRef(true);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"selectedListItem\", selectedListItem);\n\t}, [selectedListItem]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"zoom\", zoom);\n\t}, [zoom]);\n\n\tuseEffect(() => {\n\t\tif (location == null) {\n\t\t\tlocalStorage.removeItem(\"location\");\n\t\t} else {\n\t\t\tsetStorageObject(\"location\", location);\n\t\t}\n\t}, [location]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"center\", center);\n\t}, [center]);\n\n\tconst selectItem = (item, itemLocation, zoom, center) => {\n\t\tsetSelectedListItem(item);\n\t\tif (mapInteracted === false && itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t}\n\t\tif (mapInteracted === false || itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t\tsetCenter(center);\n\t\t}\n\t\tif (mapInteracted === false) {\n\t\t\tsetZoom(zoom);\n\n\t\t}\n\t};\n\n\tconst filterReset = () => {\n\t\tsetSelectedPlaces({});\n\t\tsetSelectedListItem(null);\n\t\tsetLocation(null);\n\t\tsetZoom(8);\n\t\tsetMapInteracted(false);\n\t};\n\n\tif (resetFilters === true) {\n\t\tfilterReset();\n\t}\n\tconst selectLocationEntity = location => {\n\n\t\tlocalStorage.removeItem(\"selectedListItem\");\n\t\tsetTimeout(() => setLocation(location), 200);\n\t\tsetSelectedListItem(null);\n\t};\n\n\treturn (\n\t\t<MapContext.Provider\n\t\t\tvalue={{\n\t\t\t\tselectedListItem,\n\t\t\t\tsetSelectedListItem,\n\t\t\t\tlocation,\n\t\t\t\tcenter,\n\t\t\t\tzoom,\n\t\t\t\tsetZoom,\n\t\t\t\tselectItem,\n\t\t\t\tsetSelectedPlaces,\n\t\t\t\tselectedPlaces,\n\t\t\t\tselectLocationEntity,\n\t\t\t\tsetLocation,\n\t\t\t\tsetMapInteracted,\n\t\t\t\tmapInteracted,\n\t\t\t\tuserSetZoom,\n\t\t\t\tfirstLoadListItem,\n\t\t\t\tfilterReset\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MapContext.Provider>\n\t);\n};\n"],"names":["MapContext","createContext","useMap","context","useContext","Error","MapProvider","_ref","_getStorageObject","children","resetFilters","_useState","useState","getStorageObject","_useState2","_slicedToArray","selectedListItem","setSelectedListItem","_useState3","_useState4","location","setLocation","_useState5","lat","lng","_useState6","center","setCenter","_useState7","_useState8","zoom","setZoom","_useState9","_useState10","selectedPlaces","setSelectedPlaces","_useState11","_useState12","mapInteracted","setMapInteracted","_useState13","id","_useState14","firstLoadListItem","userSetZoom","useRef","useEffect","setStorageObject","localStorage","setItem","removeItem","selectItem","item","itemLocation","filterReset","selectLocationEntity","setTimeout","React","createElement","Provider","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.js"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef } from 'react';\r\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\r\n\r\nconst MapContext = createContext();\r\n\r\nexport const useMap = () => {\r\n\tconst context = useContext(MapContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useMap must be used within a MapProvider\");\r\n\t}\r\n\treturn context;\r\n};\r\n\r\nexport const MapProvider = ({ children, resetFilters }) => {\r\n\tconst [selectedListItem, setSelectedListItem] = useState(getStorageObject('selectedListItem'));\r\n\tconst [location, setLocation] = useState(getStorageObject('location'));\r\n\tconst [center, setCenter] = useState(getStorageObject(\"center\", { lat: 39.8283, lng: -98.5795 }));\r\n\tconst [zoom, setZoom] = useState(getStorageObject(\"zoom\", 10));\r\n\tconst [selectedPlaces, setSelectedPlaces] = useState([]);\r\n\tconst [mapInteracted, setMapInteracted] = useState(false);\r\n\tconst [firstLoadListItem] = useState(getStorageObject('selectedListItem') ?? { id: \"defaultId\" });\r\n\tconst userSetZoom = useRef(true);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetStorageObject(\"selectedListItem\", selectedListItem);\r\n\t}, [selectedListItem]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlocalStorage.setItem(\"zoom\", zoom);\r\n\t}, [zoom]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (location == null) {\r\n\t\t\tlocalStorage.removeItem(\"location\");\r\n\t\t} else {\r\n\t\t\tsetStorageObject(\"location\", location);\r\n\t\t}\r\n\t}, [location]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetStorageObject(\"center\", center);\r\n\t}, [center]);\r\n\r\n\tconst selectItem = (item, itemLocation, zoom, center) => {\r\n\t\tsetSelectedListItem(item);\r\n\t\tif (mapInteracted === false && itemLocation != null) {\r\n\t\t\tsetLocation(itemLocation);\r\n\t\t}\r\n\t\tif (mapInteracted === false || itemLocation != null) {\r\n\t\t\tsetLocation(itemLocation);\r\n\t\t\tsetCenter(center);\r\n\t\t}\r\n\t\tif (mapInteracted === false) {\r\n\t\t\tsetZoom(zoom);\r\n\r\n\t\t}\r\n\t};\r\n\r\n\tconst filterReset = () => {\r\n\t\tsetSelectedPlaces({});\r\n\t\tsetSelectedListItem(null);\r\n\t\tsetLocation(null);\r\n\t\tsetZoom(8);\r\n\t\tsetMapInteracted(false);\r\n\t};\r\n\r\n\tif (resetFilters === true) {\r\n\t\tfilterReset();\r\n\t}\r\n\tconst selectLocationEntity = location => {\r\n\r\n\t\tlocalStorage.removeItem(\"selectedListItem\");\r\n\t\tsetTimeout(() => setLocation(location), 200);\r\n\t\tsetSelectedListItem(null);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<MapContext.Provider\r\n\t\t\tvalue={{\r\n\t\t\t\tselectedListItem,\r\n\t\t\t\tsetSelectedListItem,\r\n\t\t\t\tlocation,\r\n\t\t\t\tcenter,\r\n\t\t\t\tzoom,\r\n\t\t\t\tsetZoom,\r\n\t\t\t\tselectItem,\r\n\t\t\t\tsetSelectedPlaces,\r\n\t\t\t\tselectedPlaces,\r\n\t\t\t\tselectLocationEntity,\r\n\t\t\t\tsetLocation,\r\n\t\t\t\tsetMapInteracted,\r\n\t\t\t\tmapInteracted,\r\n\t\t\t\tuserSetZoom,\r\n\t\t\t\tfirstLoadListItem,\r\n\t\t\t\tfilterReset\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</MapContext.Provider>\r\n\t);\r\n};\r\n"],"names":["MapContext","createContext","useMap","context","useContext","Error","MapProvider","_ref","_getStorageObject","children","resetFilters","_useState","useState","getStorageObject","_useState2","_slicedToArray","selectedListItem","setSelectedListItem","_useState3","_useState4","location","setLocation","_useState5","lat","lng","_useState6","center","setCenter","_useState7","_useState8","zoom","setZoom","_useState9","_useState10","selectedPlaces","setSelectedPlaces","_useState11","_useState12","mapInteracted","setMapInteracted","_useState13","id","_useState14","firstLoadListItem","userSetZoom","useRef","useEffect","setStorageObject","localStorage","setItem","removeItem","selectItem","item","itemLocation","filterReset","selectLocationEntity","setTimeout","React","createElement","Provider","value"],"mappings":"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"}
|
|
@@ -26,7 +26,8 @@ var MapListProvider = function MapListProvider(_ref) {
|
|
|
26
26
|
navigateToDetails = _ref.navigateToDetails,
|
|
27
27
|
navigateToEasyApply = _ref.navigateToEasyApply,
|
|
28
28
|
Link = _ref.Link,
|
|
29
|
-
linkFormat = _ref.linkFormat
|
|
29
|
+
linkFormat = _ref.linkFormat,
|
|
30
|
+
trackEvent = _ref.trackEvent;
|
|
30
31
|
// const location = useLocation();
|
|
31
32
|
// const navigate = useNavigate();
|
|
32
33
|
var _useState = useState(getStorageObject("listings", [])),
|
|
@@ -288,7 +289,8 @@ var MapListProvider = function MapListProvider(_ref) {
|
|
|
288
289
|
Link: Link,
|
|
289
290
|
linkFormat: linkFormat,
|
|
290
291
|
sortSetting: sortSetting,
|
|
291
|
-
setSortSetting: setSortSetting
|
|
292
|
+
setSortSetting: setSortSetting,
|
|
293
|
+
trackEvent: trackEvent
|
|
292
294
|
}
|
|
293
295
|
}, children);
|
|
294
296
|
};
|
|
@@ -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 [sortSetting, setSortSetting] = useState(getStorageObject('sortSetting', null));\n\tconst [listingEntities, setListingEntities] = useState(getStorageObject(\"listingEntities\", null));\n\tconst [firstLoad, setFirstLoad] = useState(true);\n\tconst [commuteLocation, setCommuteLocation] = useState(getStorageObject('commuteLocation'));\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\tconst setNewFilteredListings = filteredListings =>{\n\t\tsetFilteredListings(filteredListings);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!sortSetting) return;\n\t\tlocalStorage.setItem('sortSetting', JSON.stringify(sortSetting));\n\t\tsetNewFilteredListings(filteredListings);\n\t}, [sortSetting]);\n\n\tuseEffect(() => {\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];\n\t\tsetFavorites(loadedFavorites);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"commuteLocation\", commuteLocation);\n\t}, [commuteLocation]);\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// eslint-disable-next-line no-undef\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 j = 0; j < newFilteredListings.length; j++) {\n\t\t\t\t\tif (newFilteredListings[j].entityId != -1) {\n\t\t\t\t\t\tnewFilteredListings[j].fields.travelTime = fetchedEntities[newFilteredListings[j].entityId].travelTime;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsetNewFilteredListings(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, commuteLocation);\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\tsetNewFilteredListings(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\tlet { filteredListings } = filterListingsByLocation(\n\t\t\tallListings,\n\t\t\tselectedLocation,\n\t\t\tlistingEntities\n\t\t);\n\n\t\tsetNewFilteredListings(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\tsetNewFilteredListings,\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\tsortSetting,\n\t\t\tsetSortSetting\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","sortSetting","setSortSetting","_useState13","_useState14","listingEntities","setListingEntities","_useState15","_useState16","firstLoad","setFirstLoad","_useState17","_useState18","commuteLocation","setCommuteLocation","_useState19","_useState20","selectedFilters","setSelectedFilters","_useState21","_useState22","filterOptions","setFilterOptions","_useState23","_useState24","recruiters","setRecruiters","_useState25","_useState26","filterDialogIsOpen","setFilterDialogIsOpen","_useState27","_useState28","mobileTab","setMobileTab","_useState29","_useState30","favorites","setFavorites","_useState31","_useState32","filterByFavorites","setFilterByFavorites","setNewFilteredListings","useEffect","setItem","JSON","stringify","loadedFavorites","parse","setStorageObject","fetchEntities","_fetchEntities","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","distinctEntityIds","fetchedEntities","newFilteredListings","i","j","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","log","processListings","_applyFilters","applyFilters","filter","x","includes","id","Object","keys","removeItem","lastKey","options","generateFilterOptions","handleFilterListingsByLocation","selectedLocation","_filterListingsByLoca","filterListingsByLocation","handleSettingFavorites","newFavorites","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\ttrackEvent\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 [sortSetting, setSortSetting] = useState(getStorageObject('sortSetting', null));\r\n\tconst [listingEntities, setListingEntities] = useState(getStorageObject(\"listingEntities\", null));\r\n\tconst [firstLoad, setFirstLoad] = useState(true);\r\n\tconst [commuteLocation, setCommuteLocation] = useState(getStorageObject('commuteLocation'));\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\tconst setNewFilteredListings = filteredListings =>{\r\n\t\tsetFilteredListings(filteredListings);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!sortSetting) return;\r\n\t\tlocalStorage.setItem('sortSetting', JSON.stringify(sortSetting));\r\n\t\tsetNewFilteredListings(filteredListings);\r\n\t}, [sortSetting]);\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\tsetStorageObject(\"commuteLocation\", commuteLocation);\r\n\t}, [commuteLocation]);\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// eslint-disable-next-line no-undef\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 j = 0; j < newFilteredListings.length; j++) {\r\n\t\t\t\t\tif (newFilteredListings[j].entityId != -1) {\r\n\t\t\t\t\t\tnewFilteredListings[j].fields.travelTime = fetchedEntities[newFilteredListings[j].entityId].travelTime;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetNewFilteredListings(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, commuteLocation);\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\tsetNewFilteredListings(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\tlet { filteredListings } = filterListingsByLocation(\r\n\t\t\tallListings,\r\n\t\t\tselectedLocation,\r\n\t\t\tlistingEntities\r\n\t\t);\r\n\r\n\t\tsetNewFilteredListings(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\tsetNewFilteredListings,\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\tsortSetting,\r\n\t\t\tsetSortSetting,\r\n\t\t\ttrackEvent\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","trackEvent","_useState","useState","getStorageObject","_useState2","_slicedToArray","allListings","setAllListings","_useState3","_useState4","filteredListings","setFilteredListings","_useState5","_useState6","loading","setLoading","_useState7","_useState8","mapItems","setMapItems","_useState9","_useState10","setQuery","_useState11","_useState12","sortSetting","setSortSetting","_useState13","_useState14","listingEntities","setListingEntities","_useState15","_useState16","firstLoad","setFirstLoad","_useState17","_useState18","commuteLocation","setCommuteLocation","_useState19","_useState20","selectedFilters","setSelectedFilters","_useState21","_useState22","filterOptions","setFilterOptions","_useState23","_useState24","recruiters","setRecruiters","_useState25","_useState26","filterDialogIsOpen","setFilterDialogIsOpen","_useState27","_useState28","mobileTab","setMobileTab","_useState29","_useState30","favorites","setFavorites","_useState31","_useState32","filterByFavorites","setFilterByFavorites","setNewFilteredListings","useEffect","setItem","JSON","stringify","loadedFavorites","parse","setStorageObject","fetchEntities","_fetchEntities","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","distinctEntityIds","fetchedEntities","newFilteredListings","i","j","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","log","processListings","_applyFilters","applyFilters","filter","x","includes","id","Object","keys","removeItem","lastKey","options","generateFilterOptions","handleFilterListingsByLocation","selectedLocation","_filterListingsByLoca","filterListingsByLocation","handleSettingFavorites","newFavorites","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,EAStB;AAAA,EAAA,IARLC,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;IACVC,UAAU,GAAAR,IAAA,CAAVQ,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,OAAMP,YAAY,GAAG,IAAI,GAAGT,QAAQ,EAAE,CAAA;KAAC,CAAA;IAAAmC,WAAA,GAAAhB,cAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAAnEjC,IAAAA,KAAK,GAAAkC,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,WAAA,CAAA,CAAA,CAAA,CAAA;EACtB,IAAAE,WAAA,GAAsCrB,QAAQ,CAACC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAAAqB,WAAA,GAAAnB,cAAA,CAAAkB,WAAA,EAAA,CAAA,CAAA;AAA9EE,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAAG,WAAA,GAA8CzB,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAAAyB,WAAA,GAAAvB,cAAA,CAAAsB,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,GAAkC7B,QAAQ,CAAC,IAAI,CAAC;IAAA8B,WAAA,GAAA3B,cAAA,CAAA0B,WAAA,EAAA,CAAA,CAAA;AAAzCE,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EAC9B,IAAAG,WAAA,GAA8CjC,QAAQ,CAACC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAAAiC,WAAA,GAAA/B,cAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAApFE,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EAC1C,IAAAG,WAAA,GAA8CrC,QAAQ,CAAC,YAAA;MAAA,OAAMP,YAAY,GAAG,EAAE,GAAGQ,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;KAAC,CAAA;IAAAqC,WAAA,GAAAnC,cAAA,CAAAkC,WAAA,EAAA,CAAA,CAAA;AAAlHE,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;IAAEE,kBAAkB,GAAAF,WAAA,CAAgF,CAAA,CAAA,CAAA;AAC1H,EAAA,IAAAG,WAAA,GAA0CzC,QAAQ,EAAE;IAAA0C,WAAA,GAAAvC,cAAA,CAAAsC,WAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,aAAa,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;EACtC,IAAAG,WAAA,GAAoC7C,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAAA6C,WAAA,GAAA3C,cAAA,CAAA0C,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,GAAoDjD,QAAQ,CAAC,KAAK,CAAC;IAAAkD,WAAA,GAAA/C,cAAA,CAAA8C,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,GAAkCrD,QAAQ,CAAC,SAAS,CAAC;IAAAsD,WAAA,GAAAnD,cAAA,CAAAkD,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,GAAkCzD,QAAQ,CAAC,EAAE,CAAC;IAAA0D,WAAA,GAAAvD,cAAA,CAAAsD,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,GAAkD7D,QAAQ,CAAC,KAAK,CAAC;IAAA8D,WAAA,GAAA3D,cAAA,CAAA0D,WAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,EAAA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGzD,gBAAgB,EAAG;IACjDC,mBAAmB,CAACD,gBAAgB,CAAC,CAAA;GACrC,CAAA;AAED0D,EAAAA,SAAS,CAAC,YAAM;IACf,IAAI,CAAC3C,WAAW,EAAE,OAAA;IAClBpC,YAAY,CAACgF,OAAO,CAAC,aAAa,EAAEC,IAAI,CAACC,SAAS,CAAC9C,WAAW,CAAC,CAAC,CAAA;IAChE0C,sBAAsB,CAACzD,gBAAgB,CAAC,CAAA;AACzC,GAAC,EAAE,CAACe,WAAW,CAAC,CAAC,CAAA;AAEjB2C,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMI,eAAe,GAAGF,IAAI,CAACG,KAAK,CAACpF,YAAY,CAACC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3EwE,YAAY,CAACU,eAAe,CAAC,CAAA;GAC7B,EAAE,EAAE,CAAC,CAAA;AAENJ,EAAAA,SAAS,CAAC,YAAM;AACfM,IAAAA,gBAAgB,CAAC,iBAAiB,EAAErC,eAAe,CAAC,CAAA;AACrD,GAAC,EAAE,CAACA,eAAe,CAAC,CAAC,CAAA;AAErB+B,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAI/B,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAK,EAAE,EAAE,OAAA;AAAO,IAAA,SAChDsC,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;QAAA,IAAAC,iBAAA,EAAAC,eAAA,EAAAC,mBAAA,EAAAC,CAAA,EAAAC,CAAA,CAAA;AAAA,QAAA,OAAAP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,YAAA,KAAA,CAAA;cACOT,iBAAiB,GAAAU,kBAAA,CAEnB,IAAIC,GAAG,CAACxF,WAAW,CAACyF,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/Cf,iBAAiB,EAAAgB,EAAAA,CAAAA,MAAA,CACd9D,eAAe,CAAC+D,GAAG,EAAA,IAAA,CAAA,CAAAD,MAAA,CAAK9D,eAAe,CAACgE,GAAG,CAC/C,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAHKjB,eAAe,GAAAM,QAAA,CAAAY,IAAA,CAAA;cAIrBxE,kBAAkB,CAACsD,eAAe,CAAC,CAAA;AAC/BC,cAAAA,mBAAmB,GAAG3E,gBAAgB,CAAA;AAC1C,cAAA,KAAS4E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhF,WAAW,CAACiG,MAAM,EAAEjB,CAAC,EAAE,EAAE;gBAC5C,IAAID,mBAAmB,CAACC,CAAC,CAAC,CAACW,QAAQ,IAAI,CAAC,CAAC,EAAE;AAC1CZ,kBAAAA,mBAAmB,CAACC,CAAC,CAAC,CAACkB,MAAM,CAACC,UAAU,GAAGrB,eAAe,CAACC,mBAAmB,CAACC,CAAC,CAAC,CAACW,QAAQ,CAAC,CAACQ,UAAU,CAAA;AACvG,iBAAA;AACD,eAAA;AACA,cAAA,KAASlB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,mBAAmB,CAACkB,MAAM,EAAEhB,CAAC,EAAE,EAAE;gBACpD,IAAIF,mBAAmB,CAACE,CAAC,CAAC,CAACU,QAAQ,IAAI,CAAC,CAAC,EAAE;AAC1CZ,kBAAAA,mBAAmB,CAACE,CAAC,CAAC,CAACiB,MAAM,CAACC,UAAU,GAAGrB,eAAe,CAACC,mBAAmB,CAACE,CAAC,CAAC,CAACU,QAAQ,CAAC,CAACQ,UAAU,CAAA;AACvG,iBAAA;AACD,eAAA;cACAtC,sBAAsB,CAACkB,mBAAmB,CAAC,CAAA;AAACK,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;cAE5CiB,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,EAAA3B,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,CAACtC,eAAe,EAAE/B,WAAW,EAAEZ,UAAU,CAACoH,SAAS,CAAC,CAAC,CAAA;AAExD1C,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAM2C,mBAAmB,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAjC,iBAAA,eAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAgC,QAAA,GAAA;QAAA,IAAAC,oBAAA,EAAAC,cAAA,EAAAC,iBAAA,EAAAhC,eAAA,EAAAiC,aAAA,CAAA;AAAA,QAAA,OAAArC,mBAAA,EAAA,CAAAQ,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,CAACzF,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAACoG,MAAM,GAAG,CAAC,EAAE;gBACjDxF,UAAU,CAAC,IAAI,CAAC,CAAA;AACjB,eAAA;AAACwG,cAAAA,SAAA,CAAA5B,IAAA,GAAA,CAAA,CAAA;AAAA4B,cAAAA,SAAA,CAAA3B,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,OAQU4B,aAAa,CAACrI,KAAK,EAAEO,UAAU,EAAE2C,eAAe,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAAA6E,oBAAA,GAAAK,SAAA,CAAAjB,IAAA,CAAA;cAJ1Da,cAAc,GAAAD,oBAAA,CAAdC,cAAc,CAAA;cACdC,iBAAiB,GAAAF,oBAAA,CAAjBE,iBAAiB,CAAA;cACjBhC,eAAe,GAAA8B,oBAAA,CAAf9B,eAAe,CAAA;cACfiC,aAAa,GAAAH,oBAAA,CAAbG,aAAa,CAAA;cAEd9G,cAAc,CAAC4G,cAAc,CAAC,CAAA;cAC9BjE,aAAa,CAACkE,iBAAiB,CAAC,CAAA;cAChCtF,kBAAkB,CAACsD,eAAe,CAAC,CAAA;cACnCjE,WAAW,CAACkG,aAAa,CAAC,CAAA;AAC1B3C,cAAAA,gBAAgB,CAAC,UAAU,EAAE2C,aAAa,CAAC,CAAA;AAC3C3C,cAAAA,gBAAgB,CAAC,iBAAiB,EAAEU,eAAe,CAAC,CAAA;AACpDV,cAAAA,gBAAgB,CAAC,YAAY,EAAE0C,iBAAiB,CAAC,CAAA;AACjD1C,cAAAA,gBAAgB,CAAC,UAAU,EAAEyC,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,CAACc,GAAG,CAAAF,SAAA,CAAAb,EAAM,CAAC,CAAA;AAAC,YAAA,KAAA,EAAA;cAEpB3F,UAAU,CAAC,KAAK,CAAC,CAAA;AAAC,YAAA,KAAA,EAAA,CAAA;AAAA,YAAA,KAAA,KAAA;cAAA,OAAAwG,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,CAAAnC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,OAAA,CAAA;KAwBxB,EAAA,CAAA;AACDiC,IAAAA,mBAAmB,EAAE,CAAA;AACtB,GAAC,EAAE,CAAC5H,KAAK,EAAEO,UAAU,CAAC,CAAC,CAAA;AAEvB0E,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMsD,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC7B,MAAA,IAAAC,aAAA,GAAqCC,YAAY,CAChDtH,WAAW,EACXmC,eAAe,EACftD,KAAK,EACL0C,eAAe,EACfgC,SAAS,EACTnE,UACD,CAAC;QAPKgB,gBAAgB,GAAAiH,aAAA,CAAhBjH,gBAAgB;QAAEQ,QAAQ,GAAAyG,aAAA,CAARzG,QAAQ,CAAA;AAQhC,MAAA,IAAI+C,iBAAiB,EAAE;AACtBvD,QAAAA,gBAAgB,GAAGA,gBAAgB,CAACmH,MAAM,CAAC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIjE,SAAS,CAACkE,QAAQ,CAACD,CAAC,CAACE,EAAE,CAAC,CAAA;SAAC,CAAA,CAAA;AAC1E,OAAA;MACA7D,sBAAsB,CAACzD,gBAAgB,CAAC,CAAA;AACxC;AACA;AACA;AACA;MACA,IAAIuB,SAAS,IAAIQ,eAAe,EAAE,CAEjC,MAAM,IAAIwF,MAAM,CAACC,IAAI,CAACzF,eAAe,CAAC,CAAC8D,MAAM,KAAK,CAAC,IAAI,CAACtE,SAAS,EAAE;AACnE5C,QAAAA,YAAY,CAAC8I,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAC1C;AACD,OAAC,MAAM,IAAI,CAAClG,SAAS,EAAE;AACtByC,QAAAA,gBAAgB,CAAC,iBAAiB,EAAEjC,eAAe,CAAC,CAAA;AACpD;AACD,OAAA;AACAtD,MAAAA,KAAK,IAAI,IAAI,GAAGE,YAAY,CAACgF,OAAO,CAAC,OAAO,EAAElF,KAAK,CAAC,GAAGE,YAAY,CAAC8I,UAAU,CAAC,OAAO,CAAC,CAAA;MACvFhH,WAAW,CAACD,QAAQ,CAAC,CAAA;AAErB,MAAA,IAAIuB,eAAe,EAAE;AACpB,QAAA,IAAMyF,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACzF,eAAe,CAAC,CAAA;QACzC,IAAM2F,OAAO,GAAGF,IAAI,CAACA,IAAI,CAAC3B,MAAM,GAAG,CAAC,CAAC,CAAA;AACrC,QAAA,IAAM8B,OAAO,GAAGC,qBAAqB,CACpCrG,SAAS,GAAG3B,WAAW,GAAGI,gBAAgB,EAC1CJ,WAAW,EACXZ,UAAU,EACVmD,aAAa,EACbuF,OAAO,EACPvE,SACD,CAAC,CAAA;AACD,QAAA,IAAIwE,OAAO,EAAE;UACZvF,gBAAgB,CAACuF,OAAO,CAAC,CAAA;AACzB,UAAA,IAAIpG,SAAS,EAAEC,YAAY,CAAC,KAAK,CAAC,CAAA;AACnC,SAAA;AACD,OAAA;KACA,CAAA;AAEDwF,IAAAA,eAAe,EAAE,CAAA;AAClB,GAAC,EAAE,CAACjF,eAAe,EAAEtD,KAAK,EAAE0C,eAAe,EAAEoC,iBAAiB,EAAEJ,SAAS,CAAC,CAAC,CAAA;AAE3E,EAAA,IAAM0E,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAGC,gBAAgB,EAAI;IAC1D,IAAAC,qBAAA,GAA2BC,wBAAwB,CAClDpI,WAAW,EACXkI,gBAAgB,EAChB3G,eACD,CAAC;MAJKnB,gBAAgB,GAAA+H,qBAAA,CAAhB/H,gBAAgB,CAAA;IAMtByD,sBAAsB,CAACzD,gBAAgB,CAAC,CAAA;AACxC;GACA,CAAA;AAED,EAAA,IAAMiI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,YAAY,EAAI;IAC9C,IAAIA,YAAY,IAAI,IAAI,EAAE;AACzBvJ,MAAAA,YAAY,CAAC8I,UAAU,CAAC,WAAW,CAAC,CAAA;AACrC,KAAC,MAAM;MACNrE,YAAY,CAAC8E,YAAY,CAAC,CAAA;MAC1BvJ,YAAY,CAACgF,OAAO,CAAC,WAAW,EAAEC,IAAI,CAACC,SAAS,CAACqE,YAAY,CAAC,CAAC,CAAA;AAChE,KAAA;GACA,CAAA;AAED,EAAA,oBACCC,KAAA,CAAAC,aAAA,CAAChK,cAAc,CAACiK,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE;AAC/BlI,MAAAA,OAAO,EAAPA,OAAO;AACPR,MAAAA,WAAW,EAAXA,WAAW;AACXI,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBQ,MAAAA,QAAQ,EAARA,QAAQ;AACR/B,MAAAA,KAAK,EAALA,KAAK;AACLgF,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtB7C,MAAAA,QAAQ,EAARA,QAAQ;AACRO,MAAAA,eAAe,EAAfA,eAAe;AACfY,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBG,MAAAA,aAAa,EAAbA,aAAa;AACbI,MAAAA,UAAU,EAAVA,UAAU;AACVsF,MAAAA,8BAA8B,EAA9BA,8BAA8B;AAC9BlF,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBI,MAAAA,YAAY,EAAZA,YAAY;AACZD,MAAAA,SAAS,EAATA,SAAS;AACT/D,MAAAA,UAAU,EAAVA,UAAU;AACVmE,MAAAA,SAAS,EAATA,SAAS;AACT8E,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBzE,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB5B,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB1C,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,UAAU,EAAVA,UAAU;AACV0B,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,cAAc,EAAdA,cAAc;AACd1B,MAAAA,UAAU,EAAVA,UAAAA;AACD,KAAA;AAAE,GAAA,EACAP,QACuB,CAAC,CAAA;AAE5B;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { useContext, createContext } from 'react';
|
|
2
|
+
import { eventTypes } from '../constants/eventTypes.js';
|
|
3
|
+
|
|
4
|
+
var TrackEventContext = /*#__PURE__*/createContext();
|
|
5
|
+
var useTrackEvent = function useTrackEvent() {
|
|
6
|
+
return useContext(TrackEventContext);
|
|
7
|
+
};
|
|
8
|
+
var TrackEventProvider = function TrackEventProvider(_ref) {
|
|
9
|
+
var children = _ref.children,
|
|
10
|
+
trackEvent = _ref.trackEvent;
|
|
11
|
+
return /*#__PURE__*/React.createElement(TrackEventContext.Provider, {
|
|
12
|
+
value: {
|
|
13
|
+
trackEvent: trackEvent,
|
|
14
|
+
eventTypes: eventTypes
|
|
15
|
+
}
|
|
16
|
+
}, children);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { TrackEventProvider, useTrackEvent };
|
|
20
|
+
//# sourceMappingURL=trackEventContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackEventContext.js","sources":["../../src/contexts/trackEventContext.js"],"sourcesContent":["import React, { createContext, useContext } from 'react';\r\nimport { eventTypes } from '~/constants/eventTypes';\r\n\r\nconst TrackEventContext = createContext();\r\n\r\nexport const useTrackEvent = () => useContext(TrackEventContext);\r\n\r\nexport const TrackEventProvider = ({ children, trackEvent }) => {\r\n\treturn (\r\n\t\t<TrackEventContext.Provider value={{ trackEvent, eventTypes }}>\r\n\t\t\t{children}\r\n\t\t</TrackEventContext.Provider>\r\n\t);\r\n};\r\n"],"names":["TrackEventContext","createContext","useTrackEvent","useContext","TrackEventProvider","_ref","children","trackEvent","React","createElement","Provider","value","eventTypes"],"mappings":";;;AAGA,IAAMA,iBAAiB,gBAAGC,aAAa,EAAE,CAAA;AAE5BC,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,GAAA;EAAA,OAASC,UAAU,CAACH,iBAAiB,CAAC,CAAA;AAAA,EAAA;IAEnDI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAiC;AAAA,EAAA,IAA3BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU,CAAA;AACxD,EAAA,oBACCC,KAAA,CAAAC,aAAA,CAACT,iBAAiB,CAACU,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEJ,MAAAA,UAAU,EAAVA,UAAU;AAAEK,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAA;AAAE,GAAA,EAC5DN,QAC0B,CAAC,CAAA;AAE/B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useList.js","sources":["../../src/hooks/useList.js"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\n\nimport { getStorageObject } from '~/util/localStorageUtil';\n\nconst getDefaultItemId = () => {\n\tlet item = getStorageObject(\"selectedListItem\");\n\tif (item?.expanded == true) {\n\t\treturn item.id;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nconst useListLogic = filteredListings => {\n\tconst [itemLimit, setItemLimit] = useState(100);\n\tconst [expandedId] = useState(getDefaultItemId());\n\tconst [sortSetting, setSortSetting] = useState(getStorageObject('sortSetting', null));\n\tconst [scrollPosition, setScrollPosition] = useState(getStorageObject('scrollPosition', 0));\n\tconst loader = useRef(null);\n\tconst scrollContainerRef = useRef(null);\n\tconst itemRefs = useRef({});\n\tconst observer = useRef(null);\n\n\tuseEffect(() => {\n\t\tobserver.current = new IntersectionObserver(handleObserver, {\n\t\t\troot: scrollContainerRef.current,\n\t\t\trootMargin: \"100px 0px\",\n\t\t\tthreshold: 0.5\n\t\t});\n\t\tconst { current } = loader;\n\t\tif (current) {\n\t\t\tobserver.current.observe(current);\n\t\t}\n\t\treturn () => {\n\t\t\tif (observer.current && current) {\n\t\t\t\tobserver.current.unobserve(current);\n\t\t\t}\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [filteredListings.length, itemLimit]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem('scrollPosition', scrollPosition.toString());\n\t}, [scrollPosition]);\n\n\tuseEffect(() => {\n\t\tconst savedScrollPosition = scrollPosition;\n\t\tif (parseInt(savedScrollPosition) > 3000) {\n\t\t\tsetItemLimit(savedScrollPosition / 10);\n\t\t}\n\t\tif (savedScrollPosition && scrollContainerRef.current) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tscrollContainerRef.current.scrollTop = parseInt(savedScrollPosition, 10);\n\t\t\t}, 300);\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst { current } = scrollContainerRef;\n\t\tif (current) {\n\t\t\tcurrent.addEventListener('scroll', handleScroll);\n\t\t}\n\t\treturn () => {\n\t\t\tif (current) {\n\t\t\t\tcurrent.removeEventListener('scroll', handleScroll);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst handleObserver = entities => {\n\t\tconst target = entities[0];\n\t\tif (!target.isIntersecting) return;\n\t\tif (filteredListings.length > itemLimit) {\n\t\t\tsetItemLimit(prevLimit => prevLimit + 100);\n\t\t} else if (observer.current) {\n\t\t\tobserver.current.disconnect();\n\t\t}\n\t};\n\n\tconst handleScroll = () => {\n\t\tif (scrollContainerRef.current) {\n\t\t\tsetScrollPosition(scrollContainerRef.current.scrollTop);\n\t\t}\n\t};\n\n\treturn { itemLimit, expandedId, sortSetting, scrollPosition, loader, scrollContainerRef, itemRefs, setSortSetting, setScrollPosition, filteredListings };\n};\n\nexport default useListLogic;\n"],"names":["getDefaultItemId","item","getStorageObject","expanded","id","useListLogic","filteredListings","_useState","useState","_useState2","_slicedToArray","itemLimit","setItemLimit","_useState3","_useState4","expandedId","_useState5","_useState6","sortSetting","setSortSetting","_useState7","_useState8","scrollPosition","setScrollPosition","loader","useRef","scrollContainerRef","itemRefs","observer","useEffect","current","IntersectionObserver","handleObserver","root","rootMargin","threshold","observe","unobserve","length","localStorage","setItem","toString","savedScrollPosition","parseInt","setTimeout","scrollTop","addEventListener","handleScroll","removeEventListener","entities","target","isIntersecting","prevLimit","disconnect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useList.js","sources":["../../src/hooks/useList.js"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\r\n\r\nimport { getStorageObject } from '~/util/localStorageUtil';\r\n\r\nconst getDefaultItemId = () => {\r\n\tlet item = getStorageObject(\"selectedListItem\");\r\n\tif (item?.expanded == true) {\r\n\t\treturn item.id;\r\n\t} else {\r\n\t\treturn null;\r\n\t}\r\n};\r\n\r\nconst useListLogic = filteredListings => {\r\n\tconst [itemLimit, setItemLimit] = useState(100);\r\n\tconst [expandedId] = useState(getDefaultItemId());\r\n\tconst [sortSetting, setSortSetting] = useState(getStorageObject('sortSetting', null));\r\n\tconst [scrollPosition, setScrollPosition] = useState(getStorageObject('scrollPosition', 0));\r\n\tconst loader = useRef(null);\r\n\tconst scrollContainerRef = useRef(null);\r\n\tconst itemRefs = useRef({});\r\n\tconst observer = useRef(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tobserver.current = new IntersectionObserver(handleObserver, {\r\n\t\t\troot: scrollContainerRef.current,\r\n\t\t\trootMargin: \"100px 0px\",\r\n\t\t\tthreshold: 0.5\r\n\t\t});\r\n\t\tconst { current } = loader;\r\n\t\tif (current) {\r\n\t\t\tobserver.current.observe(current);\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tif (observer.current && current) {\r\n\t\t\t\tobserver.current.unobserve(current);\r\n\t\t\t}\r\n\t\t};\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [filteredListings.length, itemLimit]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlocalStorage.setItem('scrollPosition', scrollPosition.toString());\r\n\t}, [scrollPosition]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst savedScrollPosition = scrollPosition;\r\n\t\tif (parseInt(savedScrollPosition) > 3000) {\r\n\t\t\tsetItemLimit(savedScrollPosition / 10);\r\n\t\t}\r\n\t\tif (savedScrollPosition && scrollContainerRef.current) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tscrollContainerRef.current.scrollTop = parseInt(savedScrollPosition, 10);\r\n\t\t\t}, 300);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst { current } = scrollContainerRef;\r\n\t\tif (current) {\r\n\t\t\tcurrent.addEventListener('scroll', handleScroll);\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tif (current) {\r\n\t\t\t\tcurrent.removeEventListener('scroll', handleScroll);\r\n\t\t\t}\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleObserver = entities => {\r\n\t\tconst target = entities[0];\r\n\t\tif (!target.isIntersecting) return;\r\n\t\tif (filteredListings.length > itemLimit) {\r\n\t\t\tsetItemLimit(prevLimit => prevLimit + 100);\r\n\t\t} else if (observer.current) {\r\n\t\t\tobserver.current.disconnect();\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleScroll = () => {\r\n\t\tif (scrollContainerRef.current) {\r\n\t\t\tsetScrollPosition(scrollContainerRef.current.scrollTop);\r\n\t\t}\r\n\t};\r\n\r\n\treturn { itemLimit, expandedId, sortSetting, scrollPosition, loader, scrollContainerRef, itemRefs, setSortSetting, setScrollPosition, filteredListings };\r\n};\r\n\r\nexport default useListLogic;\r\n"],"names":["getDefaultItemId","item","getStorageObject","expanded","id","useListLogic","filteredListings","_useState","useState","_useState2","_slicedToArray","itemLimit","setItemLimit","_useState3","_useState4","expandedId","_useState5","_useState6","sortSetting","setSortSetting","_useState7","_useState8","scrollPosition","setScrollPosition","loader","useRef","scrollContainerRef","itemRefs","observer","useEffect","current","IntersectionObserver","handleObserver","root","rootMargin","threshold","observe","unobserve","length","localStorage","setItem","toString","savedScrollPosition","parseInt","setTimeout","scrollTop","addEventListener","handleScroll","removeEventListener","entities","target","isIntersecting","prevLimit","disconnect"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { getClientAuthKey } from '../clientToken.js';
|
|
3
3
|
|
|
4
|
-
var baseURL = "https://
|
|
4
|
+
var baseURL = "https://api.myhirecontrol.com";
|
|
5
5
|
var memoryStorage = {
|
|
6
6
|
authToken: null,
|
|
7
7
|
tokenExpiration: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hcApi.js","sources":["../../../src/apis/hcApi.js"],"sourcesContent":["import { getClientAuthKey } from '~/clientToken.js';\r\nconst baseURL = process.env.HC_API_BASE_URL;\r\n\r\nconst memoryStorage = {\r\n\tauthToken: null,\r\n\ttokenExpiration: null\r\n};\r\n\r\nfunction setStorage(key, value) {\r\n\ttry {\r\n\t\tsessionStorage.setItem(key, value);\r\n\t} catch (error) {\r\n\t\tmemoryStorage[key] = value;\r\n\t}\r\n}\r\n\r\nfunction getStorage(key) {\r\n\ttry {\r\n\t\treturn sessionStorage.getItem(key) || memoryStorage[key];\r\n\t} catch (error) {\r\n\t\treturn memoryStorage[key];\r\n\t}\r\n}\r\n\r\nconst login = async () => {\r\n\tconst clientAuthKey = getClientAuthKey();\r\n\r\n\ttry {\r\n\t\tconst response = await fetch(`${baseURL}/auth/login`, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify({\r\n\t\t\t\tclientAuthKey: clientAuthKey\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\tconst data = await response.json();\r\n\r\n\t\tif (data.token && data.expiration) {\r\n\t\t\tsetStorage('authToken', data.token);\r\n\t\t\tsetStorage('tokenExpiration', data.expiration);\r\n\t\t\treturn { token: data.token, expiration: data.expiration };\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error('Login failed:', error);\r\n\t\tthrow error;\r\n\t}\r\n};\r\n\r\nconst fetchWithAuth = async (url, options = {}) => {\r\n\tlet token = getStorage('authToken');\r\n\r\n\tconst expirationDateTime = getStorage('tokenExpiration');\r\n\tconst currentTime = new Date();\r\n\r\n\tif (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {\r\n\t\tconst authResponse = await login();\r\n\t\ttoken = authResponse.token;\r\n\t}\r\n\r\n\tconst headers = new Headers(options.headers || {});\r\n\theaders.append('Authorization', `Bearer ${token}`);\r\n\r\n\tconst finalOptions = {\r\n\t\t...options,\r\n\t\theaders\r\n\t};\r\n\r\n\tconst response = await fetch(`${baseURL}${url}`, finalOptions);\r\n\r\n\tif (!response.ok) throw new Error('Network response was not ok.');\r\n\r\n\treturn response;\r\n};\r\n\r\nexport default {\r\n\tget: async url => {\r\n\t\tconst response = await fetchWithAuth(url);\r\n\t\treturn await response.json();\r\n\t},\r\n\tpost: async (url, data) => {\r\n\t\tconst response = await fetchWithAuth(url, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify(data)\r\n\t\t});\r\n\t\treturn await response.json();\r\n\t}\r\n};\r\n"],"names":["baseURL","memoryStorage","authToken","tokenExpiration","setStorage","key","value","sessionStorage","setItem","error","getStorage","getItem","login","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","clientAuthKey","response","data","wrap","_callee$","_context","prev","next","getClientAuthKey","fetch","concat","method","headers","body","JSON","stringify","sent","json","token","expiration","abrupt","t0","console","stop","apply","arguments","fetchWithAuth","_ref2","_callee2","url","options","expirationDateTime","currentTime","authResponse","finalOptions","_args2","_callee2$","_context2","length","undefined","Date","Headers","append","_objectSpread","ok","Error","_x","get","_get","_callee3","_callee3$","_context3","_x2","post","_post","_callee4","_callee4$","_context4","_x3","_x4"],"mappings":";;;AACA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"hcApi.js","sources":["../../../src/apis/hcApi.js"],"sourcesContent":["import { getClientAuthKey } from '~/clientToken.js';\r\nconst baseURL = process.env.HC_API_BASE_URL;\r\n\r\nconst memoryStorage = {\r\n\tauthToken: null,\r\n\ttokenExpiration: null\r\n};\r\n\r\nfunction setStorage(key, value) {\r\n\ttry {\r\n\t\tsessionStorage.setItem(key, value);\r\n\t} catch (error) {\r\n\t\tmemoryStorage[key] = value;\r\n\t}\r\n}\r\n\r\nfunction getStorage(key) {\r\n\ttry {\r\n\t\treturn sessionStorage.getItem(key) || memoryStorage[key];\r\n\t} catch (error) {\r\n\t\treturn memoryStorage[key];\r\n\t}\r\n}\r\n\r\nconst login = async () => {\r\n\tconst clientAuthKey = getClientAuthKey();\r\n\r\n\ttry {\r\n\t\tconst response = await fetch(`${baseURL}/auth/login`, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify({\r\n\t\t\t\tclientAuthKey: clientAuthKey\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\tconst data = await response.json();\r\n\r\n\t\tif (data.token && data.expiration) {\r\n\t\t\tsetStorage('authToken', data.token);\r\n\t\t\tsetStorage('tokenExpiration', data.expiration);\r\n\t\t\treturn { token: data.token, expiration: data.expiration };\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error('Login failed:', error);\r\n\t\tthrow error;\r\n\t}\r\n};\r\n\r\nconst fetchWithAuth = async (url, options = {}) => {\r\n\tlet token = getStorage('authToken');\r\n\r\n\tconst expirationDateTime = getStorage('tokenExpiration');\r\n\tconst currentTime = new Date();\r\n\r\n\tif (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {\r\n\t\tconst authResponse = await login();\r\n\t\ttoken = authResponse.token;\r\n\t}\r\n\r\n\tconst headers = new Headers(options.headers || {});\r\n\theaders.append('Authorization', `Bearer ${token}`);\r\n\r\n\tconst finalOptions = {\r\n\t\t...options,\r\n\t\theaders\r\n\t};\r\n\r\n\tconst response = await fetch(`${baseURL}${url}`, finalOptions);\r\n\r\n\tif (!response.ok) throw new Error('Network response was not ok.');\r\n\r\n\treturn response;\r\n};\r\n\r\nexport default {\r\n\tget: async url => {\r\n\t\tconst response = await fetchWithAuth(url);\r\n\t\treturn await response.json();\r\n\t},\r\n\tpost: async (url, data) => {\r\n\t\tconst response = await fetchWithAuth(url, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify(data)\r\n\t\t});\r\n\t\treturn await response.json();\r\n\t}\r\n};\r\n"],"names":["baseURL","memoryStorage","authToken","tokenExpiration","setStorage","key","value","sessionStorage","setItem","error","getStorage","getItem","login","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","clientAuthKey","response","data","wrap","_callee$","_context","prev","next","getClientAuthKey","fetch","concat","method","headers","body","JSON","stringify","sent","json","token","expiration","abrupt","t0","console","stop","apply","arguments","fetchWithAuth","_ref2","_callee2","url","options","expirationDateTime","currentTime","authResponse","finalOptions","_args2","_callee2$","_context2","length","undefined","Date","Headers","append","_objectSpread","ok","Error","_x","get","_get","_callee3","_callee3$","_context3","_x2","post","_post","_callee4","_callee4$","_context4","_x3","_x4"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listingAggregatorService.js","sources":["../../src/services/listingAggregatorService.js"],"sourcesContent":["import { getListings } from '~/services/listingService';\nimport { getRecruiters } from '~/services/recruiterService';\nimport { getListingEntities } from '~/services/listingEntityService';\n\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\n\nconst fetchListings = async (query, siteConfig, commuteLocation = null) => {\n\ttry {\n\t\tconst listingsResult = await getListings(\n\t\t\tsiteConfig.companyId,\n\t\t\t5000,\n\t\t\t1,\n\t\t\tquery\n\t\t);\n\t\tconst recruiterIds = [\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\t...new Set(listingsResult.map(listing => listing.recruiterId))\n\t\t];\n\t\tconst fetchedRecruiters = await getRecruiters(recruiterIds);\n\n\t\tconst distinctEntityIds = [\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\t...new Set(listingsResult.map(listing => listing.entityId))\n\t\t];\n\n\t\tconst fetchedEntities = !commuteLocation ? await getListingEntities(\n\t\t\tdistinctEntityIds) : await getListingEntities(\n\t\t\tdistinctEntityIds,`${commuteLocation.lat}, ${commuteLocation.lng}`);\n\t\tfor (var i = 0; i < listingsResult.length; i++) {\n\t\t\tif (listingsResult[i].entityId != -1) {\n\t\t\t\tlistingsResult[i].fields.travelTime = fetchedEntities[listingsResult[i].entityId].travelTime;\n\t\t\t}\n\t\t}\n\t\tconst distinctItems = getDistinctItemsByProximity(\n\t\t\tlistingsResult,\n\t\t\tfetchedEntities\n\t\t);\n\t\treturn {\n\t\t\tlistingsResult,\n\t\t\tfetchedRecruiters,\n\t\t\tfetchedEntities,\n\t\t\tdistinctItems\n\t\t};\n\t} catch (error) {\n\t\tconsole.error(\"Error fetching listings:\", error);\n\t\tthrow error;\n\t}\n};\n\nexport default fetchListings;\n"],"names":["fetchListings","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","siteConfig","commuteLocation","listingsResult","recruiterIds","fetchedRecruiters","distinctEntityIds","fetchedEntities","i","distinctItems","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","getListings","companyId","sent","_toConsumableArray","Set","map","listing","recruiterId","getRecruiters","entityId","getListingEntities","t0","concat","lat","lng","fields","travelTime","getDistinctItemsByProximity","abrupt","t1","console","error","stop","_x","_x2","apply"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listingAggregatorService.js","sources":["../../src/services/listingAggregatorService.js"],"sourcesContent":["import { getListings } from '~/services/listingService';\r\nimport { getRecruiters } from '~/services/recruiterService';\r\nimport { getListingEntities } from '~/services/listingEntityService';\r\n\r\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\r\n\r\nconst fetchListings = async (query, siteConfig, commuteLocation = null) => {\r\n\ttry {\r\n\t\tconst listingsResult = await getListings(\r\n\t\t\tsiteConfig.companyId,\r\n\t\t\t5000,\r\n\t\t\t1,\r\n\t\t\tquery\r\n\t\t);\r\n\t\tconst recruiterIds = [\r\n\t\t\t// eslint-disable-next-line no-undef\r\n\t\t\t...new Set(listingsResult.map(listing => listing.recruiterId))\r\n\t\t];\r\n\t\tconst fetchedRecruiters = await getRecruiters(recruiterIds);\r\n\r\n\t\tconst distinctEntityIds = [\r\n\t\t\t// eslint-disable-next-line no-undef\r\n\t\t\t...new Set(listingsResult.map(listing => listing.entityId))\r\n\t\t];\r\n\r\n\t\tconst fetchedEntities = !commuteLocation ? await getListingEntities(\r\n\t\t\tdistinctEntityIds) : await getListingEntities(\r\n\t\t\tdistinctEntityIds,`${commuteLocation.lat}, ${commuteLocation.lng}`);\r\n\t\tfor (var i = 0; i < listingsResult.length; i++) {\r\n\t\t\tif (listingsResult[i].entityId != -1) {\r\n\t\t\t\tlistingsResult[i].fields.travelTime = fetchedEntities[listingsResult[i].entityId].travelTime;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst distinctItems = getDistinctItemsByProximity(\r\n\t\t\tlistingsResult,\r\n\t\t\tfetchedEntities\r\n\t\t);\r\n\t\treturn {\r\n\t\t\tlistingsResult,\r\n\t\t\tfetchedRecruiters,\r\n\t\t\tfetchedEntities,\r\n\t\t\tdistinctItems\r\n\t\t};\r\n\t} catch (error) {\r\n\t\tconsole.error(\"Error fetching listings:\", error);\r\n\t\tthrow error;\r\n\t}\r\n};\r\n\r\nexport default fetchListings;\r\n"],"names":["fetchListings","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","siteConfig","commuteLocation","listingsResult","recruiterIds","fetchedRecruiters","distinctEntityIds","fetchedEntities","i","distinctItems","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","getListings","companyId","sent","_toConsumableArray","Set","map","listing","recruiterId","getRecruiters","entityId","getListingEntities","t0","concat","lat","lng","fields","travelTime","getDistinctItemsByProximity","abrupt","t1","console","error","stop","_x","_x2","apply"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapIconUtil.js","sources":["../../src/util/mapIconUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\r\nimport { placeTypes } from '~/constants/placeTypes';\r\n\r\nconst customSVGIcon = (\r\n\ttype,\r\n\tfillColor = \"#FFFFFF\",\r\n\tstrokeColor = \"#000000\",\r\n\tbackgroundFill = \"#000000\",\r\n\tbackgroundStroke = \"#000000\"\r\n) => {\r\n\tlet svg = \"\";\r\n\tswitch (type) {\r\n\tcase placeTypes.FOOD:\r\n\t\tsvg = `\r\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M25.7,36.6l0.6,15.8c0.1,2.4-2.3,2.4-2.3,2.4s-2.4,0-2.3-2.4l0.6-15.8c0.1-2-4.3-2.9-4-4.9l2.3-13.3h1.1\r\n\t\t\t\t\t\tl-0.6,9.7l1.7,1.2l0.6-10.9h1.1l0.6,10.9l1.7-1.2l-0.6-9.7h1.1l2.3,13.3C29.7,33.7,25.6,34.6,25.7,36.6z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M40,52.4c0,2.4-2.3,2.4-2.3,2.4s-2.5,0-2.3-2.4L36.6,39c-0.9,0-3.4-0.4-3.4-2.4v-6.1c0-2.4,0.3-6.4,1.2-8.2\r\n\t\t\t\t\t\tc1.1-2.4,3.9-4,5.6-4C40,18.3,40,52.4,40,52.4z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\tcase placeTypes.TOURIST_ATTRACTION:\r\n\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M27,18.5c-1.2,0-1.7,1.1-2.2,2.2L23.7,23h-4.5c-1.9,0-3.4,1.5-3.4,3.4v11.2c0,1.9,1.5,3.4,3.4,3.4h22.5\r\n\t\t\t\t\t\tc1.9,0,3.4-1.5,3.4-3.4V26.4c0-1.9-1.5-3.4-3.4-3.4h-4.5L36,20.8c-0.6-1.1-1-2.2-2.2-2.2H27z M19.2,25.3c0.6,0,1.1,0.5,1.1,1.1\r\n\t\t\t\t\t\tc0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C18,25.8,18.5,25.3,19.2,25.3z M30.4,25.3c3.7,0,6.7,3,6.7,6.7s-3,6.7-6.7,6.7\r\n\t\t\t\t\t\ts-6.7-3-6.7-6.7S26.7,25.3,30.4,25.3z M30.4,28.7c-1.9,0-3.4,1.5-3.4,3.4s1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4\r\n\t\t\t\t\t\tS32.3,28.7,30.4,28.7z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\tcase placeTypes.SCHOOL:\r\n\t\tsvg = `\r\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M39.2,40.6c0,0-4.1,4.6-9.1,4.6S21,40.6,21,40.6v-5.2l9.1,5l9.1-5V40.6z\"/>\r\n\t\t\t\t\t<polygon class=\"st0\" points=\"44.4,40.4 41.8,40.4 41.8,31.4 30.1,37.8 15.8,30 30.1,22.2 44.4,30 \"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\tcase placeTypes.STORE:\r\n\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<g>\r\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t</g>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M45.4,27.7L42,41.1c-0.1,0.6-0.7,1-1.3,1c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3s-3.3-1.5-3.3-3.3\r\n\t\t\t\t\t\ts1.5-3.3,3.3-3.3H23.3c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3S20,47.2,20,45.4s1.5-3.3,3.3-3.3c-0.6,0-1.2-0.4-1.3-1l-4.1-16.4\r\n\t\t\t\t\t\th-1.3c-0.7,0-1.3-0.6-1.3-1.3s0.6-1.3,1.3-1.3h2.3c0.6,0,1.2,0.4,1.3,1l0.8,3h23.1c0.4,0,0.8,0.2,1.1,0.5\r\n\t\t\t\t\t\tC45.4,26.9,45.5,27.3,45.4,27.7z\"/>\r\n\t\t\t\t\t<path d=\"M41.4,45.5c0-0.4-0.3-0.7-0.7-0.7S40,45.1,40,45.5C40.1,46.2,41.4,46.2,41.4,45.5z\"/>\r\n\t\t\t\t\t<path d=\"M24,45.5c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7C22.6,46.2,24,46.2,24,45.5z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\tcase placeTypes.TRANSIT_STATION:\r\n\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<g>\r\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t</g>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M26.3,41.3h-2.8L20.7,44h-1.4v-1.4l1.4-1.4c-2.3,0-4.2-1.9-4.2-4.2V26c0-2.3,1.9-4.2,4.2-4.2h9.7\r\n\t\t\t\t\t\tc2.3,0,4.2,1.9,4.2,4.2v1.4h-2.8v-2.8H19.3v9.7h6.9v7H26.3z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M44.3,43c0,0.5-0.4,1-1,1h-0.8c-0.5,0-1-0.5-1-1.1v-1.7H30.4V43c0,0.5-0.4,1.1-0.9,1.1h-0.9c-0.5,0-1-0.5-1-1\r\n\t\t\t\t\t\tv-7.6l2-5.7c0.2-0.6,0.7-0.9,1.4-0.9h10c0.6,0,1.1,0.4,1.3,0.9l2,5.7V43z\"/>\r\n\t\t\t\t\t<circle cx=\"20.7\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<circle cx=\"41.5\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<circle cx=\"30.4\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<polygon points=\"31,30.2 29.6,34.4 42.4,34.4 40.9,30.2 \"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\tcase placeTypes.PLACE_OF_WORSHIP:\r\n\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M21.3,40.8h-3.8c-1.3,0-2.3-1-2.3-2.3v-4.3c0-0.8,0.5-1.6,1.2-2l4.9-2.7V40.8z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M38,40.8h-4.6v-4.6c0-1.7-1.4-3-3-3c-1.7,0-3,1.4-3,3v4.6h-4.6V30c0-0.8,0.4-1.5,1.1-2l1.9-1.2v-5.1l0,0\r\n\t\t\t\t\t\tc0-0.4,0.2-0.8,0.4-1.1l3.6-3.6c0.3-0.3,0.8-0.3,1.1,0l3.6,3.6c0.3,0.3,0.4,0.7,0.4,1.1v5.1l1.9,1.2c0.7,0.4,1.1,1.2,1.1,2L38,40.8\r\n\t\t\t\t\t\tL38,40.8z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M45.6,38.5c0,1.3-1,2.3-2.3,2.3h-3.8V29.5l4.9,2.7c0.7,0.4,1.2,1.2,1.2,2C45.6,34.2,45.6,38.5,45.6,38.5z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\tbreak;\r\n\t}\r\n\r\n\tconst iconUrl = `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\r\n\treturn iconUrl;\r\n};\r\n\r\nexport const iconPath = \"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Zm-.04 5.71c-.32 0-.57-.27-.56-.58 0-.32.27-.57.58-.56.32 0 .57.27.56.58 0 .31-.25.55-.56.56h-.02Z\";\r\n\r\nexport const markerIconProps = (placeMarkerConfigs, type) => {\r\n\r\n\tconst scaledWidth = placeMarkerConfigs.size;\r\n\tconst scaledHeight = (scaledWidth * 3) / 2;\r\n\tconst iconUrl = customSVGIcon(\r\n\t\ttype,\r\n\t\tplaceMarkerConfigs.colors.innerFillColor,\r\n\t\tplaceMarkerConfigs.colors.innerStrokeColor,\r\n\t\tplaceMarkerConfigs.colors.outerFillColor,\r\n\t\tplaceMarkerConfigs.colors.outerStrokeColor\r\n\t);\r\n\treturn {\r\n\t\turl: iconUrl,\r\n\t\tscaledSize: new google.maps.Size(scaledWidth, scaledHeight),\r\n\t\tanchor: new google.maps.Point(scaledWidth / 2, scaledHeight)\r\n\t};\r\n};\r\n\r\nexport const iconProps = () => {\r\n\treturn {\r\n\t\tpath: iconPath,\r\n\t\tfillOpacity: 1,\r\n\t\tstrokeWeight: 1.75,\r\n\t\tscale: 1.6,\r\n\t\tanchor: new google.maps.Point(12, 17)\r\n\t};\r\n};\r\n\r\nexport const markerIcon = markerConfigs => {\r\n\treturn {\r\n\t\t...iconProps(),\r\n\t\tfillColor: markerConfigs.fillColor,\r\n\t\tstrokeColor: markerConfigs.strokeColor\r\n\t};\r\n};\r\n\r\nexport const markerIconSelected = markerConfigs => {\r\n\treturn {\r\n\t\t...iconProps(),\r\n\t\tfillColor: markerConfigs.selectedFillColor,\r\n\t\tstrokeColor: markerConfigs.selectedStrokeColor\r\n\t};\r\n};\r\n\r\nexport const pinIcon = markerConfigs => {\r\n\tconst { fillColor, strokeColor } = markerConfigs;\r\n\r\n\tconst svg = `\r\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\r\n\t\t<path d=\"${iconPath}\" fill=\"${fillColor}\" stroke=\"${strokeColor}\" stroke-width=\"2\"/>\r\n\t </svg>\r\n\t`;\r\n\r\n\treturn `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\r\n};\r\n\r\n"],"names":["customSVGIcon","type","fillColor","arguments","length","undefined","strokeColor","backgroundFill","backgroundStroke","svg","placeTypes","FOOD","concat","TOURIST_ATTRACTION","SCHOOL","STORE","TRANSIT_STATION","PLACE_OF_WORSHIP","iconUrl","encodeURIComponent","iconPath","markerIconProps","placeMarkerConfigs","scaledWidth","size","scaledHeight","colors","innerFillColor","innerStrokeColor","outerFillColor","outerStrokeColor","url","scaledSize","google","maps","Size","anchor","Point","iconProps","path","fillOpacity","strokeWeight","scale","markerIcon","markerConfigs","_objectSpread","markerIconSelected","selectedFillColor","selectedStrokeColor","pinIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapIconUtil.js","sources":["../../src/util/mapIconUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\r\nimport { placeTypes } from '~/constants/placeTypes';\r\n\r\nconst customSVGIcon = (\r\n\ttype,\r\n\tfillColor = \"#FFFFFF\",\r\n\tstrokeColor = \"#000000\",\r\n\tbackgroundFill = \"#000000\",\r\n\tbackgroundStroke = \"#000000\"\r\n) => {\r\n\tlet svg = \"\";\r\n\tswitch (type) {\r\n\t\tcase placeTypes.FOOD:\r\n\t\t\tsvg = `\r\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M25.7,36.6l0.6,15.8c0.1,2.4-2.3,2.4-2.3,2.4s-2.4,0-2.3-2.4l0.6-15.8c0.1-2-4.3-2.9-4-4.9l2.3-13.3h1.1\r\n\t\t\t\t\t\tl-0.6,9.7l1.7,1.2l0.6-10.9h1.1l0.6,10.9l1.7-1.2l-0.6-9.7h1.1l2.3,13.3C29.7,33.7,25.6,34.6,25.7,36.6z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M40,52.4c0,2.4-2.3,2.4-2.3,2.4s-2.5,0-2.3-2.4L36.6,39c-0.9,0-3.4-0.4-3.4-2.4v-6.1c0-2.4,0.3-6.4,1.2-8.2\r\n\t\t\t\t\t\tc1.1-2.4,3.9-4,5.6-4C40,18.3,40,52.4,40,52.4z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t\tcase placeTypes.TOURIST_ATTRACTION:\r\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M27,18.5c-1.2,0-1.7,1.1-2.2,2.2L23.7,23h-4.5c-1.9,0-3.4,1.5-3.4,3.4v11.2c0,1.9,1.5,3.4,3.4,3.4h22.5\r\n\t\t\t\t\t\tc1.9,0,3.4-1.5,3.4-3.4V26.4c0-1.9-1.5-3.4-3.4-3.4h-4.5L36,20.8c-0.6-1.1-1-2.2-2.2-2.2H27z M19.2,25.3c0.6,0,1.1,0.5,1.1,1.1\r\n\t\t\t\t\t\tc0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C18,25.8,18.5,25.3,19.2,25.3z M30.4,25.3c3.7,0,6.7,3,6.7,6.7s-3,6.7-6.7,6.7\r\n\t\t\t\t\t\ts-6.7-3-6.7-6.7S26.7,25.3,30.4,25.3z M30.4,28.7c-1.9,0-3.4,1.5-3.4,3.4s1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4\r\n\t\t\t\t\t\tS32.3,28.7,30.4,28.7z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t\tcase placeTypes.SCHOOL:\r\n\t\t\tsvg = `\r\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M39.2,40.6c0,0-4.1,4.6-9.1,4.6S21,40.6,21,40.6v-5.2l9.1,5l9.1-5V40.6z\"/>\r\n\t\t\t\t\t<polygon class=\"st0\" points=\"44.4,40.4 41.8,40.4 41.8,31.4 30.1,37.8 15.8,30 30.1,22.2 44.4,30 \"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t\tcase placeTypes.STORE:\r\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<g>\r\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t</g>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M45.4,27.7L42,41.1c-0.1,0.6-0.7,1-1.3,1c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3s-3.3-1.5-3.3-3.3\r\n\t\t\t\t\t\ts1.5-3.3,3.3-3.3H23.3c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3S20,47.2,20,45.4s1.5-3.3,3.3-3.3c-0.6,0-1.2-0.4-1.3-1l-4.1-16.4\r\n\t\t\t\t\t\th-1.3c-0.7,0-1.3-0.6-1.3-1.3s0.6-1.3,1.3-1.3h2.3c0.6,0,1.2,0.4,1.3,1l0.8,3h23.1c0.4,0,0.8,0.2,1.1,0.5\r\n\t\t\t\t\t\tC45.4,26.9,45.5,27.3,45.4,27.7z\"/>\r\n\t\t\t\t\t<path d=\"M41.4,45.5c0-0.4-0.3-0.7-0.7-0.7S40,45.1,40,45.5C40.1,46.2,41.4,46.2,41.4,45.5z\"/>\r\n\t\t\t\t\t<path d=\"M24,45.5c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7C22.6,46.2,24,46.2,24,45.5z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t\tcase placeTypes.TRANSIT_STATION:\r\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<g>\r\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t</g>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M26.3,41.3h-2.8L20.7,44h-1.4v-1.4l1.4-1.4c-2.3,0-4.2-1.9-4.2-4.2V26c0-2.3,1.9-4.2,4.2-4.2h9.7\r\n\t\t\t\t\t\tc2.3,0,4.2,1.9,4.2,4.2v1.4h-2.8v-2.8H19.3v9.7h6.9v7H26.3z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M44.3,43c0,0.5-0.4,1-1,1h-0.8c-0.5,0-1-0.5-1-1.1v-1.7H30.4V43c0,0.5-0.4,1.1-0.9,1.1h-0.9c-0.5,0-1-0.5-1-1\r\n\t\t\t\t\t\tv-7.6l2-5.7c0.2-0.6,0.7-0.9,1.4-0.9h10c0.6,0,1.1,0.4,1.3,0.9l2,5.7V43z\"/>\r\n\t\t\t\t\t<circle cx=\"20.7\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<circle cx=\"41.5\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<circle cx=\"30.4\" cy=\"37.1\" r=\"1.4\"/>\r\n\t\t\t\t\t<polygon points=\"31,30.2 29.6,34.4 42.4,34.4 40.9,30.2 \"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t\tcase placeTypes.PLACE_OF_WORSHIP:\r\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\r\n\t\t\t\t\t<style type=\"text/css\">\r\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\r\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\r\n\t\t\t\t\t</style>\r\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M21.3,40.8h-3.8c-1.3,0-2.3-1-2.3-2.3v-4.3c0-0.8,0.5-1.6,1.2-2l4.9-2.7V40.8z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M38,40.8h-4.6v-4.6c0-1.7-1.4-3-3-3c-1.7,0-3,1.4-3,3v4.6h-4.6V30c0-0.8,0.4-1.5,1.1-2l1.9-1.2v-5.1l0,0\r\n\t\t\t\t\t\tc0-0.4,0.2-0.8,0.4-1.1l3.6-3.6c0.3-0.3,0.8-0.3,1.1,0l3.6,3.6c0.3,0.3,0.4,0.7,0.4,1.1v5.1l1.9,1.2c0.7,0.4,1.1,1.2,1.1,2L38,40.8\r\n\t\t\t\t\t\tL38,40.8z\"/>\r\n\t\t\t\t\t<path class=\"st0\" d=\"M45.6,38.5c0,1.3-1,2.3-2.3,2.3h-3.8V29.5l4.9,2.7c0.7,0.4,1.2,1.2,1.2,2C45.6,34.2,45.6,38.5,45.6,38.5z\"/>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t`;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tconst iconUrl = `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\r\n\treturn iconUrl;\r\n};\r\n\r\nexport const iconPath = \"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Zm-.04 5.71c-.32 0-.57-.27-.56-.58 0-.32.27-.57.58-.56.32 0 .57.27.56.58 0 .31-.25.55-.56.56h-.02Z\";\r\n\r\nexport const markerIconProps = (placeMarkerConfigs, type) => {\r\n\r\n\tconst scaledWidth = placeMarkerConfigs.size;\r\n\tconst scaledHeight = (scaledWidth * 3) / 2;\r\n\tconst iconUrl = customSVGIcon(\r\n\t\ttype,\r\n\t\tplaceMarkerConfigs.colors.innerFillColor,\r\n\t\tplaceMarkerConfigs.colors.innerStrokeColor,\r\n\t\tplaceMarkerConfigs.colors.outerFillColor,\r\n\t\tplaceMarkerConfigs.colors.outerStrokeColor\r\n\t);\r\n\treturn {\r\n\t\turl: iconUrl,\r\n\t\tscaledSize: new google.maps.Size(scaledWidth, scaledHeight),\r\n\t\tanchor: new google.maps.Point(scaledWidth / 2, scaledHeight)\r\n\t};\r\n};\r\n\r\nexport const iconProps = () => {\r\n\treturn {\r\n\t\tpath: iconPath,\r\n\t\tfillOpacity: 1,\r\n\t\tstrokeWeight: 1.75,\r\n\t\tscale: 1.6,\r\n\t\tanchor: new google.maps.Point(12, 17)\r\n\t};\r\n};\r\n\r\nexport const markerIcon = markerConfigs => {\r\n\treturn {\r\n\t\t...iconProps(),\r\n\t\tfillColor: markerConfigs.fillColor,\r\n\t\tstrokeColor: markerConfigs.strokeColor\r\n\t};\r\n};\r\n\r\nexport const markerIconSelected = markerConfigs => {\r\n\treturn {\r\n\t\t...iconProps(),\r\n\t\tfillColor: markerConfigs.selectedFillColor,\r\n\t\tstrokeColor: markerConfigs.selectedStrokeColor\r\n\t};\r\n};\r\n\r\nexport const pinIcon = markerConfigs => {\r\n\tconst { fillColor, strokeColor } = markerConfigs;\r\n\r\n\tconst svg = `\r\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\r\n\t\t<path d=\"${iconPath}\" fill=\"${fillColor}\" stroke=\"${strokeColor}\" stroke-width=\"2\"/>\r\n\t </svg>\r\n\t`;\r\n\r\n\treturn `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\r\n};\r\n\r\n"],"names":["customSVGIcon","type","fillColor","arguments","length","undefined","strokeColor","backgroundFill","backgroundStroke","svg","placeTypes","FOOD","concat","TOURIST_ATTRACTION","SCHOOL","STORE","TRANSIT_STATION","PLACE_OF_WORSHIP","iconUrl","encodeURIComponent","iconPath","markerIconProps","placeMarkerConfigs","scaledWidth","size","scaledHeight","colors","innerFillColor","innerStrokeColor","outerFillColor","outerStrokeColor","url","scaledSize","google","maps","Size","anchor","Point","iconProps","path","fillOpacity","strokeWeight","scale","markerIcon","markerConfigs","_objectSpread","markerIconSelected","selectedFillColor","selectedStrokeColor","pinIcon"],"mappings":"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"}
|