@riosst100/pwa-marketplace 1.2.7 → 1.2.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 (126) hide show
  1. package/package.json +1 -1
  2. package/src/Utilities/graphQL.js +76 -76
  3. package/src/componentOverrideMapping.js +17 -17
  4. package/src/components/BecomeSeller/becomeSeller.js +335 -335
  5. package/src/components/BecomeSeller/becomeSeller.module.css +46 -46
  6. package/src/components/BecomeSellerLink/becomeSellerLink.js +52 -52
  7. package/src/components/BecomeSellerLink/becomeSellerLink.module.css +12 -12
  8. package/src/components/BecomeSellerPage/becomeSellerPage.js +45 -45
  9. package/src/components/BecomeSellerPage/becomeSellerPage.module.css +21 -21
  10. package/src/components/Filter/index.js +53 -53
  11. package/src/components/Header/becomeSellerLink.js +28 -28
  12. package/src/components/Header/becomeSellerLink.module.css +12 -12
  13. package/src/components/Header/websiteSwitcher.js +109 -109
  14. package/src/components/OperatingHours/index.js +1 -0
  15. package/src/components/OperatingHours/operatingHours.js +35 -0
  16. package/src/components/Pagination/index.js +49 -49
  17. package/src/components/PhoneTextInput/phoneTextInput.module.css +21 -21
  18. package/src/components/ProductItem/index.js +50 -50
  19. package/src/components/Search/index.js +16 -16
  20. package/src/components/Seller/index.js +1 -1
  21. package/src/components/Seller/seller.js +57 -249
  22. package/src/components/Seller/sellerAddressCard.js +48 -0
  23. package/src/components/SellerAccountPage/sellerAccountPage.js +110 -110
  24. package/src/components/SellerAccountPage/sellerAccountPage.module.css +55 -55
  25. package/src/components/SellerCountry/sellerCountry.gql.js +11 -11
  26. package/src/components/SellerDetail/index.js +1 -0
  27. package/src/components/SellerDetail/sellerDetail.js +161 -0
  28. package/src/components/SellerInformation/index.js +1 -1
  29. package/src/components/SellerInformation/sellerInformation.js +86 -90
  30. package/src/components/SellerLocation/index.js +1 -1
  31. package/src/components/SellerLocation/sellerLocation.js +19 -19
  32. package/src/components/SellerLocation/sellerLocationItem.js +27 -27
  33. package/src/components/SellerPage/sellerPage.js +9 -9
  34. package/src/components/SellerProducts/sellerProducts.js +46 -46
  35. package/src/components/SellerReview/index.js +1 -1
  36. package/src/components/SellerReview/sellerReview.js +143 -143
  37. package/src/components/SellerReviewItem/sellerReviewItem.js +60 -60
  38. package/src/components/SellerVerification/sellerVerification.js +198 -198
  39. package/src/components/SellerVerification/sellerVerification.module.css +47 -47
  40. package/src/components/SellerVerificationPage/sellerVerificationPage.js +43 -43
  41. package/src/components/SellerVerificationPage/sellerVerificationPage.module.css +21 -21
  42. package/src/components/SortBy/index.js +24 -24
  43. package/src/components/WebsiteSwitcher/websiteSwitcher.js +109 -109
  44. package/src/components/commons/Slider/index.js +13 -13
  45. package/src/components/commons/Tabs/index.js +64 -64
  46. package/src/index.js +6 -6
  47. package/src/intercept.js +113 -113
  48. package/src/moduleOverrideWebpackPlugin.js +70 -70
  49. package/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js +96 -96
  50. package/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js +74 -74
  51. package/src/overwrites/peregrine/lib/talons/Adapter/useAdapter.js +208 -208
  52. package/src/overwrites/peregrine/lib/talons/Header/storeSwitcher.gql.js +45 -45
  53. package/src/overwrites/peregrine/lib/talons/Header/useStoreSwitcher.js +204 -204
  54. package/src/overwrites/peregrine/lib/talons/Region/useRegion.js +102 -102
  55. package/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js +56 -56
  56. package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +226 -226
  57. package/src/overwrites/peregrine/lib/util/deriveErrorMessage.js +34 -34
  58. package/src/overwrites/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql +11 -11
  59. package/src/overwrites/venia-ui/lib/components/Adapter/adapter.js +112 -112
  60. package/src/overwrites/venia-ui/lib/components/Header/header.js +130 -130
  61. package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +105 -105
  62. package/src/overwrites/venia-ui/lib/components/Header/switcherItem.js +47 -47
  63. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenu.spec.js +91 -91
  64. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenuItem.spec.js +123 -123
  65. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/Submenu.spec.js +61 -61
  66. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/SubmenuColumn.spec.js +50 -50
  67. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenu.spec.js.snap +114 -114
  68. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenuItem.spec.js.snap +71 -71
  69. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/Submenu.spec.js.snap +59 -59
  70. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/SubmenuColumn.spec.js.snap +34 -34
  71. package/src/overwrites/venia-ui/lib/components/MegaMenu/index.js +1 -1
  72. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.js +90 -90
  73. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.module.css +12 -12
  74. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.js +156 -156
  75. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.module.css +30 -30
  76. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.js +89 -89
  77. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +42 -42
  78. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.js +99 -99
  79. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.module.css +28 -28
  80. package/src/overwrites/venia-ui/lib/components/SearchBar/__stories__/searchBar.js +11 -11
  81. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/searchField.spec.js.snap +72 -72
  82. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedCategories.spec.js.snap +30 -30
  83. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProduct.spec.js.snap +69 -69
  84. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProducts.spec.js.snap +7 -7
  85. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestions.spec.js.snap +12 -12
  86. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/autocomplete.spec.js +52 -52
  87. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchBar.spec.js +82 -82
  88. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchField.spec.js +87 -87
  89. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedCategories.spec.js +45 -45
  90. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProduct.spec.js +43 -43
  91. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProducts.spec.js +45 -45
  92. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestions.spec.js +110 -110
  93. package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.js +172 -172
  94. package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.module.css +62 -62
  95. package/src/overwrites/venia-ui/lib/components/SearchBar/index.js +1 -1
  96. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.js +74 -74
  97. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.module.css +49 -49
  98. package/src/overwrites/venia-ui/lib/components/SearchBar/searchField.js +40 -40
  99. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.js +48 -48
  100. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.module.css +13 -13
  101. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategory.js +49 -49
  102. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.js +97 -97
  103. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.module.css +24 -24
  104. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.js +43 -43
  105. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.module.css +13 -13
  106. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.js +75 -75
  107. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.module.css +6 -6
  108. package/src/overwrites/venia-ui/lib/components/StoreCodeRoute/storeCodeRoute.js +75 -75
  109. package/src/overwrites/venia-ui/lib/targets/venia-ui-intercept.js +70 -70
  110. package/src/queries/getAvailableWebsitesConfigData.graphql +14 -14
  111. package/src/queries/index.js +30 -30
  112. package/src/talons/BecomeSeller/becomeSeller.gql.js +45 -45
  113. package/src/talons/BecomeSeller/useBecomeSeller.js +145 -145
  114. package/src/talons/BecomeSellerLink/useBecomeSellerLink.js +11 -11
  115. package/src/talons/BecomeSellerPage/useBecomeSellerPage.js +76 -76
  116. package/src/talons/Header/useBecomeSellerLink.js +13 -13
  117. package/src/talons/Header/useWebsiteSwitcher.js +218 -218
  118. package/src/talons/Seller/seller.gql.js +204 -139
  119. package/src/talons/Seller/useSeller.js +71 -66
  120. package/src/talons/SellerAccountPage/useSellerAccountPage.js +174 -174
  121. package/src/talons/SellerCountry/useSellerCountry.js +25 -25
  122. package/src/talons/WebsiteByIp/getWebsiteByIp.gql.js +13 -13
  123. package/src/talons/WebsiteByIp/useWebsiteByIp.js +34 -34
  124. package/src/talons/WebsiteSwitcher/useWebsiteSwitcher.js +218 -218
  125. package/src/theme/vars.js +6 -6
  126. package/src/util/mapSeller.js +7 -7
