@riosst100/pwa-marketplace 2.0.6 → 2.0.8

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.
Files changed (103) hide show
  1. package/package.json +1 -1
  2. package/src/components/AlphaFilter/alphaFilter.shimmer.js +6 -6
  3. package/src/components/BecomeSeller/becomeSeller.js +2 -2
  4. package/src/components/BrandLandingPage/brandInfo.js +2 -2
  5. package/src/components/BrandListPage/brandList.js +1 -1
  6. package/src/components/CollectibleGameSets/collectibleGameSets.js +1 -1
  7. package/src/components/CollectibleGameSets/collectibleGameSets.shimmer.js +6 -6
  8. package/src/components/CrossSeller/crossSellerBuy.js +1 -1
  9. package/src/components/CrossSeller/item.js +3 -3
  10. package/src/components/CustomSubCategoryPage/subCategoryPage.js +1 -1
  11. package/src/components/FavoriteSeller/item.js +3 -3
  12. package/src/components/Filter/index.js +1 -1
  13. package/src/components/FilterTop/CurrentTopFilters/currentTopFilter.module.css +1 -1
  14. package/src/components/LegoSets/legoSets.js +3 -3
  15. package/src/components/LegoSets/legoSets.shimmer.js +6 -6
  16. package/src/components/MiniatureGameSets/miniatureGameSets.js +3 -3
  17. package/src/components/MiniatureGameSets/miniatureGameSets.shimmer.js +6 -6
  18. package/src/components/MtgSinglesPage/mtgSingles.js +1 -1
  19. package/src/components/NonSportCardsSets/nonSportCardsSets.js +3 -3
  20. package/src/components/NonSportCardsSets/nonSportCardsSets.shimmer.js +6 -6
  21. package/src/components/ProductItem/index.js +1 -1
  22. package/src/components/RFQ/index.js +1 -1
  23. package/src/components/RFQ/modalRfq.js +3 -3
  24. package/src/components/RFQPage/orderRow.js +2 -2
  25. package/src/components/RFQPage/quoteDetail.js +1 -1
  26. package/src/components/RelatedProduct/relatedProduct.js +1 -1
  27. package/src/components/SellerDetail/sellerDetail.js +1 -1
  28. package/src/components/SellerLocation/sellerLocation.js +1 -1
  29. package/src/components/SellerLocation/sellerLocationItem.js +1 -1
  30. package/src/components/SellerReview/sellerReview.js +1 -1
  31. package/src/components/SellerReviewItem/sellerReviewItem.js +1 -1
  32. package/src/components/ShopBy/shopBy copy.js +1 -1
  33. package/src/components/ShopBy/shopBy.js +5 -5
  34. package/src/components/ShopBy/shopBy.shimmer.js +6 -6
  35. package/src/components/ShopByBrands/legoSets.shimmer.js +6 -6
  36. package/src/components/ShopByBrands/shopByBrands.js +3 -3
  37. package/src/components/ShopByBrands/shopByBrands.shimmer.js +6 -6
  38. package/src/components/ShopByCard/index.js +2 -0
  39. package/src/components/ShopByCard/shopByCard.js +277 -0
  40. package/src/components/ShopByCard/shopByCard.module.css +76 -0
  41. package/src/components/ShopByCard/shopByCard.shimmer.js +50 -0
  42. package/src/components/ShopBySets/shopBySets.js +3 -3
  43. package/src/components/ShopBySets/shopBySets.shimmer.js +6 -6
  44. package/src/components/ShopByVehicles/shopByVehicles.js +3 -3
  45. package/src/components/ShopByVehicles/shopByVehicles.shimmer.js +6 -6
  46. package/src/components/SportCardsSets/sportCardsSets.js +3 -3
  47. package/src/components/SportCardsSets/sportCardsSets.shimmer.js +6 -6
  48. package/src/components/TrainsSets/trainsSets.js +3 -3
  49. package/src/components/TrainsSets/trainsSets.shimmer.js +6 -6
  50. package/src/components/commons/Tabs/index.js +1 -1
  51. package/src/overwrites/venia-ui/lib/RootComponents/Category/NoProductsFound/noProductsFound.module.css +1 -1
  52. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.js +4 -0
  53. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.module.css +2 -2
  54. package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenuItems.module.css +1 -1
  55. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/giftCards.module.css +1 -1
  56. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/couponCode.module.css +1 -1
  57. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingForm.module.css +1 -1
  58. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingMethods.module.css +1 -1
  59. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingRadio.module.css +1 -1
  60. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/priceSummary.js +1 -1
  61. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/priceSummary.module.css +2 -2
  62. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productDetail.module.css +2 -2
  63. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productForm.module.css +1 -1
  64. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/errorMessage.module.css +1 -1
  65. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/product.js +1 -1
  66. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/product.module.css +2 -2
  67. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressBook.module.css +1 -1
  68. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressCard.module.css +2 -2
  69. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/item.module.css +1 -1
  70. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/itemsReview.module.css +1 -1
  71. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/showAllButton.module.css +1 -1
  72. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/orderConfirmationPage.module.css +1 -1
  73. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderSummary/orderSummary.js +1 -1
  74. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/braintreeSummary.module.css +1 -1
  75. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentMethods.module.css +1 -1
  76. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/summary.module.css +1 -1
  77. package/src/overwrites/venia-ui/lib/components/CheckoutPage/checkoutPage.module.css +1 -1
  78. package/src/overwrites/venia-ui/lib/components/CreateAccount/createAccount.js +1 -1
  79. package/src/overwrites/venia-ui/lib/components/CreateAccount/createAccount.module.css +1 -1
  80. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilter.module.css +1 -1
  81. package/src/overwrites/venia-ui/lib/components/FilterModal/filterBlock.module.css +1 -1
  82. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.module.css +1 -1
  83. package/src/overwrites/venia-ui/lib/components/Footer/footer.module.css +2 -2
  84. package/src/overwrites/venia-ui/lib/components/Gallery/item.js +1 -1
  85. package/src/overwrites/venia-ui/lib/components/Gallery/item.module.css +1 -1
  86. package/src/overwrites/venia-ui/lib/components/Header/cartTrigger.module.css +1 -1
  87. package/src/overwrites/venia-ui/lib/components/MegaMenu/customSubmenuColumn.module.css +1 -1
  88. package/src/overwrites/venia-ui/lib/components/MegaMenu/shopByColumn.module.css +1 -1
  89. package/src/overwrites/venia-ui/lib/components/Newsletter/newsletter.module.css +1 -1
  90. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.js +2 -2
  91. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/auctionDetail.js +10 -10
  92. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/bidList.js +1 -1
  93. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/modalFormReview.js +3 -3
  94. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/preOrderDetail.js +3 -3
  95. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/productReview.js +1 -1
  96. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +7 -7
  97. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.module.css +3 -3
  98. package/src/overwrites/venia-ui/lib/components/TextInput/field.module.css +1 -1
  99. package/src/overwrites/venia-ui/lib/tokens.module.css +1 -1
  100. package/src/static-files/favicon.ico +0 -0
  101. package/src/talons/ShopByCard/shopByCard.gql.js +47 -0
  102. package/src/talons/ShopByCard/useShopByCard.js +134 -0
  103. package/src/talons/SportCardsSets/useSportCardsSets.js +1 -1
