@riosst100/pwa-marketplace 1.8.0 → 1.8.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/i18n/id_ID.json +508 -508
- package/package.json +1 -2
- package/src/components/CustomSubCategory/subCategory.js +0 -14
- package/src/components/FilterTop/FilterBlockList/filterTopItemGroup.module.css +1 -1
- package/src/components/FilterTop/filterTop.js +2 -2
- package/src/components/FilterTop/filterTop.module.css +1 -1
- package/src/components/FilterTopBackup/CustomFilters/customFilter.js +83 -83
- package/src/components/FilterTopBackup/CustomFilters/customFilter.module.css +21 -21
- package/src/components/FilterTopBackup/CustomFilters/customFilters.js +131 -131
- package/src/components/FilterTopBackup/CustomFilters/customFilters.module.css +22 -22
- package/src/components/FilterTopBackup/CustomFilters/index.js +1 -1
- package/src/components/FilterTopBackup/filterTop.js +14 -14
- package/src/components/FilterTopBackup/filterTop.module.css +22 -22
- package/src/components/FilterTopBackup/filterTop.shimmer.js +24 -24
- package/src/components/FilterTopBackup/index.js +2 -2
- package/src/components/Header/websiteSwitcher.shimmer.js +6 -6
- package/src/components/Header/websiteSwitcherItem.js +47 -47
- package/src/components/Header/websiteSwitcherItem.module.css +20 -20
- package/src/components/LegoSets/legoSets.js +21 -72
- package/src/components/PhoneTextInput/index.js +1 -1
- package/src/components/PhoneTextInput/phoneTextInput.js +62 -62
- package/src/components/ProductListTab/index.js +4 -4
- package/src/components/ProductListTab/productListTab.module.css +64 -64
- package/src/components/ProductListTab/productListTab.shimmer.js +24 -24
- package/src/components/SellerCountry/index.js +1 -1
- package/src/components/SellerCountry/sellerCountry.js +71 -71
- package/src/components/SellerCountry/sellerCountry.module.css +3 -3
- package/src/components/ShopByCategory/index.js +2 -2
- package/src/components/ShopByCategory/shopByCategory.js +69 -69
- package/src/components/ShopByCategory/shopByCategory.module.css +58 -58
- package/src/components/ShopByCategory/shopByCategory.shimmer.js +24 -24
- package/src/components/SubCategory/subCategory.js +1 -1
- package/src/components/WebsiteSwitcher/websiteSwitcher.shimmer.js +6 -6
- package/src/components/WebsiteSwitcher/websiteSwitcherItem.js +47 -47
- package/src/components/WebsiteSwitcher/websiteSwitcherItem.module.css +20 -20
- package/src/overwrites/peregrine/lib/talons/MegaMenu/megaMenu.gql.js +96 -96
- package/src/overwrites/peregrine/lib/talons/MegaMenu/useMegaMenu.js +199 -199
- package/src/overwrites/peregrine/lib/talons/MegaMenu/useMegaMenuItem.js +66 -66
- package/src/overwrites/peregrine/lib/talons/MegaMenu/useSubMenu.js +20 -20
- package/src/overwrites/peregrine/lib/talons/ProductFullDetail/useProductFullDetail.js +642 -642
- package/src/overwrites/peregrine/lib/talons/RootComponents/Category/category.gql.js +49 -49
- package/src/overwrites/peregrine/lib/talons/RootComponents/Category/useCategory.js +227 -227
- package/src/overwrites/peregrine/lib/talons/RootComponents/Product/product.gql.js +31 -31
- package/src/overwrites/peregrine/lib/talons/RootComponents/Product/productDetailFragment.gql.js +235 -235
- package/src/overwrites/venia-ui/lib/components/Header/cartTrigger.module.css +47 -47
- package/src/overwrites/venia-ui/lib/components/RadioGroup/radio.js +60 -60
- package/src/overwrites/venia-ui/lib/components/RadioGroup/radio.module.css +70 -70
- package/src/talons/AttributesBlock/attributesBlock.gql.js +15 -15
- package/src/talons/CustomFilters/customFilters.gql.js +45 -45
- package/src/talons/CustomFilters/useCustomFilters.js +5 -2
- package/src/talons/FilterTop/filterTop.gql.js +45 -45
- package/src/talons/FilterTop/index.js +1 -1
- package/src/talons/FilterTop/useFilterTop.js +9 -3
- package/src/talons/Header/websiteSwitcher.gql.js +45 -45
- package/src/talons/LegoSets/legoSets.gql.js +2 -2
- package/src/talons/LegoSets/useLegoSets.js +6 -56
- package/src/talons/SellerReview/sellerReview.gql.js +53 -53
- package/src/talons/ShopByCategory/index.js +1 -1
- package/src/talons/ShopByCategory/shopByCategory.gql.js +38 -38
- package/src/talons/ShopByCategory/useShopByCategory.js +69 -69
- package/src/talons/SubCategory/subCategory.gql.js +15 -15
- package/src/talons/SubCategory/useSubCategory.js +3 -3
- package/src/talons/WebsiteSwitcher/websiteSwitcher.gql.js +45 -45
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
.root {
|
|
2
|
-
composes: gap-1 from global;
|
|
3
|
-
composes: grid from global;
|
|
4
|
-
composes: grid-flow-col from global;
|
|
5
|
-
composes: items-center from global;
|
|
6
|
-
composes: justify-items-center from global;
|
|
7
|
-
composes: leading-normal from global;
|
|
8
|
-
composes: m-0 from global;
|
|
9
|
-
composes: text-colorDefault from global;
|
|
10
|
-
grid-template-areas: 'input label';
|
|
11
|
-
grid-template-columns: min-content 1fr;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.input {
|
|
15
|
-
composes: appearance-none from global;
|
|
16
|
-
composes: bg-clip-content from global;
|
|
17
|
-
composes: bg-transparent from global;
|
|
18
|
-
composes: border-8 from global;
|
|
19
|
-
composes: border-solid from global;
|
|
20
|
-
composes: border-transparent from global;
|
|
21
|
-
composes: h-[1.5rem] from global;
|
|
22
|
-
composes: m-0 from global;
|
|
23
|
-
composes: rounded-full from global;
|
|
24
|
-
composes: w-[1.5rem] from global;
|
|
25
|
-
composes: z-foreground from global;
|
|
26
|
-
grid-area: input;
|
|
27
|
-
|
|
28
|
-
composes: active_outline-none from global;
|
|
29
|
-
/* composes: active_shadow-radioActive from global; */
|
|
30
|
-
|
|
31
|
-
composes: checked_bg-brand-dark from global;
|
|
32
|
-
|
|
33
|
-
composes: focus_outline-none from global;
|
|
34
|
-
/* composes: focus_shadow-radioFocus from global; */
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.icon {
|
|
38
|
-
composes: h-[14px] from global;
|
|
39
|
-
composes: w-[14px] from global;
|
|
40
|
-
composes: z-surface from global;
|
|
41
|
-
grid-area: input;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/* TODO @TW: cannot compose */
|
|
45
|
-
.icon svg {
|
|
46
|
-
/* composes: stroke-gray-600 from global; */
|
|
47
|
-
stroke: rgb(var(--venia-global-color-gray-600));
|
|
48
|
-
width: 14px;
|
|
49
|
-
height: 14px;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.label {
|
|
53
|
-
composes: justify-self-start from global;
|
|
54
|
-
composes: text-base from global;
|
|
55
|
-
grid-area: label;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* TODO @TW: cannot compose */
|
|
59
|
-
.input:checked + .icon svg {
|
|
60
|
-
/* composes: stroke-brand-base from global; */
|
|
61
|
-
stroke: rgb(var(--venia-brand-color-1-700));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.input_shimmer {
|
|
65
|
-
composes: h-[14px] from global;
|
|
66
|
-
composes: m-0 from global;
|
|
67
|
-
composes: rounded-full from global;
|
|
68
|
-
composes: w-[14px] from global;
|
|
69
|
-
composes: z-foreground from global;
|
|
70
|
-
}
|
|
1
|
+
.root {
|
|
2
|
+
composes: gap-1 from global;
|
|
3
|
+
composes: grid from global;
|
|
4
|
+
composes: grid-flow-col from global;
|
|
5
|
+
composes: items-center from global;
|
|
6
|
+
composes: justify-items-center from global;
|
|
7
|
+
composes: leading-normal from global;
|
|
8
|
+
composes: m-0 from global;
|
|
9
|
+
composes: text-colorDefault from global;
|
|
10
|
+
grid-template-areas: 'input label';
|
|
11
|
+
grid-template-columns: min-content 1fr;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.input {
|
|
15
|
+
composes: appearance-none from global;
|
|
16
|
+
composes: bg-clip-content from global;
|
|
17
|
+
composes: bg-transparent from global;
|
|
18
|
+
composes: border-8 from global;
|
|
19
|
+
composes: border-solid from global;
|
|
20
|
+
composes: border-transparent from global;
|
|
21
|
+
composes: h-[1.5rem] from global;
|
|
22
|
+
composes: m-0 from global;
|
|
23
|
+
composes: rounded-full from global;
|
|
24
|
+
composes: w-[1.5rem] from global;
|
|
25
|
+
composes: z-foreground from global;
|
|
26
|
+
grid-area: input;
|
|
27
|
+
|
|
28
|
+
composes: active_outline-none from global;
|
|
29
|
+
/* composes: active_shadow-radioActive from global; */
|
|
30
|
+
|
|
31
|
+
composes: checked_bg-brand-dark from global;
|
|
32
|
+
|
|
33
|
+
composes: focus_outline-none from global;
|
|
34
|
+
/* composes: focus_shadow-radioFocus from global; */
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.icon {
|
|
38
|
+
composes: h-[14px] from global;
|
|
39
|
+
composes: w-[14px] from global;
|
|
40
|
+
composes: z-surface from global;
|
|
41
|
+
grid-area: input;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* TODO @TW: cannot compose */
|
|
45
|
+
.icon svg {
|
|
46
|
+
/* composes: stroke-gray-600 from global; */
|
|
47
|
+
stroke: rgb(var(--venia-global-color-gray-600));
|
|
48
|
+
width: 14px;
|
|
49
|
+
height: 14px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.label {
|
|
53
|
+
composes: justify-self-start from global;
|
|
54
|
+
composes: text-base from global;
|
|
55
|
+
grid-area: label;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* TODO @TW: cannot compose */
|
|
59
|
+
.input:checked + .icon svg {
|
|
60
|
+
/* composes: stroke-brand-base from global; */
|
|
61
|
+
stroke: rgb(var(--venia-brand-color-1-700));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.input_shimmer {
|
|
65
|
+
composes: h-[14px] from global;
|
|
66
|
+
composes: m-0 from global;
|
|
67
|
+
composes: rounded-full from global;
|
|
68
|
+
composes: w-[14px] from global;
|
|
69
|
+
composes: z-foreground from global;
|
|
70
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { gql } from '@apollo/client';
|
|
2
|
-
|
|
3
|
-
export const GET_STORE_CONFIG_DATA = gql`
|
|
4
|
-
query GetStoreConfigForBreadcrumbs {
|
|
5
|
-
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
6
|
-
storeConfig {
|
|
7
|
-
store_code
|
|
8
|
-
category_url_suffix
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
|
|
13
|
-
export default {
|
|
14
|
-
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
15
|
-
};
|
|
1
|
+
import { gql } from '@apollo/client';
|
|
2
|
+
|
|
3
|
+
export const GET_STORE_CONFIG_DATA = gql`
|
|
4
|
+
query GetStoreConfigForBreadcrumbs {
|
|
5
|
+
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
6
|
+
storeConfig {
|
|
7
|
+
store_code
|
|
8
|
+
category_url_suffix
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
15
|
+
};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { gql } from '@apollo/client';
|
|
2
|
-
|
|
3
|
-
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
-
query GetCustomFilters($filters: ProductAttributeFilterInput!) {
|
|
5
|
-
customSubFilters(filters: $filters) {
|
|
6
|
-
label
|
|
7
|
-
count
|
|
8
|
-
attribute_code
|
|
9
|
-
options {
|
|
10
|
-
label
|
|
11
|
-
value
|
|
12
|
-
}
|
|
13
|
-
position
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
`;
|
|
17
|
-
|
|
18
|
-
export const GET_FILTER_INPUTS = gql`
|
|
19
|
-
query GetFilterInputsForCategory {
|
|
20
|
-
__type(name: "ProductAttributeFilterInput") {
|
|
21
|
-
inputFields {
|
|
22
|
-
name
|
|
23
|
-
type {
|
|
24
|
-
name
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
30
|
-
|
|
31
|
-
export const GET_STORE_CONFIG_DATA = gql`
|
|
32
|
-
query GetStoreConfigForBreadcrumbs {
|
|
33
|
-
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
34
|
-
storeConfig {
|
|
35
|
-
store_code
|
|
36
|
-
category_url_suffix
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
|
|
41
|
-
export default {
|
|
42
|
-
getFilterInputsQuery: GET_FILTER_INPUTS,
|
|
43
|
-
getCustomFilters: GET_CUSTOM_FILTERS,
|
|
44
|
-
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
45
|
-
};
|
|
1
|
+
import { gql } from '@apollo/client';
|
|
2
|
+
|
|
3
|
+
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
+
query GetCustomFilters($filters: ProductAttributeFilterInput!) {
|
|
5
|
+
customSubFilters(filters: $filters) {
|
|
6
|
+
label
|
|
7
|
+
count
|
|
8
|
+
attribute_code
|
|
9
|
+
options {
|
|
10
|
+
label
|
|
11
|
+
value
|
|
12
|
+
}
|
|
13
|
+
position
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export const GET_FILTER_INPUTS = gql`
|
|
19
|
+
query GetFilterInputsForCategory {
|
|
20
|
+
__type(name: "ProductAttributeFilterInput") {
|
|
21
|
+
inputFields {
|
|
22
|
+
name
|
|
23
|
+
type {
|
|
24
|
+
name
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
|
|
31
|
+
export const GET_STORE_CONFIG_DATA = gql`
|
|
32
|
+
query GetStoreConfigForBreadcrumbs {
|
|
33
|
+
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
34
|
+
storeConfig {
|
|
35
|
+
store_code
|
|
36
|
+
category_url_suffix
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
getFilterInputsQuery: GET_FILTER_INPUTS,
|
|
43
|
+
getCustomFilters: GET_CUSTOM_FILTERS,
|
|
44
|
+
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
45
|
+
};
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from '@magento/peregrine/lib/talons/FilterModal/helpers';
|
|
20
20
|
|
|
21
21
|
export const useCustomFilters = props => {
|
|
22
|
-
const { filters } = props;
|
|
22
|
+
const { filters, category } = props;
|
|
23
23
|
|
|
24
24
|
const [isApplying, setIsApplying] = useState(false);
|
|
25
25
|
const [filterState, filterApi] = useFilterState();
|
|
@@ -68,6 +68,8 @@ export const useCustomFilters = props => {
|
|
|
68
68
|
return typeMap;
|
|
69
69
|
}, [introspectionData]);
|
|
70
70
|
|
|
71
|
+
console.log(category)
|
|
72
|
+
|
|
71
73
|
useEffect(() => {
|
|
72
74
|
|
|
73
75
|
if (!filterTypeMap.size) {
|
|
@@ -94,7 +96,8 @@ export const useCustomFilters = props => {
|
|
|
94
96
|
}, [
|
|
95
97
|
runQuery,
|
|
96
98
|
filterTypeMap,
|
|
97
|
-
search
|
|
99
|
+
search,
|
|
100
|
+
category
|
|
98
101
|
]);
|
|
99
102
|
|
|
100
103
|
const customFiltersData = customFiltersLoading && !data ? null : (data ? data.customSubFilters : null);
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { gql } from '@apollo/client';
|
|
2
|
-
|
|
3
|
-
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
-
query GetCustomFilters($filters: ProductAttributeFilterInput!) {
|
|
5
|
-
customSubFilters(filters: $filters) {
|
|
6
|
-
label
|
|
7
|
-
count
|
|
8
|
-
attribute_code
|
|
9
|
-
options {
|
|
10
|
-
label
|
|
11
|
-
value
|
|
12
|
-
}
|
|
13
|
-
position
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
`;
|
|
17
|
-
|
|
18
|
-
export const GET_FILTER_INPUTS = gql`
|
|
19
|
-
query GetFilterInputsForCategory {
|
|
20
|
-
__type(name: "ProductAttributeFilterInput") {
|
|
21
|
-
inputFields {
|
|
22
|
-
name
|
|
23
|
-
type {
|
|
24
|
-
name
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
30
|
-
|
|
31
|
-
export const GET_STORE_CONFIG_DATA = gql`
|
|
32
|
-
query GetStoreConfigForBreadcrumbs {
|
|
33
|
-
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
34
|
-
storeConfig {
|
|
35
|
-
store_code
|
|
36
|
-
category_url_suffix
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
|
|
41
|
-
export default {
|
|
42
|
-
getFilterInputsQuery: GET_FILTER_INPUTS,
|
|
43
|
-
getCustomFilters: GET_CUSTOM_FILTERS,
|
|
44
|
-
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
45
|
-
};
|
|
1
|
+
import { gql } from '@apollo/client';
|
|
2
|
+
|
|
3
|
+
export const GET_CUSTOM_FILTERS = gql`
|
|
4
|
+
query GetCustomFilters($category: String!, $filters: ProductAttributeFilterInput!) {
|
|
5
|
+
customSubFilters(category: $category, filters: $filters) {
|
|
6
|
+
label
|
|
7
|
+
count
|
|
8
|
+
attribute_code
|
|
9
|
+
options {
|
|
10
|
+
label
|
|
11
|
+
value
|
|
12
|
+
}
|
|
13
|
+
position
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export const GET_FILTER_INPUTS = gql`
|
|
19
|
+
query GetFilterInputsForCategory {
|
|
20
|
+
__type(name: "ProductAttributeFilterInput") {
|
|
21
|
+
inputFields {
|
|
22
|
+
name
|
|
23
|
+
type {
|
|
24
|
+
name
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
|
|
31
|
+
export const GET_STORE_CONFIG_DATA = gql`
|
|
32
|
+
query GetStoreConfigForBreadcrumbs {
|
|
33
|
+
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
34
|
+
storeConfig {
|
|
35
|
+
store_code
|
|
36
|
+
category_url_suffix
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
getFilterInputsQuery: GET_FILTER_INPUTS,
|
|
43
|
+
getCustomFilters: GET_CUSTOM_FILTERS,
|
|
44
|
+
getStoreConfigQuery: GET_STORE_CONFIG_DATA
|
|
45
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { useFilterTop } from './useFilterTop';
|
|
1
|
+
export { useFilterTop } from './useFilterTop';
|
|
@@ -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 } = props;
|
|
24
|
+
const { filters, category } = props;
|
|
25
25
|
|
|
26
26
|
const operations = mergeOperations(DEFAULT_OPERATIONS, props.operations);
|
|
27
27
|
const { getFilterInputsQuery, getCustomFilters } = operations;
|
|
@@ -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,13 +76,15 @@ export const useFilterTop = props => {
|
|
|
72
76
|
|
|
73
77
|
runQuery({
|
|
74
78
|
variables: {
|
|
75
|
-
filters: newFilters
|
|
79
|
+
filters: newFilters,
|
|
80
|
+
category: category?.url_path
|
|
76
81
|
}
|
|
77
82
|
});
|
|
78
83
|
}, [
|
|
79
84
|
runQuery,
|
|
80
85
|
filterTypeMap,
|
|
81
|
-
search
|
|
86
|
+
search,
|
|
87
|
+
category
|
|
82
88
|
]);
|
|
83
89
|
|
|
84
90
|
const attributeCodes = useMemo(
|
|
@@ -1,45 +1,45 @@
|
|
|
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
|
-
store_name
|
|
9
|
-
store_group_name
|
|
10
|
-
website_name
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
`;
|
|
14
|
-
|
|
15
|
-
export const GET_ROUTE_DATA = gql`
|
|
16
|
-
query getRouteData($url: String!) {
|
|
17
|
-
route(url: $url) {
|
|
18
|
-
relative_url
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
|
|
23
|
-
export const GET_AVAILABLE_WEBSITES_DATA = gql`
|
|
24
|
-
query availableStoresByUserIp {
|
|
25
|
-
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
26
|
-
availableStoresByUserIp {
|
|
27
|
-
default_display_currency_code
|
|
28
|
-
locale
|
|
29
|
-
secure_base_media_url
|
|
30
|
-
store_code
|
|
31
|
-
store_group_code
|
|
32
|
-
store_group_name
|
|
33
|
-
store_name
|
|
34
|
-
store_sort_order
|
|
35
|
-
website_name
|
|
36
|
-
website_code
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
|
|
41
|
-
export default {
|
|
42
|
-
getStoreConfigData: GET_STORE_CONFIG_DATA,
|
|
43
|
-
getRouteData: GET_ROUTE_DATA,
|
|
44
|
-
getAvailableWebsitesData: GET_AVAILABLE_WEBSITES_DATA
|
|
45
|
-
};
|
|
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
|
+
store_name
|
|
9
|
+
store_group_name
|
|
10
|
+
website_name
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
export const GET_ROUTE_DATA = gql`
|
|
16
|
+
query getRouteData($url: String!) {
|
|
17
|
+
route(url: $url) {
|
|
18
|
+
relative_url
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
export const GET_AVAILABLE_WEBSITES_DATA = gql`
|
|
24
|
+
query availableStoresByUserIp {
|
|
25
|
+
# eslint-disable-next-line @graphql-eslint/require-id-when-available
|
|
26
|
+
availableStoresByUserIp {
|
|
27
|
+
default_display_currency_code
|
|
28
|
+
locale
|
|
29
|
+
secure_base_media_url
|
|
30
|
+
store_code
|
|
31
|
+
store_group_code
|
|
32
|
+
store_group_name
|
|
33
|
+
store_name
|
|
34
|
+
store_sort_order
|
|
35
|
+
website_name
|
|
36
|
+
website_code
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
getStoreConfigData: GET_STORE_CONFIG_DATA,
|
|
43
|
+
getRouteData: GET_ROUTE_DATA,
|
|
44
|
+
getAvailableWebsitesData: GET_AVAILABLE_WEBSITES_DATA
|
|
45
|
+
};
|
|
@@ -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);
|