@abcagency/hc-ui-components 1.0.35 → 1.0.37

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.
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import Accordion from '../../accordions/default.js';
3
3
  import ListHeader from './header.js';
4
4
  import MapAccordionItem from '../../accordions/MapAccordionItem.js';
@@ -42,6 +42,29 @@ var ItemsList = function ItemsList(_ref) {
42
42
  return x !== 'travelTime';
43
43
  });
44
44
  }
45
+ useEffect(function () {
46
+ // Retrieve scroll position from local storage and set it
47
+ var savedScrollPosition = localStorage.getItem('scrollPosition');
48
+ if (savedScrollPosition && scrollContainerRef.current) {
49
+ scrollContainerRef.current.scrollTop = parseInt(savedScrollPosition, 10);
50
+ }
51
+
52
+ // Save scroll position to local storage before the component unmounts
53
+ var handleScroll = function handleScroll() {
54
+ if (scrollContainerRef.current) {
55
+ localStorage.setItem('scrollPosition', scrollContainerRef.current.scrollTop);
56
+ }
57
+ };
58
+ var scrollContainer = scrollContainerRef.current;
59
+ if (scrollContainer) {
60
+ scrollContainer.addEventListener('scroll', handleScroll);
61
+ }
62
+ return function () {
63
+ if (scrollContainer) {
64
+ scrollContainer.removeEventListener('scroll', handleScroll);
65
+ }
66
+ };
67
+ }, [scrollContainerRef]);
45
68
  return /*#__PURE__*/React.createElement("div", {
46
69
  className: "hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col"
47
70
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/modules/maps/list/index.js"],"sourcesContent":["import React from 'react';\nimport Accordion from \"~/components/modules/accordions/default\";\nimport Header from \"~/components/modules/maps/list/header\";\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\nimport useListLogic from '~/hooks/useList';\nimport Sort from '~/components/modules/filter/sort';\nimport Loading from \"~/util/loading\";\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\nimport ListingDetails from \"~/components/modules/jobListing/listing-details\";\n\nconst ItemsList = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\n\tconst {\n\t\titemLimit,\n\t\tsortSetting,\n\t\tloader,\n\t\tscrollContainerRef,\n\t\titemRefs,\n\t\tsetSortSetting\n\t} = useListLogic();\n\tconst { selectedListItem } = useMap();\n\tconst { mapItems, filteredListings, loading, commuteLocation } = useMapList();\n\tconst itemExpandedContent = (item, recruiters) =>\n\t\titem ? <ListingDetails item={item} recruiters={recruiters} /> : null;\n\tif (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {\n\t\tfieldsShown.push('travelTime');\n\t\tfieldNames['travelTime'] = 'Commute';\n\t} else if (fieldsShown.includes('travelTime') && !commuteLocation) {\n\t\tfieldsShown = fieldsShown.filter(x => x !== 'travelTime');\n\t}\n\n\treturn (\n\t\t<div className=\"hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col\">\n\t\t\t<div className=\"hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20\">\n\t\t\t\t<h2 className=\"hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm\">\n\t\t\t\t\t{loading &&\n\t\t\t\t\t\t<span>Loading...</span>\n\t\t\t\t\t}\n\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t<span>{filteredListings.length} results</span>\n\t\t\t\t\t}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"hc-block md:hc-hidden\">\n\t\t\t\t\t<Sort\n\t\t\t\t\t\tfields={fieldsShown}\n\t\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Header\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\tsortSetting={sortSetting}\n\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={scrollContainerRef}\n\t\t\t\tclassName={`\n\t\t\t\t\thc-flex-grow hc-overflow-y-auto\n\t\t\t\t\t${showMap ? \"md:hc-max-h-45vh hc-max-h-[100vh]\" : \"md:hc-max-h-95vh hc-max-h-[95vh]\"}\n\t\t\t\t`}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<div className=\"hc-flex hc-justify-center hc-items-center hc-pt-20\">\n\t\t\t\t\t\t<Loading />\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Accordion className=\"hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]\" defaultValue={selectedListItem?.id}>\n\t\t\t\t\t\t{filteredListings.slice(0, itemLimit).map(item => {\n\t\t\t\t\t\t\treturn (<MapAccordionItem\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\titemRefs={itemRefs}\n\t\t\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\t\t\tmapItems={mapItems}\n\t\t\t\t\t\t\t\tisActive={selectedListItem?.id == item.id}\n\t\t\t\t\t\t\t\thasListItemSelected={selectedListItem != null}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Accordion>\n\t\t\t\t)}\n\t\t\t\t<div ref={loader} style={{ height: \"100px\", textAlign: \"center\" }}>\n\t\t\t\t\t{filteredListings.length >= itemLimit && <Loading />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ItemsList;\n"],"names":["ItemsList","_ref","fieldNames","showMap","fieldsShown","specialFeatures","_useListLogic","useListLogic","itemLimit","sortSetting","loader","scrollContainerRef","itemRefs","setSortSetting","_useMap","useMap","selectedListItem","_useMapList","useMapList","mapItems","filteredListings","loading","commuteLocation","itemExpandedContent","item","recruiters","React","createElement","ListingDetails","includes","Object","entries","length","push","filter","x","className","Sort","fields","Header","ref","concat","Loading","Accordion","defaultValue","id","slice","map","MapAccordionItem","key","isActive","hasListItemSelected","style","height","textAlign"],"mappings":";;;;;;;;;;;AAWA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJLC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,eAAe,GAAAJ,IAAA,CAAfI,eAAe,CAAA;AAGf,EAAA,IAAAC,aAAA,GAOIC,YAAY,EAAE;IANjBC,SAAS,GAAAF,aAAA,CAATE,SAAS;IACTC,WAAW,GAAAH,aAAA,CAAXG,WAAW;IACXC,MAAM,GAAAJ,aAAA,CAANI,MAAM;IACNC,kBAAkB,GAAAL,aAAA,CAAlBK,kBAAkB;IAClBC,QAAQ,GAAAN,aAAA,CAARM,QAAQ;IACRC,cAAc,GAAAP,aAAA,CAAdO,cAAc,CAAA;AAEf,EAAA,IAAAC,OAAA,GAA6BC,MAAM,EAAE;IAA7BC,gBAAgB,GAAAF,OAAA,CAAhBE,gBAAgB,CAAA;AACxB,EAAA,IAAAC,WAAA,GAAiEC,UAAU,EAAE;IAArEC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;IAAEC,gBAAgB,GAAAH,WAAA,CAAhBG,gBAAgB;IAAEC,OAAO,GAAAJ,WAAA,CAAPI,OAAO;IAAEC,eAAe,GAAAL,WAAA,CAAfK,eAAe,CAAA;AAC5D,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,UAAU,EAAA;AAAA,IAAA,OAC5CD,IAAI,gBAAGE,KAAA,CAAAC,aAAA,CAACC,cAAc,EAAA;AAACJ,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,UAAU,EAAEA,UAAAA;KAAa,CAAC,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;EACrE,IAAI,CAACrB,WAAW,CAACyB,QAAQ,CAAC,YAAY,CAAC,IAAIP,eAAe,IAAI,IAAI,IAAIQ,MAAM,CAACC,OAAO,CAACT,eAAe,CAAC,CAACU,MAAM,GAAG,CAAC,EAAE;AACjH5B,IAAAA,WAAW,CAAC6B,IAAI,CAAC,YAAY,CAAC,CAAA;AAC9B/B,IAAAA,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;GACpC,MAAM,IAAIE,WAAW,CAACyB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAACP,eAAe,EAAE;AAClElB,IAAAA,WAAW,GAAGA,WAAW,CAAC8B,MAAM,CAAC,UAAAC,CAAC,EAAA;MAAA,OAAIA,CAAC,KAAK,YAAY,CAAA;KAAC,CAAA,CAAA;AAC1D,GAAA;EAEA,oBACCT,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,wDAAA;GACdV,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,yLAAA;GACdV,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIS,IAAAA,SAAS,EAAC,4DAAA;GACZf,EAAAA,OAAO,iBACPK,KAAA,CAAAC,aAAA,CAAM,MAAA,EAAA,IAAA,EAAA,YAAgB,CAAC,EAEvB,CAACN,OAAO,iBACRK,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOP,gBAAgB,CAACY,MAAM,EAAC,UAAc,CAE3C,CAAC,eACLN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,eACrCV,KAAA,CAAAC,aAAA,CAACU,UAAI,EAAA;AACJC,IAAAA,MAAM,EAAElC,WAAY;AACpBS,IAAAA,cAAc,EAAEA,cAAe;AAC/BX,IAAAA,UAAU,EAAEA,UAAAA;AAAW,GACvB,CACG,CACD,CAAC,eACNwB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACCD,KAAA,CAAAC,aAAA,CAACY,UAAM,EAAA;AACN1B,IAAAA,cAAc,EAAEA,cAAe;AAC/BJ,IAAAA,WAAW,EAAEA,WAAY;AACzBL,IAAAA,WAAW,EAAEA,WAAY;AACzBF,IAAAA,UAAU,EAAEA,UAAAA;AAAW,GACvB,CACG,CAAC,eACNwB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCa,IAAAA,GAAG,EAAE7B,kBAAmB;AACxByB,IAAAA,SAAS,4DAAAK,MAAA,CAENtC,OAAO,GAAG,mCAAmC,GAAG,kCAAkC,EAAA,YAAA,CAAA;AACnF,GAAA,EAEDkB,OAAO,gBACPK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,oDAAA;AAAoD,GAAA,eAClEV,KAAA,CAAAC,aAAA,CAACe,OAAO,EAAA,IAAE,CACN,CAAC,gBAENhB,KAAA,CAAAC,aAAA,CAACgB,SAAS,EAAA;AAACP,IAAAA,SAAS,EAAC,+CAA+C;AAACQ,IAAAA,YAAY,EAAE5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAE6B,EAAAA;AAAG,GAAA,EACtGzB,gBAAgB,CAAC0B,KAAK,CAAC,CAAC,EAAEtC,SAAS,CAAC,CAACuC,GAAG,CAAC,UAAAvB,IAAI,EAAI;AACjD,IAAA,oBAAQE,KAAA,CAAAC,aAAA,CAACqB,gBAAgB,EAAA;MACxBC,GAAG,EAAEzB,IAAI,CAACqB,EAAG;AACb1C,MAAAA,OAAO,EAAEA,OAAQ;AACjBqB,MAAAA,IAAI,EAAEA,IAAK;AACXZ,MAAAA,QAAQ,EAAEA,QAAS;AACnBR,MAAAA,WAAW,EAAEA,WAAY;AACzBmB,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzClB,MAAAA,eAAe,EAAEA,eAAgB;AACjCc,MAAAA,QAAQ,EAAEA,QAAS;AACnB+B,MAAAA,QAAQ,EAAE,CAAAlC,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAE6B,EAAE,KAAIrB,IAAI,CAACqB,EAAG;MAC1CM,mBAAmB,EAAEnC,gBAAgB,IAAI,IAAA;AAAK,KAC9C,CAAC,CAAA;AAEH,GAAC,CACS,CACX,eACDU,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKa,IAAAA,GAAG,EAAE9B,MAAO;AAAC0C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE,OAAO;AAAEC,MAAAA,SAAS,EAAE,QAAA;AAAS,KAAA;AAAE,GAAA,EAChElC,gBAAgB,CAACY,MAAM,IAAIxB,SAAS,iBAAIkB,KAAA,CAAAC,aAAA,CAACe,OAAO,EAAA,IAAE,CAC/C,CACD,CACD,CAAC,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/modules/maps/list/index.js"],"sourcesContent":["import React, { useEffect } from 'react';\nimport Accordion from \"~/components/modules/accordions/default\";\nimport Header from \"~/components/modules/maps/list/header\";\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\nimport useListLogic from '~/hooks/useList';\nimport Sort from '~/components/modules/filter/sort';\nimport Loading from \"~/util/loading\";\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\nimport ListingDetails from \"~/components/modules/jobListing/listing-details\";\n\nconst ItemsList = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\n\tconst {\n\t\titemLimit,\n\t\tsortSetting,\n\t\tloader,\n\t\tscrollContainerRef,\n\t\titemRefs,\n\t\tsetSortSetting\n\t} = useListLogic();\n\tconst { selectedListItem } = useMap();\n\tconst { mapItems, filteredListings, loading, commuteLocation } = useMapList();\n\tconst itemExpandedContent = (item, recruiters) =>\n\t\titem ? <ListingDetails item={item} recruiters={recruiters} /> : null;\n\n\tif (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {\n\t\tfieldsShown.push('travelTime');\n\t\tfieldNames['travelTime'] = 'Commute';\n\t} else if (fieldsShown.includes('travelTime') && !commuteLocation) {\n\t\tfieldsShown = fieldsShown.filter(x => x !== 'travelTime');\n\t}\n\n\tuseEffect(() => {\n\t\t// Retrieve scroll position from local storage and set it\n\t\tconst savedScrollPosition = localStorage.getItem('scrollPosition');\n\t\tif (savedScrollPosition && scrollContainerRef.current) {\n\t\t\tscrollContainerRef.current.scrollTop = parseInt(savedScrollPosition, 10);\n\t\t}\n\n\t\t// Save scroll position to local storage before the component unmounts\n\t\tconst handleScroll = () => {\n\t\t\tif (scrollContainerRef.current) {\n\t\t\t\tlocalStorage.setItem('scrollPosition', scrollContainerRef.current.scrollTop);\n\t\t\t}\n\t\t};\n\n\t\tconst scrollContainer = scrollContainerRef.current;\n\t\tif (scrollContainer) {\n\t\t\tscrollContainer.addEventListener('scroll', handleScroll);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (scrollContainer) {\n\t\t\t\tscrollContainer.removeEventListener('scroll', handleScroll);\n\t\t\t}\n\t\t};\n\t}, [scrollContainerRef]);\n\n\treturn (\n\t\t<div className=\"hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col\">\n\t\t\t<div className=\"hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20\">\n\t\t\t\t<h2 className=\"hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm\">\n\t\t\t\t\t{loading &&\n\t\t\t\t\t\t<span>Loading...</span>\n\t\t\t\t\t}\n\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t<span>{filteredListings.length} results</span>\n\t\t\t\t\t}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"hc-block md:hc-hidden\">\n\t\t\t\t\t<Sort\n\t\t\t\t\t\tfields={fieldsShown}\n\t\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Header\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\tsortSetting={sortSetting}\n\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={scrollContainerRef}\n\t\t\t\tclassName={`\n\t\t\t\t\thc-flex-grow hc-overflow-y-auto\n\t\t\t\t\t${showMap ? \"md:hc-max-h-45vh hc-max-h-[100vh]\" : \"md:hc-max-h-95vh hc-max-h-[95vh]\"}\n\t\t\t\t`}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<div className=\"hc-flex hc-justify-center hc-items-center hc-pt-20\">\n\t\t\t\t\t\t<Loading />\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Accordion className=\"hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]\" defaultValue={selectedListItem?.id}>\n\t\t\t\t\t\t{filteredListings.slice(0, itemLimit).map(item => {\n\t\t\t\t\t\t\treturn (<MapAccordionItem\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\titemRefs={itemRefs}\n\t\t\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\t\t\tmapItems={mapItems}\n\t\t\t\t\t\t\t\tisActive={selectedListItem?.id == item.id}\n\t\t\t\t\t\t\t\thasListItemSelected={selectedListItem != null}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Accordion>\n\t\t\t\t)}\n\t\t\t\t<div ref={loader} style={{ height: \"100px\", textAlign: \"center\" }}>\n\t\t\t\t\t{filteredListings.length >= itemLimit && <Loading />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ItemsList;\n"],"names":["ItemsList","_ref","fieldNames","showMap","fieldsShown","specialFeatures","_useListLogic","useListLogic","itemLimit","sortSetting","loader","scrollContainerRef","itemRefs","setSortSetting","_useMap","useMap","selectedListItem","_useMapList","useMapList","mapItems","filteredListings","loading","commuteLocation","itemExpandedContent","item","recruiters","React","createElement","ListingDetails","includes","Object","entries","length","push","filter","x","useEffect","savedScrollPosition","localStorage","getItem","current","scrollTop","parseInt","handleScroll","setItem","scrollContainer","addEventListener","removeEventListener","className","Sort","fields","Header","ref","concat","Loading","Accordion","defaultValue","id","slice","map","MapAccordionItem","key","isActive","hasListItemSelected","style","height","textAlign"],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@abcagency/hc-ui-components",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "UI Components for HireControl",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "build": "NODE_ENV=production rollup -c",
8
- "publish": "npm publish",
9
8
  "test": "echo \"Error: no test specified\" && exit 1"
