@riosst100/pwa-marketplace 1.0.2 → 1.0.4

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 (28) hide show
  1. package/package.json +1 -1
  2. package/src/componentOverrideMapping.js +5 -1
  3. package/src/components/BecomeSeller/becomeSeller.js +181 -78
  4. package/src/components/BecomeSeller/becomeSeller.module.css +0 -1
  5. package/src/components/BecomeSellerLink/becomeSellerLink.js +21 -4
  6. package/src/components/BecomeSellerPage/becomeSellerPage.js +6 -11
  7. package/src/components/SellerAccountPage/index.js +1 -0
  8. package/src/components/SellerAccountPage/sellerAccountPage.js +138 -0
  9. package/src/components/SellerAccountPage/sellerAccountPage.module.css +55 -0
  10. package/src/components/SellerVerification/index.js +1 -0
  11. package/src/components/SellerVerification/sellerVerification.js +198 -0
  12. package/src/components/SellerVerification/sellerVerification.module.css +47 -0
  13. package/src/components/SellerVerificationPage/index.js +1 -0
  14. package/src/components/SellerVerificationPage/sellerVerificationPage.js +43 -0
  15. package/src/components/SellerVerificationPage/sellerVerificationPage.module.css +21 -0
  16. package/src/components/WebsiteSwitcher/websiteSwitcher.js +2 -2
  17. package/src/intercept.js +11 -1
  18. package/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js +96 -0
  19. package/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js +65 -0
  20. package/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js +56 -0
  21. package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +226 -0
  22. package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +2 -2
  23. package/src/talons/BecomeSeller/becomeSeller.gql.js +34 -124
  24. package/src/talons/BecomeSeller/useBecomeSeller.js +50 -192
  25. package/src/talons/BecomeSellerLink/useBecomeSellerLink.js +6 -8
  26. package/src/talons/BecomeSellerPage/useBecomeSellerPage.js +12 -14
  27. package/src/talons/SellerAccountPage/useSellerAccountPage.js +174 -0
  28. package/src/talons/WebsiteByIp/useWebsiteByIp.js +2 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@riosst100/pwa-marketplace",
3
3
  "author": "riosst100@gmail.com",
4
- "version": "1.0.2",
4
+ "version": "1.0.4",
5
5
  "main": "src/index.js",
6
6
  "pwa-studio": {
7
7
  "targets": {
@@ -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
- return (
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="firstName"
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.firstNameText',
94
- defaultMessage: 'First Name'
176
+ id: 'becomeSeller.storeURLText',
177
+ defaultMessage: 'Store URL'
95
178
  })}
96
179
  >
97
180
  <TextInput
98
- id="firstName"
99
- field="customer.firstname"
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="customer-firstname"
187
+ data-cy="seller-storeurl"
106
188
  aria-label={formatMessage({
107
- id: 'global.firstNameRequired',
108
- defaultMessage: 'First Name Required'
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="lastName"
199
+ id="addressLine1"
114
200
  label={formatMessage({
115
- id: 'becomeSeller.lastNameText',
116
- defaultMessage: 'Last Name'
201
+ id: 'becomeSeller.addressLine1Text',
202
+ defaultMessage: 'Address Line 1'
117
203
  })}
118
204
  >
119
205
  <TextInput
120
- id="lastName"
121
- field="customer.lastname"
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="customer-lastname"
212
+ data-cy="seller-addressline1"
128
213
  aria-label={formatMessage({
129
- id: 'global.lastNameRequired',
130
- defaultMessage: 'Last Name Required'
214
+ id: 'global.addressLine1Required',
215
+ defaultMessage: 'Address Line 1 is required'
131
216
  })}
132
217
  />
133
218
  </Field>
134
219
  <Field
135
- id="Email"
220
+ id="addressLine2"
136
221
  label={formatMessage({
137
- id: 'becomeSeller.emailText',
138
- defaultMessage: 'Email'
222
+ id: 'becomeSeller.addressLine2Text',
223
+ defaultMessage: 'Address Line 2'
139
224
  })}
140
225
  >
141
226
  <TextInput
142
- id="Email"
143
- field="customer.email"
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="customer-email"
233
+ data-cy="seller-addressline2"
150
234
  aria-label={formatMessage({
151
- id: 'global.emailRequired',
152
- defaultMessage: 'Email Required'
235
+ id: 'global.addressLine2Required',
236
+ defaultMessage: 'Address Line 2 is required'
153
237
  })}
154
238
  />
155
239
  </Field>
156
- <Password
157
- id="Password"
158
- autoComplete="new-password"
159
- fieldName="password"
160
- isToggleButtonHidden={false}
240
+ <Field
241
+ id="city"
161
242
  label={formatMessage({
162
- id: 'becomeSeller.passwordText',
163
- defaultMessage: 'Password'
243
+ id: 'global.city',
244
+ defaultMessage: 'City'
164
245
  })}
165
- validate={combine([
166
- isRequired,
167
- [hasLengthAtLeast, 8],
168
- validatePassword
169
- ])}
170
- validateOnBlur
171
- mask={value => value && value.trim()}
172
- maskOnBlur={true}
173
- data-cy="password"
174
- aria-label={formatMessage({
175
- id: 'global.passwordRequired',
176
- defaultMessage: 'Password Required'
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="subscribe"
182
- id="subscribe"
286
+ field="become_seller_agreement"
287
+ id="becomeSellerAgreement"
183
288
  label={formatMessage({
184
- id: 'becomeSeller.subscribeText',
185
- defaultMessage: 'Subscribe to news and updates'
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
- email: string,
207
- firstName: string,
208
- lastName: string
310
+ sellerProfileName: string,
311
+ companyName: string
209
312
  }),
210
313
  isCancelButtonHidden: bool,
211
314
  onSubmit: func,
@@ -1,6 +1,5 @@
1
1
  .root {
2
2
  composes: gap-xs from global;
3
- composes: grid from global;
4
3
  composes: justify-items-stretch from global;
5
4
  composes: px-sm from global;
6
5
  composes: py-xs from global;
@@ -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 becomeSellerLabel = "Become a Seller";
12
+ const { formatMessage } = useIntl();
11
13
 
12
- return (
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
- >{becomeSellerLabel}</Link>
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
- return (
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: 'https://seller-local.tcgcollective.co'
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';