gatsby-core-theme 30.0.44 → 30.0.45
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## [30.0.45](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v30.0.44...v30.0.45) (2024-01-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Code Refactoring
|
|
5
|
+
|
|
6
|
+
* add search results to tabs on search page ([1b796cf](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/1b796cf2f5613d1540769b44ad2f1602e7d6f1fb))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
* Merge branch 'search-tab-changes' into 'master' ([e0975b0](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/e0975b015a9c355b967b86d925675549e6278674))
|
|
10
|
+
|
|
1
11
|
## [30.0.44](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v30.0.43...v30.0.44) (2024-01-04)
|
|
2
12
|
|
|
3
13
|
|
package/package.json
CHANGED
|
@@ -28,6 +28,7 @@ const Search = ({
|
|
|
28
28
|
children,
|
|
29
29
|
page,
|
|
30
30
|
pageContext,
|
|
31
|
+
showNumberOfResults = false,
|
|
31
32
|
}) => {
|
|
32
33
|
const { setShowSearch } = useContext(NavigationContext);
|
|
33
34
|
const pageSearchOptionsCopy = pageSearchOptions;
|
|
@@ -331,6 +332,8 @@ const Search = ({
|
|
|
331
332
|
activeTabClass="searchActive"
|
|
332
333
|
headerClass="searchHeader"
|
|
333
334
|
gtmClass="search-tabs-menu-gtm"
|
|
335
|
+
showNumberOfResults={showNumberOfResults}
|
|
336
|
+
totalResults={searchResultsRef?.current?.length}
|
|
334
337
|
>
|
|
335
338
|
{items}
|
|
336
339
|
</Tabs>
|
|
@@ -377,7 +380,12 @@ const Search = ({
|
|
|
377
380
|
|
|
378
381
|
return (
|
|
379
382
|
// eslint-disable-next-line react/no-unknown-property
|
|
380
|
-
<div
|
|
383
|
+
<div
|
|
384
|
+
results={items.items.length}
|
|
385
|
+
label={titleObj.title}
|
|
386
|
+
tabId={type + index}
|
|
387
|
+
key={keygen()}
|
|
388
|
+
>
|
|
381
389
|
{pageSearchOptionsCopy.useArchive === undefined ||
|
|
382
390
|
!pageSearchOptionsCopy.useArchive ? (
|
|
383
391
|
<div className={styles.searchGrid}>{items}</div>
|
|
@@ -463,6 +471,7 @@ Search.propTypes = {
|
|
|
463
471
|
market: PropTypes.string,
|
|
464
472
|
}),
|
|
465
473
|
}),
|
|
474
|
+
showNumberOfResults: PropTypes.bool,
|
|
466
475
|
};
|
|
467
476
|
|
|
468
477
|
export default Search;
|
package/src/hooks/tabs/index.js
CHANGED
|
@@ -11,6 +11,8 @@ const Tabs = ({
|
|
|
11
11
|
HeaderComp,
|
|
12
12
|
headerClass = '',
|
|
13
13
|
gtmClass = '',
|
|
14
|
+
showNumberOfResults = false,
|
|
15
|
+
totalResults,
|
|
14
16
|
}) => {
|
|
15
17
|
const showAllTabId = `${showAll}_0`;
|
|
16
18
|
const [activeTab, setActiveTab] = useState(
|
|
@@ -36,6 +38,8 @@ const Tabs = ({
|
|
|
36
38
|
showAll={showAll}
|
|
37
39
|
gtmClass={gtmClass}
|
|
38
40
|
alignRight={tabsAlign === 'right'}
|
|
41
|
+
showNumberOfResults={showNumberOfResults}
|
|
42
|
+
totalResults={totalResults}
|
|
39
43
|
/>
|
|
40
44
|
)}
|
|
41
45
|
{HeaderComp && <div className={styles.headerComp || ''}>{HeaderComp}</div>}
|
|
@@ -65,6 +69,8 @@ Tabs.propTypes = {
|
|
|
65
69
|
HeaderComp: PropTypes.objectOf(PropTypes.any),
|
|
66
70
|
headerClass: PropTypes.string,
|
|
67
71
|
gtmClass: PropTypes.string,
|
|
72
|
+
showNumberOfResults: PropTypes.bool,
|
|
73
|
+
totalResults: PropTypes.number,
|
|
68
74
|
};
|
|
69
75
|
|
|
70
76
|
export default Tabs;
|
|
@@ -17,6 +17,8 @@ const TabList = ({
|
|
|
17
17
|
showAll,
|
|
18
18
|
alignRight = false,
|
|
19
19
|
gtmClass = '',
|
|
20
|
+
showNumberOfResults = false,
|
|
21
|
+
totalResults,
|
|
20
22
|
}) => {
|
|
21
23
|
const [tabItems, setTabItems] = useState(items);
|
|
22
24
|
|
|
@@ -26,7 +28,10 @@ const TabList = ({
|
|
|
26
28
|
useEffect(() => {
|
|
27
29
|
if (showAll) {
|
|
28
30
|
// eslint-disable-next-line react/no-unknown-property
|
|
29
|
-
setTabItems([
|
|
31
|
+
setTabItems([
|
|
32
|
+
<div results={totalResults} label={showAll} tabId={`${showAll}_0`} key={keygen()} />,
|
|
33
|
+
...items,
|
|
34
|
+
]);
|
|
30
35
|
}
|
|
31
36
|
}, [showAll, items]);
|
|
32
37
|
|
|
@@ -53,7 +58,7 @@ const TabList = ({
|
|
|
53
58
|
<ol ref={tabList} className={styles.list || ''} data-id="select-list">
|
|
54
59
|
{tabItems.map((items, index) => {
|
|
55
60
|
if (items === null) return null;
|
|
56
|
-
const { label } = items.props;
|
|
61
|
+
const { label, results } = items.props;
|
|
57
62
|
if (isMobile && label === activeTab.split('_')[0]) return null;
|
|
58
63
|
return (
|
|
59
64
|
<Tab
|
|
@@ -66,6 +71,8 @@ const TabList = ({
|
|
|
66
71
|
// eslint-disable-next-line react/jsx-no-bind
|
|
67
72
|
toggleDropdown={showDropdown}
|
|
68
73
|
gtmClass={gtmClass}
|
|
74
|
+
showResults={showNumberOfResults}
|
|
75
|
+
results={results}
|
|
69
76
|
/>
|
|
70
77
|
);
|
|
71
78
|
})}
|
|
@@ -83,6 +90,8 @@ TabList.propTypes = {
|
|
|
83
90
|
activeTabClass: PropTypes.string,
|
|
84
91
|
alignRight: PropTypes.bool,
|
|
85
92
|
gtmClass: PropTypes.string,
|
|
93
|
+
showNumberOfResults: PropTypes.bool,
|
|
94
|
+
totalResults: PropTypes.number,
|
|
86
95
|
};
|
|
87
96
|
|
|
88
97
|
export default TabList;
|
|
@@ -10,6 +10,8 @@ const Tab = ({
|
|
|
10
10
|
tabId,
|
|
11
11
|
toggleDropdown,
|
|
12
12
|
gtmClass = '',
|
|
13
|
+
showResults = false,
|
|
14
|
+
results,
|
|
13
15
|
}) => {
|
|
14
16
|
let className = '';
|
|
15
17
|
|
|
@@ -32,6 +34,7 @@ const Tab = ({
|
|
|
32
34
|
}}
|
|
33
35
|
>
|
|
34
36
|
{label}
|
|
37
|
+
{showResults && <span>{results}</span>}
|
|
35
38
|
</button>
|
|
36
39
|
</li>
|
|
37
40
|
);
|
|
@@ -44,6 +47,8 @@ Tab.propTypes = {
|
|
|
44
47
|
tabId: PropTypes.string,
|
|
45
48
|
label: PropTypes.string,
|
|
46
49
|
gtmClass: PropTypes.string,
|
|
50
|
+
showResults: PropTypes.bool,
|
|
51
|
+
results: PropTypes.number,
|
|
47
52
|
};
|
|
48
53
|
|
|
49
54
|
export default Tab;
|