@riosst100/pwa-marketplace 1.2.6 → 1.2.7
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/.github/workflows/dependabot.yml +28 -28
- package/package.json +18 -18
- package/src/Utilities/graphQL.js +76 -76
- package/src/componentOverrideMapping.js +17 -16
- package/src/components/BecomeSeller/becomeSeller.js +335 -335
- package/src/components/BecomeSeller/becomeSeller.module.css +46 -46
- package/src/components/BecomeSellerLink/becomeSellerLink.js +52 -52
- package/src/components/BecomeSellerLink/becomeSellerLink.module.css +12 -12
- package/src/components/BecomeSellerPage/becomeSellerPage.js +45 -45
- package/src/components/BecomeSellerPage/becomeSellerPage.module.css +21 -21
- package/src/components/Filter/index.js +53 -53
- package/src/components/Header/becomeSellerLink.js +28 -28
- package/src/components/Header/becomeSellerLink.module.css +12 -12
- package/src/components/Header/websiteSwitcher.js +109 -109
- package/src/components/Pagination/index.js +49 -40
- package/src/components/PhoneTextInput/phoneTextInput.module.css +21 -21
- package/src/components/ProductItem/index.js +50 -50
- package/src/components/Search/index.js +16 -16
- package/src/components/Seller/index.js +1 -1
- package/src/components/Seller/seller.js +249 -42
- package/src/components/SellerAccountPage/sellerAccountPage.js +110 -110
- package/src/components/SellerAccountPage/sellerAccountPage.module.css +55 -55
- package/src/components/SellerCountry/sellerCountry.gql.js +11 -11
- package/src/components/SellerInformation/index.js +1 -1
- package/src/components/SellerInformation/sellerInformation.js +90 -84
- package/src/components/SellerLocation/index.js +1 -1
- package/src/components/SellerLocation/sellerLocation.js +19 -18
- package/src/components/SellerLocation/sellerLocationItem.js +27 -25
- package/src/components/SellerPage/sellerPage.js +9 -9
- package/src/components/SellerProducts/sellerProducts.js +47 -218
- package/src/components/SellerReview/index.js +1 -1
- package/src/components/SellerReview/sellerReview.js +143 -143
- package/src/components/SellerReviewItem/sellerReviewItem.js +60 -60
- package/src/components/SellerVerification/sellerVerification.js +198 -198
- package/src/components/SellerVerification/sellerVerification.module.css +47 -47
- package/src/components/SellerVerificationPage/sellerVerificationPage.js +43 -43
- package/src/components/SellerVerificationPage/sellerVerificationPage.module.css +21 -21
- package/src/components/SortBy/index.js +24 -16
- package/src/components/WebsiteSwitcher/websiteSwitcher.js +109 -109
- package/src/components/commons/Slider/index.js +13 -13
- package/src/components/commons/Tabs/index.js +64 -62
- package/src/index.js +6 -6
- package/src/intercept.js +113 -113
- package/src/moduleOverrideWebpackPlugin.js +70 -70
- package/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js +96 -96
- package/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js +74 -74
- package/src/overwrites/peregrine/lib/talons/Adapter/useAdapter.js +208 -208
- package/src/overwrites/peregrine/lib/talons/Header/storeSwitcher.gql.js +45 -45
- package/src/overwrites/peregrine/lib/talons/Header/useStoreSwitcher.js +204 -204
- package/src/overwrites/peregrine/lib/talons/Region/useRegion.js +102 -102
- package/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js +56 -56
- package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +226 -226
- package/src/overwrites/peregrine/lib/util/deriveErrorMessage.js +34 -34
- package/src/overwrites/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql +11 -11
- package/src/overwrites/venia-ui/lib/components/Adapter/adapter.js +112 -112
- package/src/overwrites/venia-ui/lib/components/Header/header.js +130 -118
- package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +105 -105
- package/src/overwrites/venia-ui/lib/components/Header/switcherItem.js +47 -47
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenu.spec.js +91 -91
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenuItem.spec.js +123 -123
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/Submenu.spec.js +61 -61
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/SubmenuColumn.spec.js +50 -50
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenu.spec.js.snap +114 -114
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenuItem.spec.js.snap +71 -71
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/Submenu.spec.js.snap +59 -59
- package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/SubmenuColumn.spec.js.snap +34 -34
- package/src/overwrites/venia-ui/lib/components/MegaMenu/index.js +1 -1
- package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.js +90 -90
- package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.module.css +12 -12
- package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.js +156 -156
- package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.module.css +30 -30
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.js +89 -89
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +42 -42
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.js +99 -99
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.module.css +28 -28
- package/src/overwrites/venia-ui/lib/components/SearchBar/__stories__/searchBar.js +11 -11
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/searchField.spec.js.snap +72 -72
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedCategories.spec.js.snap +30 -30
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProduct.spec.js.snap +69 -69
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProducts.spec.js.snap +7 -7
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestions.spec.js.snap +12 -12
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/autocomplete.spec.js +52 -52
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchBar.spec.js +82 -82
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchField.spec.js +87 -87
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedCategories.spec.js +45 -45
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProduct.spec.js +43 -43
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProducts.spec.js +45 -45
- package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestions.spec.js +110 -110
- package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.js +172 -172
- package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.module.css +62 -62
- package/src/overwrites/venia-ui/lib/components/SearchBar/index.js +1 -1
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.js +74 -74
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.module.css +49 -49
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchField.js +40 -40
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.js +48 -48
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.module.css +13 -13
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategory.js +49 -49
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.js +97 -97
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.module.css +24 -24
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.js +43 -43
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.module.css +13 -13
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.js +75 -75
- package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.module.css +6 -6
- package/src/overwrites/venia-ui/lib/components/StoreCodeRoute/storeCodeRoute.js +75 -75
- package/src/overwrites/venia-ui/lib/targets/venia-ui-intercept.js +70 -70
- package/src/queries/getAvailableWebsitesConfigData.graphql +14 -14
- package/src/queries/index.js +30 -30
- package/src/talons/BecomeSeller/becomeSeller.gql.js +45 -45
- package/src/talons/BecomeSeller/useBecomeSeller.js +145 -145
- package/src/talons/BecomeSellerLink/useBecomeSellerLink.js +11 -11
- package/src/talons/BecomeSellerPage/useBecomeSellerPage.js +76 -76
- package/src/talons/Header/useBecomeSellerLink.js +13 -13
- package/src/talons/Header/useWebsiteSwitcher.js +218 -218
- package/src/talons/Seller/seller.gql.js +139 -204
- package/src/talons/Seller/useSeller.js +66 -71
- package/src/talons/SellerAccountPage/useSellerAccountPage.js +174 -174
- package/src/talons/SellerCountry/useSellerCountry.js +25 -25
- package/src/talons/WebsiteByIp/getWebsiteByIp.gql.js +13 -13
- package/src/talons/WebsiteByIp/useWebsiteByIp.js +34 -34
- package/src/talons/WebsiteSwitcher/useWebsiteSwitcher.js +218 -218
- package/src/theme/vars.js +6 -6
- package/src/util/mapSeller.js +7 -7
- package/src/components/OperatingHours/index.js +0 -1
- package/src/components/OperatingHours/operatingHours.js +0 -32
- package/src/components/Seller/sellerAddressCard.js +0 -48
- package/src/components/SellerDetail/index.js +0 -1
- package/src/components/SellerDetail/sellerDetail.js +0 -158
- package/src/components/SellerPage/core.js +0 -10
- package/src/talons/SellerProducts/useSellerProducts.js +0 -129
|
@@ -1,85 +1,91 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import SellerLocation from '../SellerLocation';
|
|
3
|
-
import { Location, ShopAdd } from 'iconsax-react';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<div class="
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<div class="flex flex-col
|
|
48
|
-
<div class="inline-flex items-start gap-[10px]
|
|
49
|
-
<div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[
|
|
50
|
-
</div>
|
|
51
|
-
<div class="flex flex-wrap
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import SellerLocation from '../SellerLocation';
|
|
3
|
+
import { Location, ShopAdd } from 'iconsax-react';
|
|
4
|
+
|
|
5
|
+
const SellerInformation = ({ seller }) => {
|
|
6
|
+
console.log(seller.operating_hours)
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<div class="flex flex-col items-start gap-[30px] px-[10px]">
|
|
10
|
+
<div class="grid xs_grid-cols-1 md_grid-cols-2 xl_grid-cols-3 relative w-full grow xs_gap-y-6 md_gap-x-14 xl_gap-x-14">
|
|
11
|
+
<div class="flex flex-col items-start gap-[30px] relative self-stretch">
|
|
12
|
+
<div class="flex flex-col items-start gap-[15px] relative self-stretch w-full flex-[0_0_auto]">
|
|
13
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[16px] tracking-[0] leading-[normal] whitespace-nowrap">Description</div>
|
|
14
|
+
<div class="inline-flex items-center justify-center gap-[10px] relative flex-[0_0_auto]">
|
|
15
|
+
<p class="relative mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[16px]">
|
|
16
|
+
{seller ? seller.description : ''}<br />
|
|
17
|
+
<br />
|
|
18
|
+
{seller ? seller.contact_number : ''}
|
|
19
|
+
</p>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
|
|
22
|
+
<Location color="#009A7B" size={18} variant="Outline" className='stroke-[#009A7B] stroke-[0.5px]' />
|
|
23
|
+
<p class="relative w-fit font-normal text-[#009a7b] text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">612, Jurong West Street 65</p>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
|
|
26
|
+
<ShopAdd color="#009A7B" size={18} variant="Outline" className='stroke-[#009A7B] stroke-[0.5px]' />
|
|
27
|
+
<div class="relative self-stretch mt-[-1.00px] font-normal text-[#009a7b] text-[14px] tracking-[0] leading-[normal]">Joined: December 2023</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="flex flex-col items-start gap-[30px] relative">
|
|
32
|
+
<div class="flex flex-col items-start gap-[15px] relative self-stretch w-full flex-[0_0_auto]">
|
|
33
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[16px] tracking-[0] leading-[normal] whitespace-nowrap">Working Hour</div>
|
|
34
|
+
<div class="inline-flex flex-col items-start relative flex-[0_0_auto]">
|
|
35
|
+
<div class="inline-flex items-start gap-[10px] relative flex-[0_0_auto]">
|
|
36
|
+
<p class="relative mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal]">
|
|
37
|
+
Monday - Friday 9 AM - 5 PM<br />
|
|
38
|
+
<br />
|
|
39
|
+
Saturday 11 AM - 3 PM<br />
|
|
40
|
+
<br />
|
|
41
|
+
Sunday Close
|
|
42
|
+
</p>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="flex flex-col items-start gap-[15px] relative">
|
|
48
|
+
<div class="inline-flex items-start gap-[10px] relative flex-[0_0_auto]">
|
|
49
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[16px] tracking-[0] leading-[normal] whitespace-nowrap">Ship To</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="flex flex-wrap items-start gap-[10px_10px] relative flex-[0_0_auto]">
|
|
52
|
+
<div class="flex flex-wrap items-center gap-2 px-0 py-[5px] relative flex-1 grow">
|
|
53
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto] border-r [border-right-style:solid] border-[#e6e9ea]">
|
|
54
|
+
<div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">Yishun</div>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto] border-r [border-right-style:solid] border-[#e6e9ea]">
|
|
57
|
+
<div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">Jurong West</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto] border-r [border-right-style:solid] border-[#e6e9ea]">
|
|
60
|
+
<div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">Jurong East</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto] border-r [border-right-style:solid] border-[#e6e9ea]">
|
|
63
|
+
<div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">Seletar</div>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto] border-r [border-right-style:solid] border-[#e6e9ea]">
|
|
66
|
+
<div class="mt-[-1.00px] text-[14px] leading-[normal] whitespace-nowrap relative w-fit font-normal tracking-[0]">Serangoon</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="inline-flex items-center justify-center gap-[10px] px-[10px] py-0 relative flex-[0_0_auto]">
|
|
69
|
+
<div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">Bukit Batok</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="flex items-start relative self-stretch w-full flex-[0_0_auto]">
|
|
76
|
+
<div class="flex flex-col items-start gap-[15px] relative flex-1 grow">
|
|
77
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[16px] tracking-[0] leading-[normal] whitespace-nowrap">Terms & Condition</div>
|
|
78
|
+
<div class="inline-flex items-center justify-center gap-[10px] relative flex-[0_0_auto]">
|
|
79
|
+
<div class="flex flex-col items-start gap-[2px]">
|
|
80
|
+
{seller ? seller.term_and_conditions : ''}
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div >
|
|
84
|
+
</div >
|
|
85
|
+
<SellerLocation />
|
|
86
|
+
</div >
|
|
87
|
+
</>
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
|
|
85
91
|
export default SellerInformation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from './sellerLocation';
|
|
1
|
+
export { default } from './sellerLocation';
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import SellerLocationItem from './sellerLocationItem';
|
|
3
|
-
|
|
4
|
-
const SellerLocation = (
|
|
5
|
-
return (
|
|
6
|
-
<>
|
|
7
|
-
<div class="w-full flex flex-col items-start gap-[25px]">
|
|
8
|
-
<div class="relative w-fit font-semibold text-[20px] tracking-[0] leading-[normal]">Our Store</div>
|
|
9
|
-
<div class="w-full grid
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import SellerLocationItem from './sellerLocationItem';
|
|
3
|
+
|
|
4
|
+
const SellerLocation = () => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<div class="w-full flex flex-col items-start gap-[25px]">
|
|
8
|
+
<div class="relative w-fit font-semibold text-[20px] tracking-[0] leading-[normal]">Our Store</div>
|
|
9
|
+
<div class="w-full grid xs_grid-cols-1 md_grid-cols-2 xl_grid-cols-3 gap-4">
|
|
10
|
+
<SellerLocationItem />
|
|
11
|
+
<SellerLocationItem />
|
|
12
|
+
<SellerLocationItem />
|
|
13
|
+
<SellerLocationItem />
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</>
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
|
|
19
20
|
export default SellerLocation;
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Location, Clock } from 'iconsax-react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Location, Clock } from 'iconsax-react';
|
|
3
|
+
|
|
4
|
+
const SellerLocationItem = () => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<div class="flex flex-col w-full items-start gap-[15px] p-[20px] relative rounded-[8px] border border-solid border-[#e6e9ea]">
|
|
8
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-semibold text-[16px] tracking-[0] leading-[normal]">Zen Market Kitchener</div>
|
|
9
|
+
<div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
|
|
10
|
+
<Location color="#1B1B1B" size={18} variant="Outline" className='stroke-[#1B1B1B] stroke-[0.5px]' />
|
|
11
|
+
<div class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-normal text-[14px] tracking-[0] leading-[normal]">180 Kitchener Rd, Singapura</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="flex flex-col w-[320px] items-end relative flex-[0_0_auto] mr-[-10.00px]">
|
|
14
|
+
<div class="flex items-center gap-[10px] relative self-stretch w-full flex-[0_0_auto]">
|
|
15
|
+
<Clock color="#1B1B1B" size={18} variant="Outline" className='stroke-[#1B1B1B] stroke-[0.5px]' />
|
|
16
|
+
<p class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-normal text-[14px] tracking-[0] leading-[24px] whitespace-nowrap">Monday - Friday 9 AM - 5 PM</p>
|
|
17
|
+
</div>
|
|
18
|
+
<p class="relative w-[292px] [font-family:'Noto_Sans',Helvetica] font-normal text-[14px] tracking-[0] leading-[24px]">
|
|
19
|
+
Saturday 11 AM - 3 PM<br />
|
|
20
|
+
Sunday Close
|
|
21
|
+
</p>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</>
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
|
|
26
28
|
export default SellerLocationItem;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Seller from '@riosst100/pwa-marketplace/src/components/Seller/seller';
|
|
3
|
-
|
|
4
|
-
const SellerPage = () => {
|
|
5
|
-
return (
|
|
6
|
-
<Seller />
|
|
7
|
-
)
|
|
8
|
-
}
|
|
9
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Seller from '@riosst100/pwa-marketplace/src/components/Seller/seller';
|
|
3
|
+
|
|
4
|
+
const SellerPage = () => {
|
|
5
|
+
return (
|
|
6
|
+
<Seller />
|
|
7
|
+
)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
10
|
export default SellerPage;
|
|
@@ -1,218 +1,47 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const {
|
|
49
|
-
availableSortMethods,
|
|
50
|
-
categoryName,
|
|
51
|
-
categoryDescription,
|
|
52
|
-
filters,
|
|
53
|
-
items,
|
|
54
|
-
totalCount,
|
|
55
|
-
totalPagesFromData
|
|
56
|
-
} = talonProps;
|
|
57
|
-
|
|
58
|
-
const sidebarRef = useRef(null);
|
|
59
|
-
const classes = useStyle(defaultClasses, props.classes);
|
|
60
|
-
const shouldRenderSidebarContent = useIsInViewport({
|
|
61
|
-
elementRef: sidebarRef
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
const shouldShowFilterButtons = filters && filters.length;
|
|
65
|
-
const shouldShowFilterShimmer = filters === null;
|
|
66
|
-
|
|
67
|
-
// If there are no products we can hide the sort button.
|
|
68
|
-
const shouldShowSortButtons = totalPagesFromData && availableSortMethods;
|
|
69
|
-
const shouldShowSortShimmer = !totalPagesFromData && isLoading;
|
|
70
|
-
|
|
71
|
-
const maybeFilterButtons = shouldShowFilterButtons ? (
|
|
72
|
-
<FilterModalOpenButton filters={filters} />
|
|
73
|
-
) : shouldShowFilterShimmer ? (
|
|
74
|
-
<FilterModalOpenButtonShimmer />
|
|
75
|
-
) : null;
|
|
76
|
-
|
|
77
|
-
const filtersModal = shouldShowFilterButtons ? (
|
|
78
|
-
<FilterModal filters={filters} />
|
|
79
|
-
) : null;
|
|
80
|
-
|
|
81
|
-
const sidebar = shouldShowFilterButtons ? (
|
|
82
|
-
<FilterSidebar filters={filters} />
|
|
83
|
-
) : shouldShowFilterShimmer ? (
|
|
84
|
-
<FilterSidebarShimmer />
|
|
85
|
-
) : null;
|
|
86
|
-
|
|
87
|
-
const maybeSortButton = shouldShowSortButtons ? (
|
|
88
|
-
<ProductSort
|
|
89
|
-
sortProps={sortProps}
|
|
90
|
-
availableSortMethods={availableSortMethods}
|
|
91
|
-
/>
|
|
92
|
-
) : shouldShowSortShimmer ? (
|
|
93
|
-
<ProductSortShimmer />
|
|
94
|
-
) : null;
|
|
95
|
-
|
|
96
|
-
const maybeSortContainer = shouldShowSortButtons ? (
|
|
97
|
-
<SortedByContainer currentSort={currentSort} />
|
|
98
|
-
) : shouldShowSortShimmer ? (
|
|
99
|
-
<SortedByContainerShimmer />
|
|
100
|
-
) : null;
|
|
101
|
-
|
|
102
|
-
const categoryResultsHeading =
|
|
103
|
-
totalCount > 0 ? (
|
|
104
|
-
<FormattedMessage
|
|
105
|
-
id={'categoryContent.resultCount'}
|
|
106
|
-
values={{
|
|
107
|
-
count: totalCount
|
|
108
|
-
}}
|
|
109
|
-
defaultMessage={'{count} Results'}
|
|
110
|
-
/>
|
|
111
|
-
) : isLoading ? (
|
|
112
|
-
<Shimmer width={5} />
|
|
113
|
-
) : null;
|
|
114
|
-
|
|
115
|
-
const categoryDescriptionElement = categoryDescription ? (
|
|
116
|
-
<RichContent html={categoryDescription} />
|
|
117
|
-
) : null;
|
|
118
|
-
|
|
119
|
-
const content = useMemo(() => {
|
|
120
|
-
if (!totalPagesFromData && !isLoading) {
|
|
121
|
-
return <NoProductsFound categoryId={categoryId} />;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const gallery = totalPagesFromData ? (
|
|
125
|
-
<Gallery items={items} />
|
|
126
|
-
) : (
|
|
127
|
-
<GalleryShimmer items={items} />
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
const pagination = totalPagesFromData ? (
|
|
131
|
-
<Pagination pageControl={pageControl} />
|
|
132
|
-
) : null;
|
|
133
|
-
|
|
134
|
-
return (
|
|
135
|
-
<Fragment>
|
|
136
|
-
<section className={classes.gallery}>{gallery}</section>
|
|
137
|
-
<div className={classes.pagination}>{pagination}</div>
|
|
138
|
-
</Fragment>
|
|
139
|
-
);
|
|
140
|
-
}, [
|
|
141
|
-
categoryId,
|
|
142
|
-
classes.gallery,
|
|
143
|
-
classes.pagination,
|
|
144
|
-
isLoading,
|
|
145
|
-
items,
|
|
146
|
-
pageControl,
|
|
147
|
-
totalPagesFromData
|
|
148
|
-
]);
|
|
149
|
-
|
|
150
|
-
const categoryTitle = categoryName ? categoryName : <Shimmer width={5} />;
|
|
151
|
-
|
|
152
|
-
return (
|
|
153
|
-
<Fragment>
|
|
154
|
-
<Breadcrumbs categoryId={categoryId} />
|
|
155
|
-
<StoreTitle>{categoryName}</StoreTitle>
|
|
156
|
-
<article className={classes.root} data-cy="SellerProducts-root">
|
|
157
|
-
<div className={classes.categoryHeader}>
|
|
158
|
-
<h1 aria-live="polite" className={classes.title}>
|
|
159
|
-
<div
|
|
160
|
-
className={classes.categoryTitle}
|
|
161
|
-
data-cy="SellerProducts-categoryTitle"
|
|
162
|
-
>
|
|
163
|
-
{categoryTitle}
|
|
164
|
-
</div>
|
|
165
|
-
</h1>
|
|
166
|
-
{categoryDescriptionElement}
|
|
167
|
-
</div>
|
|
168
|
-
<div className={classes.contentWrapper}>
|
|
169
|
-
<div ref={sidebarRef} className={classes.sidebar}>
|
|
170
|
-
<Suspense fallback={<FilterSidebarShimmer />}>
|
|
171
|
-
{shouldRenderSidebarContent ? sidebar : null}
|
|
172
|
-
</Suspense>
|
|
173
|
-
</div>
|
|
174
|
-
<div className={classes.categoryContent}>
|
|
175
|
-
<div className={classes.heading}>
|
|
176
|
-
<div
|
|
177
|
-
data-cy="SellerProducts-categoryInfo"
|
|
178
|
-
className={classes.categoryInfo}
|
|
179
|
-
>
|
|
180
|
-
{categoryResultsHeading}
|
|
181
|
-
</div>
|
|
182
|
-
<div className={classes.headerButtons}>
|
|
183
|
-
{maybeFilterButtons}
|
|
184
|
-
{maybeSortButton}
|
|
185
|
-
</div>
|
|
186
|
-
{maybeSortContainer}
|
|
187
|
-
</div>
|
|
188
|
-
{content}
|
|
189
|
-
<Suspense fallback={null}>{filtersModal}</Suspense>
|
|
190
|
-
</div>
|
|
191
|
-
</div>
|
|
192
|
-
</article>
|
|
193
|
-
</Fragment>
|
|
194
|
-
);
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
export default SellerProducts;
|
|
198
|
-
|
|
199
|
-
SellerProducts.propTypes = {
|
|
200
|
-
classes: shape({
|
|
201
|
-
gallery: string,
|
|
202
|
-
pagination: string,
|
|
203
|
-
root: string,
|
|
204
|
-
categoryHeader: string,
|
|
205
|
-
title: string,
|
|
206
|
-
categoryTitle: string,
|
|
207
|
-
sidebar: string,
|
|
208
|
-
categoryContent: string,
|
|
209
|
-
heading: string,
|
|
210
|
-
categoryInfo: string,
|
|
211
|
-
headerButtons: string
|
|
212
|
-
}),
|
|
213
|
-
// sortProps contains the following structure:
|
|
214
|
-
// [{sortDirection: string, sortAttribute: string, sortText: string},
|
|
215
|
-
// React.Dispatch<React.SetStateAction<{sortDirection: string, sortAttribute: string, sortText: string}]
|
|
216
|
-
sortProps: array,
|
|
217
|
-
pageSize: number
|
|
218
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ProductItem from '@riosst100/pwa-marketplace/src/components/ProductItem';
|
|
3
|
+
import Filter from '@riosst100/pwa-marketplace/src/components/Filter';
|
|
4
|
+
import Search from '@riosst100/pwa-marketplace/src/components/Search';
|
|
5
|
+
import SortBy from '@riosst100/pwa-marketplace/src/components/SortBy';
|
|
6
|
+
import Pagination from '..//Pagination';
|
|
7
|
+
import { Link } from "react-router-dom";
|
|
8
|
+
|
|
9
|
+
const SellerProducts = () => {
|
|
10
|
+
return (
|
|
11
|
+
<>
|
|
12
|
+
<div className='w-full mb-[30px]'>
|
|
13
|
+
<div class='flex items-end gap-[40px] px-[30px] py-0 rounded-[6px] border border-solid border-gray-100'>
|
|
14
|
+
<Link to='#' class='px-0 py-[12px] inline-flex items-center gap-[5px] relative flex-[0_0_auto]'>
|
|
15
|
+
<span class='relative w-fit font-medium text-[16px] tracking-[0] leading-[20px] whitespace-nowrap'>Action Figures</span>
|
|
16
|
+
</Link>
|
|
17
|
+
<Link to='#' class='px-0 py-[12px] inline-flex items-center gap-[5px] relative flex-[0_0_auto]'>
|
|
18
|
+
<span class='relative w-fit font-medium text-[16px] tracking-[0] leading-[20px] whitespace-nowrap'>Anime</span>
|
|
19
|
+
</Link>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div className='w-full flex items-start gap-x-[30px]'>
|
|
23
|
+
<div className='xs_hidden xl_block filter-container w-full max-w-[240px]'>
|
|
24
|
+
<Filter />
|
|
25
|
+
</div>
|
|
26
|
+
<div className='flex flex-col gap-y-[30px]'>
|
|
27
|
+
<div className='flex xs_flex-wrap gap-y-4 w-full items-center justify-between'>
|
|
28
|
+
<Search />
|
|
29
|
+
<SortBy />
|
|
30
|
+
</div>
|
|
31
|
+
<div className='product-list w-full grid xs_grid-cols-2 md_grid-cols-3 lg_grid-cols-4 gap-4'>
|
|
32
|
+
<ProductItem />
|
|
33
|
+
<ProductItem />
|
|
34
|
+
<ProductItem />
|
|
35
|
+
<ProductItem />
|
|
36
|
+
<ProductItem />
|
|
37
|
+
</div>
|
|
38
|
+
<div className='pagination-container w-full flex justify-center'>
|
|
39
|
+
<Pagination />
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</>
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default SellerProducts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from './sellerReview';
|
|
1
|
+
export { default } from './sellerReview';
|