@riosst100/pwa-marketplace 1.9.1 → 1.9.2
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 +1 -1
- package/src/components/FilterTop/CurrentTopFilters/currentTopFilter.js +1 -1
- package/src/components/FilterTop/FilterBlockList/filterTopItem.js +3 -1
- package/src/components/FilterTop/FilterBlockList/filterTopItemGroup.js +1 -1
- package/src/components/FilterTop/filterTop.js +2 -2
- package/src/components/ShopBy/shopBy.js +41 -0
- package/src/overwrites/venia-ui/lib/RootComponents/Category/category.js +2 -1
- package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.js +8 -3
- package/src/overwrites/venia-ui/lib/components/MegaMenu/shopByColumn.js +3 -3
- package/src/talons/FilterTop/filterTop.gql.js +2 -2
- package/src/talons/FilterTop/useFilterTop.js +3 -2
- package/src/talons/ShopBy/useShopBy.js +2 -2
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@ const CurrentTopFilter = props => {
|
|
|
31
31
|
}
|
|
32
32
|
);
|
|
33
33
|
|
|
34
|
-
return group != "shopby" ? (
|
|
34
|
+
return group != "trains" && group != "trains_gauge" && group != "category" && group != "shopby" ? (
|
|
35
35
|
<span className={classes.item} data-cy="CurrentTopFilter-root">
|
|
36
36
|
<Trigger
|
|
37
37
|
action={handleClick}
|
|
@@ -27,7 +27,9 @@ const FilterTopItem = props => {
|
|
|
27
27
|
[group, item, onApply, removeGroup, toggleItem]
|
|
28
28
|
);
|
|
29
29
|
|
|
30
|
-
const element = group == "
|
|
30
|
+
const element = group == "category" ? (
|
|
31
|
+
<Link className={classes.item} to={'/'+value}>{title}</Link>
|
|
32
|
+
) : group == "shopby" || group == "shopby_with_all" ? (
|
|
31
33
|
<Link className={classes.item} to={search ? search + '&shopby=' + value : '?shopby=' + value}>{title}</Link>
|
|
32
34
|
) : (
|
|
33
35
|
activeFilters.includes(value) ? (
|
|
@@ -85,7 +85,7 @@ const FilterTopItemGroup = props => {
|
|
|
85
85
|
<div className={classes.root}>
|
|
86
86
|
{radioItems}
|
|
87
87
|
{filterElements && filterElements.length > 10 ? <span className={classes.item}><b>More Item</b></span> : ''}
|
|
88
|
-
{filterElements && filterElements.length ? filterElements : group != "shopby" ? (<span className={classes.item}><b>All</b></span>) : ''}
|
|
88
|
+
{filterElements && filterElements.length ? filterElements : group != "trains" && group != "trains_gauge" && group != "category" && group != "shopby" ? (<span className={classes.item}><b>All</b></span>) : ''}
|
|
89
89
|
</div>
|
|
90
90
|
);
|
|
91
91
|
};
|
|
@@ -22,8 +22,8 @@ const SCROLL_OFFSET = 150;
|
|
|
22
22
|
* @param {Object} props.filters - filters to display
|
|
23
23
|
*/
|
|
24
24
|
const FilterTop = props => {
|
|
25
|
-
const { filters, filterCountToOpen, allowedFilters, category } = props;
|
|
26
|
-
const talonProps = useFilterTop({ filters, category });
|
|
25
|
+
const { shopby, filters, filterCountToOpen, allowedFilters, category } = props;
|
|
26
|
+
const talonProps = useFilterTop({ shopby, filters, category });
|
|
27
27
|
const {
|
|
28
28
|
filterApi,
|
|
29
29
|
filterItems,
|
|
@@ -278,6 +278,47 @@ const ShopBy = props => {
|
|
|
278
278
|
];
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
+
// console.log(category)
|
|
282
|
+
|
|
283
|
+
if (shopby == "toys_brands" || shopby == "toys_product_line") {
|
|
284
|
+
if (category && category.url_path.includes('anime-figures')) {
|
|
285
|
+
availableFilterOption = [
|
|
286
|
+
{
|
|
287
|
+
'code': 'anime_figures',
|
|
288
|
+
'value': 'Complete Figures',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
'code': 'anime_figures',
|
|
292
|
+
'value': 'Articulated Figures'
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
'code': 'anime_figures',
|
|
296
|
+
'value': 'Statues'
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
'code': 'anime_figures',
|
|
300
|
+
'value': 'Mini-Figures'
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
'code': 'anime_figures',
|
|
304
|
+
'value': 'Capsule Toys (Gashapon)'
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
'code': 'anime_figures',
|
|
308
|
+
'value': 'Candy Toys'
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
'code': 'anime_figures',
|
|
312
|
+
'value': 'R18+'
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
'code': 'anime_figures',
|
|
316
|
+
'value': 'Model Kits'
|
|
317
|
+
}
|
|
318
|
+
];
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
281
322
|
const handleActiveTab = (val) => {
|
|
282
323
|
setActiveTab(val);
|
|
283
324
|
setActive('all');
|
|
@@ -103,7 +103,7 @@ const Category = props => {
|
|
|
103
103
|
isLoading={loading} /> : shopby == "sets" || shopby == "expansion_sets" || shopby == "release_year" ? <ShopBySets
|
|
104
104
|
categoryId={uid}
|
|
105
105
|
shopby={shopby}
|
|
106
|
-
isLoading={loading} /> : (shopby ? (
|
|
106
|
+
isLoading={loading} /> : (shopby && shopby != "gauge" ? (
|
|
107
107
|
<ShopBy
|
|
108
108
|
categoryId={uid}
|
|
109
109
|
shopby={shopby}
|
|
@@ -113,6 +113,7 @@ const Category = props => {
|
|
|
113
113
|
categoryId={uid}
|
|
114
114
|
classes={classes}
|
|
115
115
|
data={categoryData}
|
|
116
|
+
shopby={shopby}
|
|
116
117
|
isLoading={loading}
|
|
117
118
|
pageControl={pageControl}
|
|
118
119
|
sortProps={sortProps}
|
|
@@ -46,6 +46,7 @@ const CategoryContent = props => {
|
|
|
46
46
|
const {
|
|
47
47
|
categoryId,
|
|
48
48
|
data,
|
|
49
|
+
shopby,
|
|
49
50
|
isLoading,
|
|
50
51
|
pageControl,
|
|
51
52
|
sortProps,
|
|
@@ -288,9 +289,13 @@ const CategoryContent = props => {
|
|
|
288
289
|
: currentFilter
|
|
289
290
|
) : categoryName;
|
|
290
291
|
|
|
292
|
+
if (shopby == "gauge") {
|
|
293
|
+
title = "Trains By Gauge";
|
|
294
|
+
}
|
|
295
|
+
|
|
291
296
|
return (
|
|
292
297
|
<Fragment>
|
|
293
|
-
<Breadcrumbs categoryId={categoryId} currentFilter={activeFilters} />
|
|
298
|
+
<Breadcrumbs categoryId={categoryId} customPage={shopby == "gauge" ? title : ''} currentFilter={activeFilters} />
|
|
294
299
|
<StoreTitle>{title}</StoreTitle>
|
|
295
300
|
<article className={classes.root} data-cy="CategoryContent-root">
|
|
296
301
|
<div className={classes.categoryHeader}>
|
|
@@ -307,13 +312,13 @@ const CategoryContent = props => {
|
|
|
307
312
|
{/* {activeFilters.size <= 0 && category && category.custom_landing_page ? ( */}
|
|
308
313
|
<>
|
|
309
314
|
{currentFilter && <AlphaFilter isSingles={isSingles} items={items} handleActiveLetter={handleActiveLetter} activeLetter={activeLetter} />}
|
|
310
|
-
<SubCategory parent={parent} children={children} />
|
|
315
|
+
{shopby != "gauge" ? <SubCategory parent={parent} children={children} /> : ''}
|
|
311
316
|
{!currentFilter && <CustomSubCategory categoryName={category ? category.name : null} customSubCategory={category ? category.custom_subcategory : null} />}
|
|
312
317
|
</>
|
|
313
318
|
{/* ) : ( */}
|
|
314
319
|
<>
|
|
315
320
|
{/* <SubCategory filters={filters} children={children} /> */}
|
|
316
|
-
<FilterTop filters={filters} category={category} children={children} allowedFilters={category ? category.allowed_filters : []} />
|
|
321
|
+
<FilterTop shopby={shopby} filters={filters} category={category} children={children} allowedFilters={category ? category.allowed_filters : []} />
|
|
317
322
|
{/* <AttributesBlock category={category} attributesBlock={attributesBlock} /> */}
|
|
318
323
|
{/* <section className='category_brand-slider my-5'>
|
|
319
324
|
<BrandSlider />
|
|
@@ -46,9 +46,9 @@ const ShopByColumn = props => {
|
|
|
46
46
|
? props.keyboardProps
|
|
47
47
|
: {};
|
|
48
48
|
|
|
49
|
-
const categoryUrl =
|
|
50
|
-
`/${
|
|
51
|
-
|
|
49
|
+
const categoryUrl =
|
|
50
|
+
`/${shopByItem.url_path}`
|
|
51
|
+
;
|
|
52
52
|
|
|
53
53
|
return (
|
|
54
54
|
<li key={index} className={cn(classes.submenuChildItem, 'mt-4')}>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { gql } from '@apollo/client';
|
|
2
2
|
|
|
3
3
|
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
-
query GetCustomFilters($category: String!, $filters: ProductAttributeFilterInput!) {
|
|
5
|
-
customSubFilters(category: $category, filters: $filters) {
|
|
4
|
+
query GetCustomFilters($shopby: String, $category: String!, $filters: ProductAttributeFilterInput!) {
|
|
5
|
+
customSubFilters(shopby: $shopby, category: $category, filters: $filters) {
|
|
6
6
|
label
|
|
7
7
|
count
|
|
8
8
|
attribute_code
|
|
@@ -21,7 +21,7 @@ import DEFAULT_OPERATIONS from './filterTop.gql';
|
|
|
21
21
|
const DRAWER_NAME = 'filter';
|
|
22
22
|
|
|
23
23
|
export const useFilterTop = props => {
|
|
24
|
-
const { filters, category } = props;
|
|
24
|
+
const { filters, category, shopby } = props;
|
|
25
25
|
|
|
26
26
|
const operations = mergeOperations(DEFAULT_OPERATIONS, props.operations);
|
|
27
27
|
const { getFilterInputsQuery, getCustomFilters } = operations;
|
|
@@ -77,7 +77,8 @@ export const useFilterTop = props => {
|
|
|
77
77
|
runQuery({
|
|
78
78
|
variables: {
|
|
79
79
|
filters: newFilters,
|
|
80
|
-
category: category?.url_path
|
|
80
|
+
category: category?.url_path,
|
|
81
|
+
shopby: shopby
|
|
81
82
|
}
|
|
82
83
|
});
|
|
83
84
|
}, [
|