@@ -36,7 +36,7 @@ const AuctionDetail = (props) => {
36
36
  // Render a countdown
37
37
  return <div className='flex flex-row gap-8'>
38
38
  <div className='flex flex-col'>
39
- <div className='text-[40px] leading-[normal] font-semibold'>
39
+ <div className='text-[40px] leading-[normal] font-medium'>
40
40
  {days}
41
41
  </div>
42
42
  <div className='text-[14px] font-bold'>
@@ -44,7 +44,7 @@ const AuctionDetail = (props) => {
44
44
  </div>
45
45
  </div>
46
46
  <div className='flex flex-col'>
47
- <div className='text-[40px] leading-[normal] font-semibold'>
47
+ <div className='text-[40px] leading-[normal] font-medium'>
48
48
  {hours}
49
49
  </div>
50
50
  <div className='text-[14px] font-bold'>
@@ -52,7 +52,7 @@ const AuctionDetail = (props) => {
52
52
  </div>
53
53
  </div>
54
54
  <div className='flex flex-col'>
55
- <div className='text-[40px] leading-[normal] font-semibold'>
55
+ <div className='text-[40px] leading-[normal] font-medium'>
56
56
  {minutes}
57
57
  </div>
58
58
  <div className='text-[14px] font-bold'>
@@ -60,7 +60,7 @@ const AuctionDetail = (props) => {
60
60
  </div>
61
61
  </div>
62
62
  <div className='flex flex-col'>
63
- <div className='text-[40px] leading-[normal] font-semibold'>
63
+ <div className='text-[40px] leading-[normal] font-medium'>
64
64
  {seconds}
65
65
  </div>
66
66
  <div className='text-[14px] font-bold'>
@@ -82,7 +82,7 @@ const AuctionDetail = (props) => {
82
82
  >
83
83
  <div className='modal_bid-content'>
84
84
  <div className='header_title-modal flex justify-between mb-10'>
85
- <div className='text-lg text-black font-semibold'>
85
+ <div className='text-lg text-black font-medium'>
86
86
  Place bid
87
87
  </div>
88
88
  <button onClick={() => { setOpen(!open) }} >
@@ -95,7 +95,7 @@ const AuctionDetail = (props) => {
95
95
  <span className='text-[14px] font-bold text-gray-500'>
96
96
  Current bid
97
97
  </span>
98
- <span className='text-2xl font-semibold'>
98
+ <span className='text-2xl font-medium'>
99
99
  $102.50
100
100
  </span>
101
101
  </div>
@@ -138,7 +138,7 @@ const AuctionDetail = (props) => {
138
138
  <Button
139
139
  priority='low'
140
140
  classes={{
141
- content: 'capitalize text-[16px] font-semibold'
141
+ content: 'capitalize text-[16px] font-medium'
142
142
  }}
143
143
  onClick={() => setOpen(false)}
144
144
  >
@@ -147,7 +147,7 @@ const AuctionDetail = (props) => {
147
147
  <Button
148
148
  priority='high'
149
149
  classes={{
150
- content: 'capitalize text-[16px] font-semibold'
150
+ content: 'capitalize text-[16px] font-medium'
151
151
  }}
152
152
  >
153
153
  Place Bid
@@ -168,7 +168,7 @@ const AuctionDetail = (props) => {
168
168
  <div className='text-[16px] font-bold text-gray-500'>
169
169
  Starting Price
170
170
  </div>
171
- <div className='text-[40px] font-semibold text-colorDefault'>
171
+ <div className='text-[40px] font-medium text-colorDefault'>
172
172
  <Price
173
173
  currencyCode={productDetails.price.currency}
174
174
  value={auctionData.starting_price}
@@ -195,7 +195,7 @@ const AuctionDetail = (props) => {
195
195
  <Button
196
196
  priority='high'
197
197
  classes={{
198
- content: 'capitalize text-[16px] font-semibold'
198
+ content: 'capitalize text-[16px] font-medium'
199
199
  }}
200
200
  onClick={() => setOpen(true)}
201
201
  >
@@ -19,7 +19,7 @@ const bidList = (props) => {
19
19
  )}
20
20
  onClick={() => setExpand(!expand)}
21
21
  >
22
- <span className='text-[16px] font-semibold'>
22
+ <span className='text-[16px] font-medium'>
23
23
  Previous bids (5)
24
24
  </span>
25
25
  <ArrowDown2
@@ -28,7 +28,7 @@ const modalFormReview = (props) => {
28
28
  >
29
29
  <div className='form_review-container'>
30
30
  <div className='header_title-modal flex justify-between mb-10'>
31
- <div className='text-lg text-black font-semibold'>
31
+ <div className='text-lg text-black font-medium'>
32
32
  Write Review
33
33
  </div>
34
34
  <button onClick={() => { setOpen(!open) }} >
@@ -139,7 +139,7 @@ const modalFormReview = (props) => {
139
139
  <Button
140
140
  priority='low'
141
141
  classes={{
142
- content: 'capitalize text-[16px] font-semibold'
142
+ content: 'capitalize text-[16px] font-medium'
143
143
  }}
144
144
  onClick={() => setOpen(false)}
145
145
  >
@@ -148,7 +148,7 @@ const modalFormReview = (props) => {
148
148
  <Button
149
149
  priority='high'
150
150
  classes={{
151
- content: 'capitalize text-[16px] font-semibold'
151
+ content: 'capitalize text-[16px] font-medium'
152
152
  }}
153
153
  >
154
154
  Submit Review
@@ -26,7 +26,7 @@ const preOrderInfo = (props) => {
26
26
  <div className='text-[14px] font-medium text-gray-500'>
27
27
  Release Date
28
28
  </div>
29
- <div className='text-[16px] font-semibold text-colorDefault text-center'>
29
+ <div className='text-[16px] font-medium text-colorDefault text-center'>
30
30
  {preOrderAvailableDate ? preOrderAvailableDate.getDate() + ', ' + month[preOrderAvailableDate.getMonth()] + ' ' + preOrderAvailableDate.getFullYear() : 'No Release Date.'}
31
31
  {/* 27, February 2024 */}
32
32
  </div>
@@ -36,7 +36,7 @@ const preOrderInfo = (props) => {
36
36
  <div className='text-[14px] font-medium text-gray-500'>
37
37
  Last Date
38
38
  </div>
39
- <div className='text-[16px] font-semibold text-colorDefault text-center'>
39
+ <div className='text-[16px] font-medium text-colorDefault text-center'>
40
40
  31, March 2024
41
41
  </div>
42
42
  </div>
@@ -45,7 +45,7 @@ const preOrderInfo = (props) => {
45
45
  <div className='text-[14px] font-medium text-gray-500'>
46
46
  Deposite
47
47
  </div>
48
- <div className='text-[16px] font-semibold text-colorDefault text-center'>
48
+ <div className='text-[16px] font-medium text-colorDefault text-center'>
49
49
  40%
50
50
  </div>
51
51
  </div>
@@ -16,7 +16,7 @@ const productReview = (props) => {
16
16
  <div className={className}>
17
17
  <div className='review-summary flex justify-between mb-[30px] pb-[30px] border-b border-gray-100'>
18
18
  <div className="justify-start items-end gap-[15px] inline-flex">
19
- <div className="text-center text-zinc-900 text-[40px] font-semibold leading-10">4.7</div>
19
+ <div className="text-center text-zinc-900 text-[40px] font-medium leading-10">4.7</div>
20
20
  <div className="flex-col justify-start items-start gap-[9px] inline-flex">
21
21
  <div className="justify-start items-start gap-1.5 inline-flex">
22
22
  <div className="w-3.5 h-3.5 relative">
@@ -217,7 +217,7 @@ const ProductFullDetail = props => {
217
217
  : ''
218
218
  }
219
219
  classes={{
220
- content: 'normal-case font-semibold text-[16px]'
220
+ content: 'normal-case font-medium text-[16px]'
221
221
  }}
222
222
  priority="low"
223
223
  type="submit"
@@ -239,7 +239,7 @@ const ProductFullDetail = props => {
239
239
  : ''
240
240
  }
241
241
  classes={{
242
- content: 'normal-case font-semibold text-[16px]'
242
+ content: 'normal-case font-medium text-[16px]'
243
243
  }}
244
244
  priority="high"
245
245
  type="submit"
@@ -456,7 +456,7 @@ const ProductFullDetail = props => {
456
456
  aria-live="polite"
457
457
  className={cn(
458
458
  classes.productName,
459
- '!font-semibold leading-[normal] mb-4 line-clamp-2'
459
+ '!font-medium leading-[normal] mb-4 line-clamp-2'
460
460
  )}
461
461
  data-cy="ProductFullDetail-productName"
462
462
  >
@@ -503,7 +503,7 @@ const ProductFullDetail = props => {
503
503
  data-cy="ProductFullDetail-productPrice"
504
504
  className={cn(
505
505
  classes.productPrice,
506
- 'text-[32px] font-semibold leading-[32px] mb-0',
506
+ 'text-[32px] font-medium leading-[32px] mb-0',
507
507
  )}
508
508
  >
509
509
  <Price
@@ -562,13 +562,13 @@ const ProductFullDetail = props => {
562
562
  <div className='product_shipping-information mb-[30px] leading-[18px] mt-[25px]'>
563
563
  {sellerDetails &&
564
564
  <div className='text-xs'>
565
- Ship From <span className='font-semibold'>{sellerDetails.country}</span>
565
+ Ship From <span className='font-medium'>{sellerDetails.country}</span>
566
566
  </div>}
567
567
  <div className='text-xs'>
568
- Ship To <span className='font-semibold'>Yishun</span>
568
+ Ship To <span className='font-medium'>Yishun</span>
569
569
  </div>
570
570
  <div className='text-xs'>
571
- Shiping Method <span className='font-semibold'>Store Pick Up | Meet Up</span>
571
+ Shiping Method <span className='font-medium'>Store Pick Up | Meet Up</span>
572
572
  </div>
573
573
  </div>
574
574
 
@@ -29,7 +29,7 @@
29
29
 
30
30
  .sectionTitle {
31
31
  composes: flex from global;
32
- composes: font-semibold from global;
32
+ composes: font-medium from global;
33
33
  composes: items-center from global;
34
34
  composes: leading-normal from global;
35
35
  composes: mb-sm from global;
@@ -48,7 +48,7 @@
48
48
  }
49
49
 
50
50
  .productName {
51
- composes: font-semibold from global;
51
+ composes: font-medium from global;
52
52
  composes: text-colorDefault from global;
53
53
 
54
54
  composes: lg_font-normal from global;
@@ -87,7 +87,7 @@
87
87
 
88
88
  .quantityTitle {
89
89
  composes: block from global;
90
- composes: font-semibold from global;
90
+ composes: font-medium from global;
91
91
  composes: leading-normal from global;
92
92
  composes: mb-sm from global;
93
93
  composes: text-colorDefault from global;
@@ -6,7 +6,7 @@
6
6
 
7
7
  .label {
8
8
  composes: flex from global;
9
- composes: font-semibold from global;
9
+ composes: font-medium from global;
10
10
  composes: items-center from global;
11
11
  composes: justify-between from global;
12
12
  composes: leading-none from global;
@@ -87,7 +87,7 @@
87
87
 
88
88
  /* font weight */
89
89
  /* --venia-global-fontWeight-normal: 400; */
90
- /* --venia-global-fontWeight-semibold: 600; */
90
+ /* --venia-global-fontWeight-medium: 600; */
91
91
  /* --venia-global-fontWeight-bold: 700; */
92
92
 
93
93
  /* line height */
Binary file
@@ -0,0 +1,47 @@
1
+ import { gql } from '@apollo/client';
2
+
3
+ export const GET_STORE_CONFIG_DATA = gql`
4
+ query getStoreConfigData {
5
+ # eslint-disable-next-line @graphql-eslint/require-id-when-available
6
+ storeConfig {
7
+ store_code
8
+ product_url_suffix
9
+ category_url_suffix
10
+ }
11
+ }
12
+ `;
13
+
14
+ export const GET_COLLECTIBLE_GAME_QUERY = gql`
15
+ query getShopByCard($categoryUrlKey: String!, $productType: String) {
16
+ shopByCard(categoryUrlKey: $categoryUrlKey, productType: $productType) {
17
+ release_type
18
+ sets {
19
+ set_name
20
+ option_id
21
+ set_abbreviation
22
+ release_date
23
+ release_year
24
+ release_number
25
+ }
26
+ }
27
+ }
28
+ `;
29
+
30
+ export const GET_SPORT_CARDS_SETS_QUERY = gql`
31
+ query getSportCardsSets($categoryUrlKey: String!, $setType: String) {
32
+ sportCardsSets(categoryUrlKey: $categoryUrlKey, setType: $setType) {
33
+ group
34
+ sets {
35
+ set_name
36
+ option_id
37
+ release_year
38
+ }
39
+ }
40
+ }
41
+ `;
42
+
43
+ export default {
44
+ getStoreConfigData: GET_STORE_CONFIG_DATA,
45
+ getCollectibleGameQuery: GET_COLLECTIBLE_GAME_QUERY,
46
+ getSportCardsSetsQuery: GET_SPORT_CARDS_SETS_QUERY
47
+ };
@@ -0,0 +1,134 @@
1
+ import { useQuery } from '@apollo/client';
2
+ import { useEffect, useMemo } from 'react';
3
+ import { useLocation } from 'react-router-dom';
4
+ import { useAppContext } from '@magento/peregrine/lib/context/app';
5
+
6
+ import mergeOperations from '@magento/peregrine/lib/util/shallowMerge';
7
+ import DEFAULT_OPERATIONS from './shopByCard.gql';
8
+
9
+ export const useShopByCard = props => {
10
+
11
+ const { searchQuery, setActive, currentSort, shopby } = props
12
+
13
+ const { value: sortby } = currentSort
14
+
15
+ const operations = mergeOperations(DEFAULT_OPERATIONS, null);
16
+ const { getStoreConfigData, getCollectibleGameQuery } = operations;
17
+ const { pathname } = useLocation();
18
+ const [
19
+ ,
20
+ {
21
+ actions: { setPageLoading }
22
+ }
23
+ ] = useAppContext();
24
+
25
+ const { data: storeConfigData } = useQuery(getStoreConfigData, {
26
+ fetchPolicy: 'cache-and-network',
27
+ nextFetchPolicy: 'cache-first'
28
+ });
29
+
30
+ const pathnameArr = pathname.split('/');
31
+
32
+ const categoryUrlKey = pathnameArr[pathnameArr.length - 1].replace('.html','');
33
+ const productType = shopby;
34
+
35
+ const categoryUrlSuffix = storeConfigData?.storeConfig?.category_url_suffix;
36
+
37
+ const { error, loading, data } = useQuery(getCollectibleGameQuery, {
38
+ fetchPolicy: 'cache-and-network',
39
+ nextFetchPolicy: 'cache-first',
40
+ skip: !storeConfigData,
41
+ variables: {
42
+ categoryUrlKey: categoryUrlKey,
43
+ productType: productType
44
+ }
45
+ });
46
+
47
+ const isBackgroundLoading = !!data && loading;
48
+
49
+ const shopByCard = useMemo(() => {
50
+ if (!data) {
51
+ return null;
52
+ }
53
+
54
+ const shopByCard = data.shopByCard;
55
+ if (!shopByCard) {
56
+ return null;
57
+ }
58
+
59
+ const sortbyData = [];
60
+ if (sortby != 'all') {
61
+ shopByCard.map((setRelease, index) => {
62
+ const { release_type, sets } = setRelease;
63
+ if (sets.length) {
64
+ sets.map((set, index) => {
65
+ const { release_year } = set;
66
+ if (release_year) {
67
+ // groupingSetsByYear.splice(release_year, 0, set);
68
+ const result = sortbyData.find(item => item.release_type === release_year);
69
+
70
+ // groupingSetsByYear[release_year] = set;
71
+ if (result) {
72
+ result.sets.push(set)
73
+ } else {
74
+ if (sortby == "date" || sortby == "newest" && sortbyData.length < 2) {
75
+ sortbyData.push({
76
+ 'release_type': release_year,
77
+ 'sets': [set]
78
+ })
79
+ }
80
+ }
81
+ }
82
+ })
83
+ }
84
+ })
85
+ }
86
+
87
+ return sortby != "all" ? sortbyData && sortbyData.length ? sortbyData.sort((a, b) => b.release_type.toLowerCase().localeCompare(a.release_type.toLowerCase())) : sortbyData : shopByCard.slice().sort((a, b) => a.release_type.toLowerCase().localeCompare(b.release_type.toLowerCase()));
88
+ }, [data, sortby]);
89
+
90
+ const availableGroups = shopByCard && shopByCard.length ? shopByCard.map(({ release_type }) => release_type) : [];
91
+
92
+ const filteredShopByCard = useMemo(() => {
93
+ if (!shopByCard) {
94
+ return null;
95
+ }
96
+
97
+ const filteredSets = [];
98
+
99
+ if (searchQuery) {
100
+
101
+ setActive('all')
102
+
103
+ shopByCard.map(({ release_type, sets }, index) => {
104
+ const newSets = sets.filter(function(set) {
105
+ return set.set_name.search(new RegExp(searchQuery, "i")) != -1 || set.set_abbreviation.search(new RegExp(searchQuery, "i")) != -1 || release_type.search(new RegExp(searchQuery, "i")) != -1;
106
+ });
107
+
108
+ if (newSets && newSets.length) {
109
+ filteredSets.push({
110
+ 'release_type': release_type,
111
+ 'sets': newSets
112
+ })
113
+ }
114
+ })
115
+ }
116
+
117
+ return searchQuery ? filteredSets : shopByCard;
118
+ }, [shopByCard, searchQuery, sortby]);
119
+
120
+ useEffect(() => {
121
+ setPageLoading(isBackgroundLoading);
122
+ }, [isBackgroundLoading, setPageLoading]);
123
+
124
+ return {
125
+ error,
126
+ loading,
127
+ shopByCard,
128
+ filteredShopByCard,
129
+ categoryUrlSuffix,
130
+ categoryUrlKey,
131
+ productType,
132
+ availableGroups
133
+ };
134
+ };
@@ -174,7 +174,7 @@ export const useSportCardsSets = props => {
174
174
  })
175
175
  }
176
176
 
177
- return sortby == "release" ? sportCardsSets.slice().sort((a, b) => b.group.toLowerCase().localeCompare(a.group.toLowerCase())) : sportCardsSets.slice().sort((a, b) => a.group.toLowerCase().localeCompare(b.group.toLowerCase()));
177
+ return sortby == "release" ? sportCardsSets : sportCardsSets;
178
178
  }, [queryResponse, activeTab]);
179
179
 
180
180
  const availableGroups = sportCardsSets && sportCardsSets.length ? sportCardsSets.map(({ group }) => group) : [];