@riosst100/pwa-marketplace 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/componentOverrideMapping.js +5 -1
- package/src/components/BecomeSeller/becomeSeller.js +181 -78
- package/src/components/BecomeSeller/becomeSeller.module.css +0 -1
- package/src/components/BecomeSellerLink/becomeSellerLink.js +21 -4
- package/src/components/BecomeSellerPage/becomeSellerPage.js +6 -11
- package/src/components/SellerAccountPage/index.js +1 -0
- package/src/components/SellerAccountPage/sellerAccountPage.js +138 -0
- package/src/components/SellerAccountPage/sellerAccountPage.module.css +55 -0
- package/src/components/SellerVerification/index.js +1 -0
- package/src/components/SellerVerification/sellerVerification.js +198 -0
- package/src/components/SellerVerification/sellerVerification.module.css +47 -0
- package/src/components/SellerVerificationPage/index.js +1 -0
- package/src/components/SellerVerificationPage/sellerVerificationPage.js +43 -0
- package/src/components/SellerVerificationPage/sellerVerificationPage.module.css +21 -0
- package/src/components/WebsiteSwitcher/websiteSwitcher.js +2 -2
- package/src/intercept.js +11 -1
- package/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js +96 -0
- package/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js +65 -0
- package/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js +56 -0
- package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +226 -0
- package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +2 -2
- package/src/talons/BecomeSeller/becomeSeller.gql.js +34 -124
- package/src/talons/BecomeSeller/useBecomeSeller.js +50 -192
- package/src/talons/BecomeSellerLink/useBecomeSellerLink.js +6 -8
- package/src/talons/BecomeSellerPage/useBecomeSellerPage.js +12 -14
- package/src/talons/SellerAccountPage/useSellerAccountPage.js +174 -0
- package/src/talons/WebsiteByIp/useWebsiteByIp.js +2 -0
package/package.json
CHANGED
|
@@ -7,5 +7,9 @@ module.exports = componentOverrideMapping = {
|
|
|
7
7
|
[`@magento/peregrine/lib/talons/Adapter/useAdapter.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/Adapter/useAdapter.js',
|
|
8
8
|
[`@magento/peregrine/lib/talons/Header/useStoreSwitcher.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/Header/useStoreSwitcher.js',
|
|
9
9
|
[`@magento/peregrine/lib/talons/Header/storeSwitcher.gql.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/Header/storeSwitcher.gql.js',
|
|
10
|
-
[`@magento/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql`]: '@riosst100/pwa-marketplace/src/overwrites/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql'
|
|
10
|
+
[`@magento/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql`]: '@riosst100/pwa-marketplace/src/overwrites/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql',
|
|
11
|
+
[`@magento/peregrine/lib/store/actions/user/asyncActions.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js',
|
|
12
|
+
[`@magento/peregrine/lib/talons/SignIn/signIn.gql.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js',
|
|
13
|
+
[`@magento/peregrine/lib/talons/SignIn/useSignIn.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js',
|
|
14
|
+
[`@magento/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js`]: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js'
|
|
11
15
|
};
|
|
@@ -14,11 +14,14 @@ import {
|
|
|
14
14
|
import Button from '@magento/venia-ui/lib/components/Button';
|
|
15
15
|
import Checkbox from '@magento/venia-ui/lib/components/Checkbox';
|
|
16
16
|
import Field from '@magento/venia-ui/lib/components/Field';
|
|
17
|
+
import Select from '@magento/venia-ui/lib/components/Select';
|
|
17
18
|
import TextInput from '@magento/venia-ui/lib/components/TextInput';
|
|
18
19
|
import defaultClasses from './becomeSeller.module.css';
|
|
19
20
|
import FormError from '@magento/venia-ui/lib/components/FormError';
|
|
20
|
-
import Password from '@magento/venia-ui/lib/components/Password';
|
|
21
21
|
import GoogleRecaptcha from '@magento/venia-ui/lib/components/GoogleReCaptcha';
|
|
22
|
+
import Country from '@magento/venia-ui/lib/components/Country';
|
|
23
|
+
import Region from '@magento/venia-ui/lib/components/Region';
|
|
24
|
+
import Postcode from '@magento/venia-ui/lib/components/Postcode';
|
|
22
25
|
|
|
23
26
|
const BecomeSeller = props => {
|
|
24
27
|
const talonProps = useBecomeSeller({
|
|
@@ -29,34 +32,18 @@ const BecomeSeller = props => {
|
|
|
29
32
|
|
|
30
33
|
const {
|
|
31
34
|
errors,
|
|
32
|
-
handleCancel,
|
|
33
35
|
handleSubmit,
|
|
36
|
+
handleChange,
|
|
37
|
+
sellerType,
|
|
34
38
|
handleEnterKeyPress,
|
|
35
|
-
handleCancelKeyPress,
|
|
36
39
|
isDisabled,
|
|
37
40
|
initialValues,
|
|
38
|
-
recaptchaWidgetProps
|
|
41
|
+
recaptchaWidgetProps,
|
|
42
|
+
isSeller
|
|
39
43
|
} = talonProps;
|
|
40
44
|
const { formatMessage } = useIntl();
|
|
41
45
|
const classes = useStyle(defaultClasses, props.classes);
|
|
42
|
-
|
|
43
|
-
const cancelButton = props.isCancelButtonHidden ? null : (
|
|
44
|
-
<Button
|
|
45
|
-
data-cy="BecomeSeller-cancelButton"
|
|
46
|
-
className={classes.cancelButton}
|
|
47
|
-
disabled={isDisabled}
|
|
48
|
-
type="button"
|
|
49
|
-
priority="low"
|
|
50
|
-
onClick={handleCancel}
|
|
51
|
-
onKeyDown={handleCancelKeyPress}
|
|
52
|
-
>
|
|
53
|
-
<FormattedMessage
|
|
54
|
-
id={'becomeSeller.cancelText'}
|
|
55
|
-
defaultMessage={'Cancel'}
|
|
56
|
-
/>
|
|
57
|
-
</Button>
|
|
58
|
-
);
|
|
59
|
-
|
|
46
|
+
|
|
60
47
|
const submitButton = (
|
|
61
48
|
<Button
|
|
62
49
|
className={classes.submitButton}
|
|
@@ -73,12 +60,28 @@ const BecomeSeller = props => {
|
|
|
73
60
|
</Button>
|
|
74
61
|
);
|
|
75
62
|
|
|
76
|
-
|
|
63
|
+
const sellerTypeOptions = [
|
|
64
|
+
{
|
|
65
|
+
value: "individual",
|
|
66
|
+
label: "Individual"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
value: "company",
|
|
70
|
+
label: "Company"
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
if (isSeller) {
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return !isSeller ? (
|
|
77
79
|
<Form
|
|
78
80
|
data-cy="BecomeSeller-form"
|
|
79
81
|
className={classes.root}
|
|
80
82
|
initialValues={initialValues}
|
|
81
83
|
onSubmit={handleSubmit}
|
|
84
|
+
onChange={handleChange}
|
|
82
85
|
>
|
|
83
86
|
<h2 data-cy="BecomeSeller-title" className={classes.title}>
|
|
84
87
|
<FormattedMessage
|
|
@@ -88,111 +91,212 @@ const BecomeSeller = props => {
|
|
|
88
91
|
</h2>
|
|
89
92
|
<FormError errors={Array.from(errors.values())} />
|
|
90
93
|
<Field
|
|
91
|
-
id="
|
|
94
|
+
id="sellerType"
|
|
95
|
+
label={formatMessage({
|
|
96
|
+
id: 'becomeSeller.sellerTypeText',
|
|
97
|
+
defaultMessage: 'Seller Type'
|
|
98
|
+
})}
|
|
99
|
+
>
|
|
100
|
+
<Select
|
|
101
|
+
field="seller.seller_type"
|
|
102
|
+
id={classes.root}
|
|
103
|
+
items={sellerTypeOptions}
|
|
104
|
+
/>
|
|
105
|
+
</Field>
|
|
106
|
+
{sellerType == "company" && (
|
|
107
|
+
<>
|
|
108
|
+
<Field
|
|
109
|
+
id="companyName"
|
|
110
|
+
label={formatMessage({
|
|
111
|
+
id: 'becomeSeller.companyNameText',
|
|
112
|
+
defaultMessage: 'Company Name'
|
|
113
|
+
})}
|
|
114
|
+
>
|
|
115
|
+
<TextInput
|
|
116
|
+
id="companyName"
|
|
117
|
+
field="seller.company_name"
|
|
118
|
+
validate={isRequired}
|
|
119
|
+
validateOnBlur
|
|
120
|
+
mask={value => value && value.trim()}
|
|
121
|
+
maskOnBlur={true}
|
|
122
|
+
data-cy="seller-companyname"
|
|
123
|
+
aria-label={formatMessage({
|
|
124
|
+
id: 'global.companyNameRequired',
|
|
125
|
+
defaultMessage: 'Company Name Required'
|
|
126
|
+
})}
|
|
127
|
+
/>
|
|
128
|
+
</Field>
|
|
129
|
+
<Field
|
|
130
|
+
id="companyRegistrationNumber"
|
|
131
|
+
label={formatMessage({
|
|
132
|
+
id: 'becomeSeller.companyRegistrationNumberText',
|
|
133
|
+
defaultMessage: 'Company Registration Number'
|
|
134
|
+
})}
|
|
135
|
+
>
|
|
136
|
+
<TextInput
|
|
137
|
+
id="companyRegistrationNumber"
|
|
138
|
+
field="seller.company_registration_number"
|
|
139
|
+
validate={isRequired}
|
|
140
|
+
validateOnBlur
|
|
141
|
+
mask={value => value && value.trim()}
|
|
142
|
+
maskOnBlur={true}
|
|
143
|
+
data-cy="seller-registrationnumber"
|
|
144
|
+
aria-label={formatMessage({
|
|
145
|
+
id: 'global.registration_numberRequired',
|
|
146
|
+
defaultMessage: 'Company Registration Number Required'
|
|
147
|
+
})}
|
|
148
|
+
/>
|
|
149
|
+
</Field>
|
|
150
|
+
</>
|
|
151
|
+
)}
|
|
152
|
+
<Field
|
|
153
|
+
id="sellerProfileName"
|
|
154
|
+
label={formatMessage({
|
|
155
|
+
id: 'becomeSeller.sellerProfileNameText',
|
|
156
|
+
defaultMessage: 'Store Name'
|
|
157
|
+
})}
|
|
158
|
+
>
|
|
159
|
+
<TextInput
|
|
160
|
+
id="sellerProfileName"
|
|
161
|
+
field="seller.seller_profile_name"
|
|
162
|
+
validate={isRequired}
|
|
163
|
+
validateOnBlur
|
|
164
|
+
mask={value => value && value.trim()}
|
|
165
|
+
maskOnBlur={true}
|
|
166
|
+
data-cy="seller-profilename"
|
|
167
|
+
aria-label={formatMessage({
|
|
168
|
+
id: 'global.sellerProfileNameRequired',
|
|
169
|
+
defaultMessage: 'Store Name is required.'
|
|
170
|
+
})}
|
|
171
|
+
/>
|
|
172
|
+
</Field>
|
|
173
|
+
<Field
|
|
174
|
+
id="storeURL"
|
|
92
175
|
label={formatMessage({
|
|
93
|
-
id: 'becomeSeller.
|
|
94
|
-
defaultMessage: '
|
|
176
|
+
id: 'becomeSeller.storeURLText',
|
|
177
|
+
defaultMessage: 'Store URL'
|
|
95
178
|
})}
|
|
96
179
|
>
|
|
97
180
|
<TextInput
|
|
98
|
-
id="
|
|
99
|
-
field="
|
|
100
|
-
autoComplete="given-name"
|
|
181
|
+
id="storeUrl"
|
|
182
|
+
field="seller.store_url"
|
|
101
183
|
validate={isRequired}
|
|
102
184
|
validateOnBlur
|
|
103
185
|
mask={value => value && value.trim()}
|
|
104
186
|
maskOnBlur={true}
|
|
105
|
-
data-cy="
|
|
187
|
+
data-cy="seller-storeurl"
|
|
106
188
|
aria-label={formatMessage({
|
|
107
|
-
id: 'global.
|
|
108
|
-
defaultMessage: '
|
|
189
|
+
id: 'global.storeUrlRequired',
|
|
190
|
+
defaultMessage: 'Store URL is required.'
|
|
109
191
|
})}
|
|
110
192
|
/>
|
|
111
193
|
</Field>
|
|
194
|
+
<Country
|
|
195
|
+
field="seller.country_id"
|
|
196
|
+
validate={isRequired}
|
|
197
|
+
/>
|
|
112
198
|
<Field
|
|
113
|
-
id="
|
|
199
|
+
id="addressLine1"
|
|
114
200
|
label={formatMessage({
|
|
115
|
-
id: 'becomeSeller.
|
|
116
|
-
defaultMessage: '
|
|
201
|
+
id: 'becomeSeller.addressLine1Text',
|
|
202
|
+
defaultMessage: 'Address Line 1'
|
|
117
203
|
})}
|
|
118
204
|
>
|
|
119
205
|
<TextInput
|
|
120
|
-
id="
|
|
121
|
-
field="
|
|
122
|
-
autoComplete="family-name"
|
|
206
|
+
id="addressLine1"
|
|
207
|
+
field="seller.address_line_1"
|
|
123
208
|
validate={isRequired}
|
|
124
209
|
validateOnBlur
|
|
125
210
|
mask={value => value && value.trim()}
|
|
126
211
|
maskOnBlur={true}
|
|
127
|
-
data-cy="
|
|
212
|
+
data-cy="seller-addressline1"
|
|
128
213
|
aria-label={formatMessage({
|
|
129
|
-
id: 'global.
|
|
130
|
-
defaultMessage: '
|
|
214
|
+
id: 'global.addressLine1Required',
|
|
215
|
+
defaultMessage: 'Address Line 1 is required'
|
|
131
216
|
})}
|
|
132
217
|
/>
|
|
133
218
|
</Field>
|
|
134
219
|
<Field
|
|
135
|
-
id="
|
|
220
|
+
id="addressLine2"
|
|
136
221
|
label={formatMessage({
|
|
137
|
-
id: 'becomeSeller.
|
|
138
|
-
defaultMessage: '
|
|
222
|
+
id: 'becomeSeller.addressLine2Text',
|
|
223
|
+
defaultMessage: 'Address Line 2'
|
|
139
224
|
})}
|
|
140
225
|
>
|
|
141
226
|
<TextInput
|
|
142
|
-
id="
|
|
143
|
-
field="
|
|
144
|
-
autoComplete="email"
|
|
227
|
+
id="addressLine2"
|
|
228
|
+
field="seller.address_line_2"
|
|
145
229
|
validate={isRequired}
|
|
146
230
|
validateOnBlur
|
|
147
231
|
mask={value => value && value.trim()}
|
|
148
232
|
maskOnBlur={true}
|
|
149
|
-
data-cy="
|
|
233
|
+
data-cy="seller-addressline2"
|
|
150
234
|
aria-label={formatMessage({
|
|
151
|
-
id: 'global.
|
|
152
|
-
defaultMessage: '
|
|
235
|
+
id: 'global.addressLine2Required',
|
|
236
|
+
defaultMessage: 'Address Line 2 is required'
|
|
153
237
|
})}
|
|
154
238
|
/>
|
|
155
239
|
</Field>
|
|
156
|
-
<
|
|
157
|
-
id="
|
|
158
|
-
autoComplete="new-password"
|
|
159
|
-
fieldName="password"
|
|
160
|
-
isToggleButtonHidden={false}
|
|
240
|
+
<Field
|
|
241
|
+
id="city"
|
|
161
242
|
label={formatMessage({
|
|
162
|
-
id: '
|
|
163
|
-
defaultMessage: '
|
|
243
|
+
id: 'global.city',
|
|
244
|
+
defaultMessage: 'City'
|
|
164
245
|
})}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
246
|
+
>
|
|
247
|
+
<TextInput
|
|
248
|
+
id="city"
|
|
249
|
+
field="seller.city"
|
|
250
|
+
validate={isRequired}
|
|
251
|
+
/>
|
|
252
|
+
</Field>
|
|
253
|
+
<Region
|
|
254
|
+
fieldInput="seller.region"
|
|
255
|
+
fieldSelect="seller.region_id"
|
|
256
|
+
label={formatMessage({
|
|
257
|
+
id: 'global.region',
|
|
258
|
+
defaultMessage: 'Region'
|
|
177
259
|
})}
|
|
260
|
+
countryCodeField="seller.country_id"
|
|
261
|
+
validate={isRequired}
|
|
178
262
|
/>
|
|
263
|
+
<Postcode
|
|
264
|
+
validate={isRequired}
|
|
265
|
+
fieldInput="seller.postcode"
|
|
266
|
+
label={formatMessage({
|
|
267
|
+
id: 'global.postcode',
|
|
268
|
+
defaultMessage: 'Postal Code'
|
|
269
|
+
})}
|
|
270
|
+
/>
|
|
271
|
+
<Field
|
|
272
|
+
id="contactNumber"
|
|
273
|
+
label={formatMessage({
|
|
274
|
+
id: 'global.contactNumber',
|
|
275
|
+
defaultMessage: 'Contact Number'
|
|
276
|
+
})}
|
|
277
|
+
>
|
|
278
|
+
<TextInput
|
|
279
|
+
id="contactNumber"
|
|
280
|
+
field="seller.contact_number"
|
|
281
|
+
validate={isRequired}
|
|
282
|
+
/>
|
|
283
|
+
</Field>
|
|
179
284
|
<div className={classes.subscribe}>
|
|
180
285
|
<Checkbox
|
|
181
|
-
field="
|
|
182
|
-
id="
|
|
286
|
+
field="become_seller_agreement"
|
|
287
|
+
id="becomeSellerAgreement"
|
|
183
288
|
label={formatMessage({
|
|
184
|
-
id: 'becomeSeller.
|
|
185
|
-
defaultMessage: '
|
|
289
|
+
id: 'becomeSeller.becomeSellerAgreementText',
|
|
290
|
+
defaultMessage: 'I agree the Terms and Condition (Terms and Conditions)'
|
|
186
291
|
})}
|
|
187
292
|
/>
|
|
188
293
|
</div>
|
|
189
294
|
<GoogleRecaptcha {...recaptchaWidgetProps} />
|
|
190
295
|
<div className={classes.actions}>
|
|
191
296
|
{submitButton}
|
|
192
|
-
{cancelButton}
|
|
193
297
|
</div>
|
|
194
298
|
</Form>
|
|
195
|
-
);
|
|
299
|
+
) : '';
|
|
196
300
|
};
|
|
197
301
|
|
|
198
302
|
BecomeSeller.propTypes = {
|
|
@@ -203,9 +307,8 @@ BecomeSeller.propTypes = {
|
|
|
203
307
|
subscribe: string
|
|
204
308
|
}),
|
|
205
309
|
initialValues: shape({
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
lastName: string
|
|
310
|
+
sellerProfileName: string,
|
|
311
|
+
companyName: string
|
|
209
312
|
}),
|
|
210
313
|
isCancelButtonHidden: bool,
|
|
211
314
|
onSubmit: func,
|
|
@@ -4,17 +4,34 @@ import defaultClasses from './becomeSellerLink.module.css';
|
|
|
4
4
|
import resourceUrl from '@magento/peregrine/lib/util/makeUrl';
|
|
5
5
|
import { Link } from 'react-router-dom';
|
|
6
6
|
import { shape, string } from 'prop-types';
|
|
7
|
+
import { useIntl } from 'react-intl';
|
|
8
|
+
import { useBecomeSellerLink } from '@riosst100/pwa-marketplace/src/talons/BecomeSellerLink/useBecomeSellerLink';
|
|
7
9
|
|
|
8
10
|
const BecomeSellerLink = props => {
|
|
9
11
|
const classes = useStyle(defaultClasses, props.classes);
|
|
10
|
-
const
|
|
12
|
+
const { formatMessage } = useIntl();
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
const {
|
|
15
|
+
isSeller
|
|
16
|
+
} = useBecomeSellerLink(props);
|
|
17
|
+
|
|
18
|
+
return isSeller ? (
|
|
19
|
+
<div className={classes.root} data-cy="BecomeSellerLink-root">
|
|
20
|
+
<a href="https://seller-local.tcgcollective.co/lofmarketplace/seller/login/">
|
|
21
|
+
{formatMessage({
|
|
22
|
+
id: 'sellerDashboard.title',
|
|
23
|
+
defaultMessage: 'Seller Dashboard'
|
|
24
|
+
})}
|
|
25
|
+
</a>
|
|
26
|
+
</div>
|
|
27
|
+
) : (
|
|
13
28
|
<div className={classes.root} data-cy="BecomeSellerLink-root">
|
|
14
29
|
<Link
|
|
15
|
-
aria-label={becomeSellerLabel}
|
|
16
30
|
to={resourceUrl('/become-seller')}
|
|
17
|
-
>{
|
|
31
|
+
>{formatMessage({
|
|
32
|
+
id: 'becomeSellerPage.title',
|
|
33
|
+
defaultMessage: 'Become a Seller'
|
|
34
|
+
})}</Link>
|
|
18
35
|
</div>
|
|
19
36
|
);
|
|
20
37
|
};
|
|
@@ -13,7 +13,9 @@ const BecomeSellerPage = props => {
|
|
|
13
13
|
const { becomeSellerProps } = useBecomeSellerPage(props);
|
|
14
14
|
const { formatMessage } = useIntl();
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const { isSeller } = becomeSellerProps
|
|
17
|
+
|
|
18
|
+
return !isSeller ? (
|
|
17
19
|
<div className={classes.root}>
|
|
18
20
|
<StoreTitle>
|
|
19
21
|
{formatMessage({
|
|
@@ -21,30 +23,23 @@ const BecomeSellerPage = props => {
|
|
|
21
23
|
defaultMessage: 'Become a Seller'
|
|
22
24
|
})}
|
|
23
25
|
</StoreTitle>
|
|
24
|
-
<h1 className={classes.header}>
|
|
25
|
-
<FormattedMessage
|
|
26
|
-
id="becomeSellerPage.header"
|
|
27
|
-
defaultMessage="Become a Seller"
|
|
28
|
-
/>
|
|
29
|
-
</h1>
|
|
30
26
|
<div className={classes.contentContainer}>
|
|
31
27
|
<BecomeSeller {...becomeSellerProps} />
|
|
32
28
|
</div>
|
|
33
29
|
</div>
|
|
34
|
-
)
|
|
30
|
+
) : ''
|
|
35
31
|
}
|
|
36
32
|
|
|
37
33
|
export default BecomeSellerPage;
|
|
38
34
|
|
|
39
35
|
BecomeSellerPage.defaultProps = {
|
|
40
36
|
signedInRedirectUrl: '/become-seller',
|
|
41
|
-
signInPageUrl: '
|
|
37
|
+
signInPageUrl: '/sign-in'
|
|
42
38
|
};
|
|
43
39
|
|
|
44
40
|
BecomeSellerPage.propTypes = {
|
|
45
41
|
classes: shape({
|
|
46
42
|
root: string
|
|
47
43
|
}),
|
|
48
|
-
signedInRedirectUrl: string
|
|
49
|
-
signInPageUrl: string
|
|
44
|
+
signedInRedirectUrl: string
|
|
50
45
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {default} from './sellerAccountPage';
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import React, { Fragment, Suspense } from 'react';
|
|
2
|
+
import { shape, string } from 'prop-types';
|
|
3
|
+
import { FormattedMessage, useIntl } from 'react-intl';
|
|
4
|
+
|
|
5
|
+
import { useSellerAccountPage } from '@riosst100/pwa-marketplace/src/talons/SellerAccountPage/useSellerAccountPage';
|
|
6
|
+
import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
7
|
+
// import SellerAccount from '@riosst100/pwa-marketplace/src/components/SellerAccount';
|
|
8
|
+
import { StoreTitle } from '@magento/venia-ui/lib/components/Head';
|
|
9
|
+
import defaultClasses from './sellerAccountPage.module.css';
|
|
10
|
+
import { fullPageLoadingIndicator } from '@magento/venia-ui/lib/components/LoadingIndicator';
|
|
11
|
+
import AccountInformationPageOperations from '@magento/venia-ui/lib/components/AccountInformationPage/accountInformationPage.gql.js';
|
|
12
|
+
import Button from '@magento/venia-ui/lib/components/Button';
|
|
13
|
+
|
|
14
|
+
const SellerAccountPage = props => {
|
|
15
|
+
const classes = useStyle(defaultClasses, props.classes);
|
|
16
|
+
const sellerAccountProps = useSellerAccountPage({
|
|
17
|
+
...AccountInformationPageOperations
|
|
18
|
+
});
|
|
19
|
+
const {
|
|
20
|
+
handleCancel,
|
|
21
|
+
formErrors,
|
|
22
|
+
handleChangePassword,
|
|
23
|
+
handleSubmit,
|
|
24
|
+
initialValues,
|
|
25
|
+
isDisabled,
|
|
26
|
+
isUpdateMode,
|
|
27
|
+
loadDataError,
|
|
28
|
+
shouldShowNewPassword,
|
|
29
|
+
showUpdateMode,
|
|
30
|
+
recaptchaWidgetProps
|
|
31
|
+
} = sellerAccountProps;
|
|
32
|
+
const { formatMessage } = useIntl();
|
|
33
|
+
|
|
34
|
+
let sellerAccountDetails = null;
|
|
35
|
+
let sellerLoginAccount = null;
|
|
36
|
+
if (!initialValues) {
|
|
37
|
+
return fullPageLoadingIndicator;
|
|
38
|
+
} else {
|
|
39
|
+
const { customer } = initialValues;
|
|
40
|
+
const customerName = `${customer.firstname} ${customer.lastname}`;
|
|
41
|
+
const passwordValue = 'Same as current';
|
|
42
|
+
|
|
43
|
+
sellerAccountDetails = (
|
|
44
|
+
<Fragment>
|
|
45
|
+
<div className={classes.accountDetails}>
|
|
46
|
+
<span className={classes.nameLabel}>
|
|
47
|
+
<FormattedMessage
|
|
48
|
+
id={'global.sellerAccountDetailsText'}
|
|
49
|
+
defaultMessage={'Seller Account Details'}
|
|
50
|
+
/>
|
|
51
|
+
</span>
|
|
52
|
+
<div className={classes.lineItemsContainer}>
|
|
53
|
+
<span className={classes.nameLabel}>
|
|
54
|
+
<FormattedMessage
|
|
55
|
+
id={'global.status'}
|
|
56
|
+
defaultMessage={'Status'}
|
|
57
|
+
/>
|
|
58
|
+
</span>
|
|
59
|
+
<span className={classes.nameValue}>
|
|
60
|
+
Not Verified
|
|
61
|
+
</span>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</Fragment>
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
sellerLoginAccount = (
|
|
68
|
+
<Fragment>
|
|
69
|
+
<div className={classes.accountDetails}>
|
|
70
|
+
<span className={classes.nameLabel}>
|
|
71
|
+
<FormattedMessage
|
|
72
|
+
id={'global.sellerDashboardLoginAccountText'}
|
|
73
|
+
defaultMessage={'Seller Dashboard Login Account'}
|
|
74
|
+
/>
|
|
75
|
+
</span>
|
|
76
|
+
<div className={classes.lineItemsContainer}>
|
|
77
|
+
<span className={classes.emailLabel}>
|
|
78
|
+
<FormattedMessage
|
|
79
|
+
id={'global.email'}
|
|
80
|
+
defaultMessage={'Email'}
|
|
81
|
+
/>
|
|
82
|
+
</span>
|
|
83
|
+
<span className={classes.emailValue}>
|
|
84
|
+
{customer.email}
|
|
85
|
+
</span>
|
|
86
|
+
<span className={classes.passwordLabel}>
|
|
87
|
+
<FormattedMessage
|
|
88
|
+
id={'global.password'}
|
|
89
|
+
defaultMessage={'Password'}
|
|
90
|
+
/>
|
|
91
|
+
</span>
|
|
92
|
+
<span className={classes.passwordValue}>
|
|
93
|
+
{passwordValue}
|
|
94
|
+
</span>
|
|
95
|
+
</div>
|
|
96
|
+
<div className={classes.editButtonContainer}>
|
|
97
|
+
<a href="https://seller-local.tcgcollective.co/lofmarketplace/seller/login/"
|
|
98
|
+
className={classes.editInformationButton}
|
|
99
|
+
>
|
|
100
|
+
<FormattedMessage
|
|
101
|
+
id={'global.sellerDashboardText'}
|
|
102
|
+
defaultMessage={'Seller Dashboard'}
|
|
103
|
+
/>
|
|
104
|
+
</a>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</Fragment>
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return (
|
|
112
|
+
<div className={classes.root}>
|
|
113
|
+
<StoreTitle>
|
|
114
|
+
{formatMessage({
|
|
115
|
+
id: 'sellerAccountPage.title',
|
|
116
|
+
defaultMessage: 'Seller Account'
|
|
117
|
+
})}
|
|
118
|
+
</StoreTitle>
|
|
119
|
+
{sellerAccountDetails}
|
|
120
|
+
<br />
|
|
121
|
+
{sellerLoginAccount}
|
|
122
|
+
</div>
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export default SellerAccountPage;
|
|
127
|
+
|
|
128
|
+
SellerAccountPage.defaultProps = {
|
|
129
|
+
signedInRedirectUrl: '/seller-account',
|
|
130
|
+
signInPageUrl: '/sign-in'
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
SellerAccountPage.propTypes = {
|
|
134
|
+
classes: shape({
|
|
135
|
+
root: string
|
|
136
|
+
}),
|
|
137
|
+
signedInRedirectUrl: string
|
|
138
|
+
};
|
|
@@ -0,0 +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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {default} from './sellerVerification';
|