@@ -1,55 +1,55 @@
1
- .root {
2
- composes: grid from global;
3
- composes: gap-y-md from global;
4
- composes: px-lg from global;
5
- composes: py-md from global;
6
- }
7
-
8
- .title {
9
- composes: font-bold from global;
10
- composes: font-serif from global;
11
- composes: justify-self-center from global;
12
- }
13
-
14
- .accountDetails {
15
- composes: gap-y-md from global;
16
- composes: grid from global;
17
- composes: grid-cols-1 from global;
18
-
19
- composes: lg_grid-cols-3 from global;
20
- }
21
-
22
- .lineItemsContainer {
23
- composes: gap-3 from global;
24
- composes: grid from global;
25
- composes: grid-cols-1 from global;
26
- composes: leading-normal from global;
27
- grid-column: 1 / span 1;
28
-
29
- composes: lg_gap-xs from global;
30
- composes: lg_grid-cols-2 from global;
31
- }
32
-
33
- .lineItemLabel {
34
- composes: font-bold from global;
35
- }
36
-
37
- .nameLabel,
38
- .emailLabel,
39
- .passwordLabel {
40
- composes: font-bold from global;
41
- }
42
-
43
- .nameValue,
44
- .emailValue,
45
- .passwordValue {
46
- }
47
-
48
- .editButtonContainer {
49
- grid-column: 1 / span 1;
50
- composes: text-center from global;
51
- }
52
-
53
- .editInformationButton {
54
- composes: root_normalPriority from '@magento/venia-ui/lib/components/Button/button.module.css';
55
- }
1
+ .root {
2
+ composes: grid from global;
3
+ composes: gap-y-md from global;
4
+ composes: px-lg from global;
5
+ composes: py-md from global;
6
+ }
7
+
8
+ .title {
9
+ composes: font-bold from global;
10
+ composes: font-serif from global;
11
+ composes: justify-self-center from global;
12
+ }
13
+
14
+ .accountDetails {
15
+ composes: gap-y-md from global;
16
+ composes: grid from global;
17
+ composes: grid-cols-1 from global;
18
+
19
+ composes: lg_grid-cols-3 from global;
20
+ }
21
+
22
+ .lineItemsContainer {
23
+ composes: gap-3 from global;
24
+ composes: grid from global;
25
+ composes: grid-cols-1 from global;
26
+ composes: leading-normal from global;
27
+ grid-column: 1 / span 1;
28
+
29
+ composes: lg_gap-xs from global;
30
+ composes: lg_grid-cols-2 from global;
31
+ }
32
+
33
+ .lineItemLabel {
34
+ composes: font-bold from global;
35
+ }
36
+
37
+ .nameLabel,
38
+ .emailLabel,
39
+ .passwordLabel {
40
+ composes: font-bold from global;
41
+ }
42
+
43
+ .nameValue,
44
+ .emailValue,
45
+ .passwordValue {
46
+ }
47
+
48
+ .editButtonContainer {
49
+ grid-column: 1 / span 1;
50
+ composes: text-center from global;
51
+ }
52
+
53
+ .editInformationButton {
54
+ composes: root_normalPriority from '@magento/venia-ui/lib/components/Button/button.module.css';
55
+ }
@@ -1,11 +1,11 @@
1
- import { gql } from '@apollo/client';
2
-
3
- export const GET_SELLER_COUNTRIES_QUERY = gql`
4
- query GetSellerCountries {
5
- sellerCountries {
6
- id
7
- full_name_english
8
- two_letter_abbreviation
9
- }
10
- }
11
- `;
1
+ import { gql } from '@apollo/client';
2
+
3
+ export const GET_SELLER_COUNTRIES_QUERY = gql`
4
+ query GetSellerCountries {
5
+ sellerCountries {
6
+ id
7
+ full_name_english
8
+ two_letter_abbreviation
9
+ }
10
+ }
11
+ `;
@@ -0,0 +1 @@
1
+ export { default } from './sellerDetail';
@@ -0,0 +1,161 @@
1
+ import React, { Fragment } from 'react';
2
+ import { FormattedMessage } from 'react-intl';
3
+ import { useSeller } from '@riosst100/pwa-marketplace/src/talons/Seller/useSeller';
4
+ import ErrorView from '@magento/venia-ui/lib/components/ErrorView';
5
+ import { StoreTitle, Meta } from '@magento/venia-ui/lib/components/Head';
6
+ import mapSeller from '@riosst100/pwa-marketplace/src/util/mapSeller';
7
+ import Slider from '@riosst100/pwa-marketplace/src/components/commons/Slider';
8
+ import Tabs from '@riosst100/pwa-marketplace/src/components/commons/Tabs';
9
+ import SellerProducts from '../SellerProducts';
10
+ import SellerInformation from '../SellerInformation';
11
+ import Reviews from '../SellerReview';
12
+ import {
13
+ Verify,
14
+ Sms,
15
+ Message,
16
+ Heart,
17
+ Share,
18
+ BoxTick,
19
+ Star1,
20
+ } from 'iconsax-react';
21
+ import Image from '@magento/venia-ui/lib/components/Image';
22
+
23
+ const SellerDetail = props => {
24
+ const talonProps = useSeller({
25
+ mapSeller
26
+ });
27
+
28
+ const { error, loading, seller } = talonProps;
29
+
30
+ if (loading && !seller)
31
+ return '';
32
+ // return <SellerShimmer />;
33
+ if (error && !seller) return <ErrorView />;
34
+ if (!seller) {
35
+ return (
36
+ <h1>
37
+ <FormattedMessage
38
+ id={'seller.notFound'}
39
+ defaultMessage={
40
+ 'Seller Not Found.'
41
+ }
42
+ />
43
+ </h1>
44
+ );
45
+ }
46
+
47
+ const dataTabs =
48
+ [
49
+ {
50
+ id: 'product-tab',
51
+ title: 'All Products',
52
+ content: <SellerProducts />
53
+ },
54
+ {
55
+ id: 'store-information',
56
+ title: 'Store Information',
57
+ content: <SellerInformation seller={seller} />
58
+ },
59
+ {
60
+ id: 'reviews',
61
+ title: 'Reviews',
62
+ content: <Reviews />
63
+ }
64
+ ];
65
+
66
+ return (
67
+ <div className=' py-8'>
68
+ <Slider seller={seller} rootClassname='mb-[30px]' />
69
+ <div className='flex xs_flex-col md_flex-row xs_items-center md_item-start lg_flex-row justify-between mb-[30px] p-[20px] rounded-[6px] border border-solid border-gray-100 shadow-[0px_0px_5px_3px_#d9d9d933]'>
70
+ <div className='flex xs_flex-col md_flex-row xs_items-center md_items-start items-start gap-[15px] relative'>
71
+ {seller?.thumbnail ? (
72
+ <Image
73
+ alt={seller.name}
74
+ width='100'
75
+ src={seller.thumbnail || ''} />
76
+ ) : (
77
+ <div className='flex items-center justify-center bg-gray-300 border rounded-radius1 relative w-[100px] h-[100px]'>
78
+ <Shop size="48" color="#F2F2F2" variant="Outline" />
79
+ </div>
80
+ )}
81
+
82
+ <div className='flex flex-col xs_items-center md_items-start justify-between relative gap-y-[18px]'>
83
+ <div className='flex flex-col xs_items-center md_items-start gap-[6px] relative'>
84
+ <div className="gap-x-[10px] gap-y-1 flex xs_flex-col md_flex-row xs_items-center md_items-start relative">
85
+ <div className="relative w-fit mt-[-1.00px] font-semibold text-[20px] tracking-[0] leading-[24px] whitespace-nowrap">
86
+ {seller ? seller.name : ''}
87
+ </div>
88
+ <div className="flex items-center gap-[5px] relative">
89
+ <Verify variant='Bold' color='#4E31DB' size={20} />
90
+ <div className="relative w-fit font-medium text-[#192221b3] text-[12px] tracking-[0] leading-[normal] whitespace-nowrap">
91
+ Verified
92
+ </div>
93
+ </div>
94
+ </div>
95
+ <div class="relative w-fit font-normal text-[#999999] text-[12px] tracking-[0] leading-[14px] whitespace-nowrap">
96
+ {seller ? seller.city + ', ' + seller.country : ''}
97
+ </div>
98
+ </div>
99
+ <div className='flex flex-wrap items-start gap-4 relative'>
100
+ <button class="flex items-center justify-center gap-[5px] xs_p-[11px] lg_px-[20px] lg_py-[8px] relative bg-white rounded-[30px] border border-solid border-[#6243fa]">
101
+ <div class="flex items-center justify-center gap-[10px] relative">
102
+ <Sms color="#6243FA" size={14} variant="Outline" className='stroke-[#6243FA]' />
103
+ <div class="relative xs_hidden lg_flex w-fit font-medium text-[#6243fa] text-[14px] tracking-[0] leading-[20px] whitespace-nowrap">
104
+ Message
105
+ </div>
106
+ </div>
107
+ </button>
108
+ <button class="flex items-center justify-center gap-[5px] xs_p-[11px] lg_px-[20px] lg_py-[8px] relative bg-[#280135] rounded-[30px] border border-solid border-[#280135]">
109
+ <div class="flex items-center justify-center gap-[10px] relative">
110
+ <Message color='#FFFFFF' size={14} variant="Outline" className='stroke-[#FFFFFF]' />
111
+ <div class="relative xs_hidden lg_flex w-fit font-medium text-[#fff] text-[14px] tracking-[0] leading-[20px] whitespace-nowrap">
112
+ Chat With Seller
113
+ </div>
114
+ </div>
115
+ </button>
116
+ <button class="flex items-center justify-center gap-[5px] p-[11px] relative bg-white rounded-[30px] overflow-hidden border border-solid border-[#6243fa]">
117
+ <Heart color='#6243FA' size={14} variant="Outline" className='stroke-[#6243FA]' />
118
+ </button>
119
+ <button class="flex items-center justify-center gap-[5px] p-[11px] relative bg-white rounded-[30px] overflow-hidden border border-solid border-[#6243fa]">
120
+ <Share color='#6243FA' size={14} variant="Outline" className='stroke-[#6243FA]' />
121
+ </button>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ <div class="flex items-center gap-[20px] px-[10px] py-[30px] relative">
126
+ <div class="flex flex-col items-center justify-center gap-[9px] p-[10px] relative">
127
+ <div class="flex items-center gap-[6px] relative">
128
+ <BoxTick color="#B9AEC5" variant="Outline" size={18} className='stroke-[#B9AEC5] stroke-[.5px]' />
129
+ <div class="[font-family:'Noto_Sans',Helvetica] font-semibold text-[#005947] text-[18px] relative w-fit tracking-[0] leading-[normal] whitespace-nowrap">
130
+ {seller ? seller.sale : 0}
131
+ </div>
132
+ </div>
133
+ <div class="relative w-fit [font-family:'Frederik-Regular',Helvetica] font-normal text-[#009a7b] text-[10px] tracking-[0] leading-[normal] whitespace-nowrap">
134
+ Total Sales
135
+ </div>
136
+ </div>
137
+ <img class="relative self-stretch w-px object-cover" alt="Line" src="https://c.animaapp.com/2pP7niVX/img/line-16.svg" />
138
+ <div class="flex flex-col items-center justify-center gap-[9px] p-[10px] relative">
139
+ <div class="flex items-center gap-[5px] relative">
140
+ <Star1 color='#F7C317' size={18} className='fill-[#F7C317]' />
141
+ <div class="relative self-stretch w-[25px] mt-[-1.00px] font-bold text-[#005947] text-[18px] tracking-[0] leading-[normal] whitespace-nowrap">
142
+ 0.0
143
+ </div>
144
+ </div>
145
+ <div class="relative w-fit [font-family:'Frederik-Regular',Helvetica] font-normal text-[#009a7b] text-[10px] tracking-[0] leading-[normal] whitespace-nowrap">
146
+ Rating &amp; Reviews
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ <Tabs
152
+ data={dataTabs}
153
+ tabContentWrapperClassName='!p-0'
154
+ hasContent
155
+ tabWrapperClassName='xl_gap-x-[60px]'
156
+ />
157
+ </div>
158
+ )
159
+ }
160
+
161
+ export default SellerDetail;
@@ -1 +1 @@
1
- export { default } from './sellerInformation';
1
+ export { default } from './sellerInformation';
@@ -1,91 +1,87 @@
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 &amp; 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
-
1
+ import React from 'react';
2
+ import SellerLocation from '../SellerLocation';
3
+ import { Location, ShopAdd } from 'iconsax-react';
4
+ import OperatingHours from '@riosst100/pwa-marketplace/src/components/OperatingHours';
5
+ import SellerAddressCard from '@riosst100/pwa-marketplace/src/components/Seller/sellerAddressCard';
6
+
7
+ const SellerInformation = ({ seller }) => {
8
+ return (
9
+ <>
10
+ <div class="flex flex-col items-start gap-[30px] px-[10px]">
11
+ <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">
12
+ <div class="flex flex-col items-start gap-[30px] relative self-stretch">
13
+ <div class="flex flex-col items-start gap-[15px] relative self-stretch w-full flex-[0_0_auto]">
14
+ <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>
15
+ <div class="inline-flex items-center justify-center gap-[10px] relative flex-[0_0_auto]">
16
+ <p class="relative mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[16px]">
17
+ {seller ? seller.description : ''}<br />
18
+ <br />
19
+ {seller ? seller.contact_number : ''}
20
+ </p>
21
+ </div>
22
+ <div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
23
+ <Location color="#009A7B" size={18} variant="Outline" className='stroke-[#009A7B] stroke-[0.5px]' />
24
+ <p class="relative w-fit font-normal text-[#009a7b] text-[14px] tracking-[0] leading-[normal] whitespace-nowrap"><SellerAddressCard address={seller} /></p>
25
+ </div>
26
+ <div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
27
+ <ShopAdd color="#009A7B" size={18} variant="Outline" className='stroke-[#009A7B] stroke-[0.5px]' />
28
+ <div class="relative self-stretch mt-[-1.00px] font-normal text-[#009a7b] text-[14px] tracking-[0] leading-[normal]">Joined: {seller ? seller.creation_time : ''}</div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ <div class="flex flex-col items-start gap-[30px] relative">
33
+ <div class="flex flex-col items-start gap-[15px] relative self-stretch w-full flex-[0_0_auto]">
34
+ <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>
35
+ <div class="inline-flex flex-col items-start relative flex-[0_0_auto]">
36
+ <div class="inline-flex items-start gap-[10px] relative flex-[0_0_auto]">
37
+ <p class="relative mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal]">
38
+ <OperatingHours values={seller.operating_hours} />
39
+ </p>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div class="flex flex-col items-start gap-[15px] relative">
45
+ <div class="inline-flex items-start gap-[10px] relative flex-[0_0_auto]">
46
+ <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>
47
+ </div>
48
+ <div class="flex flex-wrap items-start gap-[10px_10px] relative flex-[0_0_auto]">
49
+ {seller ? <SellerShipTo seller={seller} /> : '' }
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <div class="flex items-start relative self-stretch w-full flex-[0_0_auto]">
54
+ <div class="flex flex-col items-start gap-[15px] relative flex-1 grow">
55
+ <div class="relative w-fit mt-[-1.00px] [font-family:'Frederik-DemiBold',Helvetica] font-bold text-[16px] tracking-[0] leading-[normal] whitespace-nowrap">Terms &amp; Condition</div>
56
+ <div class="inline-flex items-center justify-center gap-[10px] relative flex-[0_0_auto]">
57
+ <div class="flex flex-col items-start gap-[2px]">
58
+ {seller ? seller.term_and_conditions : ''}
59
+ </div>
60
+ </div>
61
+ </div >
62
+ </div >
63
+ {seller ? <SellerLocation storeLocators={seller.store_locators} /> : ''}
64
+ </div >
65
+ </>
66
+ )
67
+ }
68
+
69
+ const SellerShipTo = ({seller}) => {
70
+ const shipTo = seller ? seller.ship_to : '';
71
+ const shipToCountry = seller ? seller.ship_to_country : '';
72
+
73
+ const shipToCountryArr = shipToCountry ? shipToCountry.split(',') : '';
74
+
75
+ return (
76
+ <div class="flex flex-wrap items-center gap-2 px-0 py-[5px] relative flex-1 grow">
77
+ {shipTo && shipTo == "Domestic" ? seller.country_id : ''}
78
+ {shipToCountryArr && shipTo != "Domestic" ? shipToCountryArr.map((value, index) => <>
79
+ <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]">
80
+ <div class="relative w-fit mt-[-1.00px] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">{value}</div>
81
+ </div>
82
+ </>) : ''}
83
+ </div>
84
+ );
85
+ }
86
+
91
87
  export default SellerInformation;