10
9
  },
11
10
  "keywords": [
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import Accordion from "~/components/modules/accordions/default";
3
3
  import Header from "~/components/modules/maps/list/header";
4
4
  import MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';
@@ -28,6 +28,7 @@ const ItemsList = ({
28
28
  const { mapItems, filteredListings, loading, commuteLocation } = useMapList();
29
29
  const itemExpandedContent = (item, recruiters) =>
30
30
  item ? <ListingDetails item={item} recruiters={recruiters} /> : null;
31
+
31
32
  if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
32
33
  fieldsShown.push('travelTime');
33
34
  fieldNames['travelTime'] = 'Commute';
@@ -35,6 +36,32 @@ const ItemsList = ({
35
36
  fieldsShown = fieldsShown.filter(x => x !== 'travelTime');
36
37
  }
37
38
 
39
+ useEffect(() => {
40
+ // Retrieve scroll position from local storage and set it
41
+ const savedScrollPosition = localStorage.getItem('scrollPosition');
42
+ if (savedScrollPosition && scrollContainerRef.current) {
43
+ scrollContainerRef.current.scrollTop = parseInt(savedScrollPosition, 10);
44
+ }
45
+
46
+ // Save scroll position to local storage before the component unmounts
47
+ const handleScroll = () => {
48
+ if (scrollContainerRef.current) {
49
+ localStorage.setItem('scrollPosition', scrollContainerRef.current.scrollTop);
50
+ }
51
+ };
52
+
53
+ const scrollContainer = scrollContainerRef.current;
54
+ if (scrollContainer) {
55
+ scrollContainer.addEventListener('scroll', handleScroll);
56
+ }
57
+
58
+ return () => {
59
+ if (scrollContainer) {
60
+ scrollContainer.removeEventListener('scroll', handleScroll);
61
+ }
62
+ };
63
+ }, [scrollContainerRef]);
64
+
38
65
  return (
39
66
  <div className="hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col">
40
67
  <div className="hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20">