@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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@riosst100/pwa-marketplace",
3
3
  "author": "riosst100@gmail.com",
4
- "version": "1.9.1",
4
+ "version": "1.9.2",
5
5
  "main": "src/index.js",
6
6
  "pwa-studio": {
7
7
  "targets": {
@@ -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 == "shopby" || group == "shopby_with_all" ? (
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 = resourceUrl(
50
- `/${url_path}${categoryUrlSuffix || ''}?shopby=${shopByItem.option_id}`
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
  }, [
@@ -100,8 +100,8 @@ export const useShopBy = props => {
100
100
  runQuery,
101
101
  activeFilter,
102
102
  shopby,
103
- categoryUrlKey,
104
- filters
103
+ // categoryUrlKey,
104
+ // filters
105
105
  // filterTypeMap,
106
106
  // search
107
107
  ]);