@@ -1 +1 @@
1
- export { default } from './sellerLocation';
1
+ export { default } from './sellerLocation';
@@ -1,20 +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 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
-
1
+ import React from 'react';
2
+ import SellerLocationItem from './sellerLocationItem';
3
+
4
+ const SellerLocation = ({ storeLocators }) => {
5
+ return (
6
+ <>{storeLocators.length > 0 ? (
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
+ {storeLocators && storeLocators.map((value, index) =>
11
+ <SellerLocationItem storeLocator={value} />
12
+ )}
13
+ </div>
14
+ </div>
15
+ ) : ''}
16
+ </>
17
+ )
18
+ }
19
+
20
20
  export default SellerLocation;
@@ -1,28 +1,28 @@
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
-
1
+ import React from 'react';
2
+ import { Location, Clock } from 'iconsax-react';
3
+ import OperatingHours from '@riosst100/pwa-marketplace/src/components/OperatingHours';
4
+ import SellerAddressCard from '@riosst100/pwa-marketplace/src/components/Seller/sellerAddressCard';
5
+
6
+ const SellerLocationItem = ({ storeLocator }) => {
7
+ return storeLocator && (
8
+ <>
9
+ <div class="flex flex-col w-full items-start gap-[15px] p-[20px] relative rounded-[8px] border border-solid border-[#e6e9ea]">
10
+ <div class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-semibold text-[16px] tracking-[0] leading-[normal]">{storeLocator ? storeLocator.name : ''}</div>
11
+ <div class="inline-flex items-center gap-[10px] relative flex-[0_0_auto]">
12
+ <Location color="#1B1B1B" size={18} variant="Outline" className='stroke-[#1B1B1B] stroke-[0.5px]' />
13
+ <div class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-normal text-[14px] tracking-[0] leading-[normal]">
14
+ {storeLocator.city}, {storeLocator.country}
15
+ </div>
16
+ </div>
17
+ <div class="flex flex-col w-[320px] items-end relative flex-[0_0_auto] mr-[-10.00px]">
18
+ <div class="flex items-center gap-[10px] relative self-stretch w-full flex-[0_0_auto]">
19
+ <Clock color="#1B1B1B" size={18} variant="Outline" className='stroke-[#1B1B1B] stroke-[0.5px]' />
20
+ <p class="relative w-fit mt-[-1.00px] [font-family:'Noto_Sans',Helvetica] font-normal text-[14px] tracking-[0] leading-[normal] whitespace-nowrap">{storeLocator ? <OperatingHours values={storeLocator.operating_hours} /> : ''}</p>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </>
25
+ )
26
+ }
27
+
28
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;