@riosst100/pwa-marketplace 1.8.0 → 1.8.1
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/package.json
CHANGED
|
@@ -20,20 +20,14 @@ const LegoSets = props => {
|
|
|
20
20
|
const { location } = globalThis;
|
|
21
21
|
|
|
22
22
|
const query = new URLSearchParams(location.search);
|
|
23
|
-
const activeParam = query.get('active_tab') || null;
|
|
24
23
|
|
|
25
24
|
const [active, setActive] = useState('all');
|
|
26
25
|
const [activeTab, setActiveTab] = useState('all');
|
|
27
|
-
const [activeFilter, setActiveFilter] = useState('Major Baseball League');
|
|
28
26
|
|
|
29
27
|
const [searchQuery, setSearchQuery] = useState('');
|
|
30
|
-
|
|
31
|
-
let availableLeagues = [];
|
|
32
|
-
let availableBrands = [];
|
|
33
28
|
|
|
34
29
|
const shopby = query.get('shopby') || null;
|
|
35
30
|
const setType = query.get('set_type') || null;
|
|
36
|
-
const brandsFilter = query.get('sc_brands[filter]') || null;
|
|
37
31
|
|
|
38
32
|
let defaultSort = {
|
|
39
33
|
sortText: 'All (A-Z)',
|
|
@@ -57,25 +51,25 @@ const LegoSets = props => {
|
|
|
57
51
|
// Sorting
|
|
58
52
|
const sortProps = useCustomSort({ sortFromSearch: false, defaultSort: defaultSort});
|
|
59
53
|
const [currentSort] = sortProps;
|
|
60
|
-
const [sortBy, setSortBy] = useState({
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
let availableSortBy = [
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
];
|
|
54
|
+
// const [sortBy, setSortBy] = useState({
|
|
55
|
+
// sortText: 'All (A-Z)',
|
|
56
|
+
// value: 'all'
|
|
57
|
+
// });
|
|
58
|
+
|
|
59
|
+
// let availableSortBy = [
|
|
60
|
+
// {
|
|
61
|
+
// 'label': 'All (A-Z)',
|
|
62
|
+
// 'value': 'all'
|
|
63
|
+
// },
|
|
64
|
+
// {
|
|
65
|
+
// 'label': 'By Year',
|
|
66
|
+
// 'value': 'newest'
|
|
67
|
+
// }
|
|
68
|
+
// ];
|
|
75
69
|
|
|
76
70
|
const classes = useStyle(defaultClasses);
|
|
77
71
|
|
|
78
|
-
const talonProps = useLegoSets({ searchQuery, setActive, currentSort, shopby, setType, categoryId, activeTab
|
|
72
|
+
const talonProps = useLegoSets({ searchQuery, setActive, currentSort, shopby, setType, categoryId, activeTab });
|
|
79
73
|
|
|
80
74
|
const { error, loading, legoSets, categoryUrlSuffix, categoryUrlKey, productType, filteredLegoSets, availableGroups, category } = talonProps;
|
|
81
75
|
|
|
@@ -96,48 +90,11 @@ const LegoSets = props => {
|
|
|
96
90
|
legoSets.map((setRelease, index) => {
|
|
97
91
|
const { group, sets } = setRelease;
|
|
98
92
|
|
|
99
|
-
// if (sets.length) {
|
|
100
|
-
// sets.map((set, index) => {
|
|
101
|
-
// // console.log(set)
|
|
102
|
-
// if (set.sc_league) {
|
|
103
|
-
// if (!availableLeagues.includes(set.sc_league)) {
|
|
104
|
-
// availableLeagues.push(set.sc_league)
|
|
105
|
-
// }
|
|
106
|
-
// }
|
|
107
|
-
// })
|
|
108
|
-
// }
|
|
109
|
-
|
|
110
93
|
setsLengthArr[group] = sets.length
|
|
111
94
|
})
|
|
112
95
|
}
|
|
113
96
|
// }, [legoSets])
|
|
114
97
|
|
|
115
|
-
if (legoSets && legoSets.length) {
|
|
116
|
-
legoSets.map((setRelease, index) => {
|
|
117
|
-
const { group, sets } = setRelease;
|
|
118
|
-
if (active == 'all' || active != "all" && active == group) {
|
|
119
|
-
if (sets.length) {
|
|
120
|
-
sets.map((set, index) => {
|
|
121
|
-
// console.log(set)
|
|
122
|
-
if (set.sc_league) {
|
|
123
|
-
if (!availableLeagues.includes(set.sc_league)) {
|
|
124
|
-
availableLeagues.push(set.sc_league)
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (set.sc_brands) {
|
|
129
|
-
if (!availableBrands.includes(set.sc_brands)) {
|
|
130
|
-
availableBrands.push(set.sc_brands)
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// availableBrands
|
|
135
|
-
})
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
})
|
|
139
|
-
}
|
|
140
|
-
|
|
141
98
|
const splitToNChunks = (array, n) => {
|
|
142
99
|
let result = [];
|
|
143
100
|
for (let i = n; i > 0; i--) {
|
|
@@ -156,7 +113,7 @@ const LegoSets = props => {
|
|
|
156
113
|
const { set_name, option_id, release_year } = set;
|
|
157
114
|
|
|
158
115
|
const categoryUrl = resourceUrl(
|
|
159
|
-
`/${category?.url_path}${categoryUrlSuffix || ''}?
|
|
116
|
+
`/${category?.url_path}${categoryUrlSuffix || ''}?lego_set_name[filter]=${set_name},${option_id}`
|
|
160
117
|
);
|
|
161
118
|
|
|
162
119
|
setsResult.push(<li className='list-none'>
|
|
@@ -196,11 +153,6 @@ const LegoSets = props => {
|
|
|
196
153
|
const handleActive = (val) => {
|
|
197
154
|
setActive(val);
|
|
198
155
|
|
|
199
|
-
availableLeagues = [];
|
|
200
|
-
|
|
201
|
-
setActiveFilter('Major Baseball League')
|
|
202
|
-
|
|
203
|
-
|
|
204
156
|
setSearchQuery('')
|
|
205
157
|
}
|
|
206
158
|
|
|
@@ -209,11 +161,9 @@ const LegoSets = props => {
|
|
|
209
161
|
|
|
210
162
|
setSearchQuery('')
|
|
211
163
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
setSearchQuery('')
|
|
164
|
+
const handleSearchQuery = (val) => {
|
|
165
|
+
setSearchQuery(val)
|
|
166
|
+
setActive('all')
|
|
217
167
|
}
|
|
218
168
|
|
|
219
169
|
let alpha = ['#', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
|
|
@@ -277,7 +227,7 @@ const LegoSets = props => {
|
|
|
277
227
|
<div
|
|
278
228
|
className={classes.toolbar}
|
|
279
229
|
>
|
|
280
|
-
<div style={{"width":"35%"}}><ArraySearchInput active={active} searchQuery={searchQuery} placeholder="Search sets..." isOpen={true} setSearchQuery={
|
|
230
|
+
<div style={{"width":"35%"}}><ArraySearchInput active={active} searchQuery={searchQuery} placeholder="Search sets..." isOpen={true} setSearchQuery={handleSearchQuery} /></div>
|
|
281
231
|
{/* <CustomSortBy sortProps={sortProps} availableSortMethods={availableSortBy} /> */}
|
|
282
232
|
</div>
|
|
283
233
|
) : ''}
|
|
@@ -324,7 +274,6 @@ const LegoSets = props => {
|
|
|
324
274
|
</div>
|
|
325
275
|
</Fragment>
|
|
326
276
|
);
|
|
327
|
-
return '';
|
|
328
277
|
}
|
|
329
278
|
|
|
330
279
|
export default LegoSets;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { gql } from '@apollo/client';
|
|
2
2
|
|
|
3
3
|
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
-
query GetCustomFilters($filters: ProductAttributeFilterInput!) {
|
|
5
|
-
customSubFilters(filters: $filters) {
|
|
4
|
+
query GetCustomFilters($categoryUrlKey: String!, $filters: ProductAttributeFilterInput!) {
|
|
5
|
+
customSubFilters(categoryUrlKey: $categoryUrlKey, filters: $filters) {
|
|
6
6
|
label
|
|
7
7
|
count
|
|
8
8
|
attribute_code
|
|
@@ -40,6 +40,10 @@ export const useFilterTop = props => {
|
|
|
40
40
|
const history = useHistory();
|
|
41
41
|
const { pathname, search } = useLocation();
|
|
42
42
|
|
|
43
|
+
const pathnameArr = pathname.split('/');
|
|
44
|
+
|
|
45
|
+
const categoryUrlKey = pathnameArr[pathnameArr.length - 1].replace('.html','');
|
|
46
|
+
|
|
43
47
|
const { data: introspectionData } = useQuery(getFilterInputsQuery);
|
|
44
48
|
|
|
45
49
|
const filterTypeMap = useMemo(() => {
|
|
@@ -72,7 +76,8 @@ export const useFilterTop = props => {
|
|
|
72
76
|
|
|
73
77
|
runQuery({
|
|
74
78
|
variables: {
|
|
75
|
-
filters: newFilters
|
|
79
|
+
filters: newFilters,
|
|
80
|
+
categoryUrlKey: categoryUrlKey
|
|
76
81
|
}
|
|
77
82
|
});
|
|
78
83
|
}, [
|
|
@@ -12,8 +12,8 @@ export const GET_STORE_CONFIG_DATA = gql`
|
|
|
12
12
|
`;
|
|
13
13
|
|
|
14
14
|
export const GET_LEGO_SETS_QUERY = gql`
|
|
15
|
-
query getLegoSets($categoryUrlKey: String!, $
|
|
16
|
-
legoSets(categoryUrlKey: $categoryUrlKey,
|
|
15
|
+
query getLegoSets($categoryUrlKey: String!, $activeTab: String, $filters: ProductAttributeFilterInput!) {
|
|
16
|
+
legoSets(categoryUrlKey: $categoryUrlKey, activeTab: $activeTab, filters: $filters) {
|
|
17
17
|
group
|
|
18
18
|
sets {
|
|
19
19
|
set_name
|
|
@@ -138,44 +138,8 @@ export const useLegoSets = props => {
|
|
|
138
138
|
return null;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
const sortbyData = [];
|
|
142
|
-
// if (activeTab == 'year') {
|
|
143
|
-
|
|
144
|
-
// console.log(legoSets)
|
|
145
|
-
if (legoSets) {
|
|
146
|
-
legoSets.map((setRelease, index) => {
|
|
147
|
-
const { group, sets } = setRelease;
|
|
148
|
-
if (sets.length) {
|
|
149
|
-
sets.map((set, index) => {
|
|
150
|
-
const { release_year, sc_league } = set;
|
|
151
|
-
if (sc_league) {
|
|
152
|
-
if (!availableLeagues.includes(sc_league)) {
|
|
153
|
-
availableLeagues.push(sc_league);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
// if (release_year) {
|
|
157
|
-
// // groupingSetsByYear.splice(release_year, 0, set);
|
|
158
|
-
// const result = sortbyData.find(item => item.group === release_year);
|
|
159
|
-
|
|
160
|
-
// // groupingSetsByYear[release_year] = set;
|
|
161
|
-
// if (result) {
|
|
162
|
-
// result.sets.push(set)
|
|
163
|
-
// } else {
|
|
164
|
-
// // if (sortby == "date" || sortby == "newest" && sortbyData.length < 2) {
|
|
165
|
-
// sortbyData.push({
|
|
166
|
-
// 'group': release_year,
|
|
167
|
-
// 'sets': [set]
|
|
168
|
-
// })
|
|
169
|
-
// // }
|
|
170
|
-
// }
|
|
171
|
-
// }
|
|
172
|
-
})
|
|
173
|
-
}
|
|
174
|
-
})
|
|
175
|
-
}
|
|
176
|
-
|
|
177
141
|
return legoSets.slice().sort((a, b) =>a.group.toLowerCase().localeCompare(b.group.toLowerCase()));
|
|
178
|
-
}, [queryResponse
|
|
142
|
+
}, [queryResponse]);
|
|
179
143
|
|
|
180
144
|
const availableGroups = legoSets && legoSets.length ? legoSets.map(({ group }) => group) : [];
|
|
181
145
|
|
|
@@ -192,7 +156,9 @@ export const useLegoSets = props => {
|
|
|
192
156
|
|
|
193
157
|
if (searchQuery) {
|
|
194
158
|
|
|
195
|
-
|
|
159
|
+
// useEffect(() => {
|
|
160
|
+
// setActive('all')
|
|
161
|
+
// }, [active]);
|
|
196
162
|
|
|
197
163
|
legoSets.map(({ group, sets }, index) => {
|
|
198
164
|
const newSets = sets.filter(function(set) {
|
|
@@ -209,24 +175,8 @@ export const useLegoSets = props => {
|
|
|
209
175
|
})
|
|
210
176
|
}
|
|
211
177
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const newSets = sets.filter(function(set) {
|
|
215
|
-
return set.sc_league == activeFilter;
|
|
216
|
-
// return set.set_name.includes(searchQuery);
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
if (newSets && newSets.length) {
|
|
220
|
-
filteredSets.push({
|
|
221
|
-
'group': group,
|
|
222
|
-
'sets': newSets
|
|
223
|
-
})
|
|
224
|
-
}
|
|
225
|
-
})
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return searchQuery || activeFilter ? filteredSets : legoSets;
|
|
229
|
-
}, [legoSets, searchQuery, sortby, activeFilter]);
|
|
178
|
+
return searchQuery ? filteredSets : legoSets;
|
|
179
|
+
}, [legoSets, searchQuery]);
|
|
230
180
|
|
|
231
181
|
// useEffect(() => {
|
|
232
182
|
// setPageLoading(isBackgroundLoading);
|