@riosst100/pwa-marketplace 3.3.1 → 3.3.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 +1 -0
- package/src/components/AboutUs/aboutUs.css +111 -0
- package/src/components/AboutUs/aboutUs.js +6 -2
- package/src/components/AgeVerificationModal/ageVerificationModal.js +6 -4
- package/src/components/AgeVerificationModal/ageVerificationModal.module.css +23 -4
- package/src/components/LoadingRequest/index.js +1 -0
- package/src/components/LoadingRequest/loadingRequest.js +40 -0
- package/src/components/LoadingRequest/loadingRequest.module.css +150 -0
- package/src/components/PrivacyPolicy/index.js +1 -0
- package/src/components/PrivacyPolicy/privacyPolicy.css +125 -0
- package/src/components/PrivacyPolicy/privacyPolicy.js +13 -0
- package/src/components/SocialLogin/socialLogin.js +5 -55
- package/src/components/TermsOfUse/index.js +1 -0
- package/src/components/TermsOfUse/termsOfUse.css +113 -0
- package/src/components/TermsOfUse/termsOfUse.js +13 -0
- package/src/intercept.js +14 -0
- package/src/overwrites/peregrine/lib/Apollo/links/storeLink.js +34 -0
- package/src/overwrites/peregrine/lib/context/cart.js +13 -1
- package/src/overwrites/peregrine/lib/store/actions/cart/asyncActions.js +15 -3
- package/src/overwrites/peregrine/lib/talons/Adapter/useAdapter.js +7 -4
- package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +19 -1
- package/src/overwrites/peregrine/lib/util/makeUrl.js +132 -0
- package/src/overwrites/venia-ui/lib/components/Adapter/adapter.js +47 -43
- package/src/overwrites/venia-ui/lib/components/Footer/footer.js +2 -2
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/productFAQ.js +82 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +47 -39
- package/src/overwrites/venia-ui/lib/components/SignIn/signIn.js +3 -1
- package/src/overwrites/venia-ui/lib/components/SignInPage/signInPage.js +27 -21
- package/src/overwrites/venia-ui/lib/components/StoreCodeRoute/storeCodeRoute.js +10 -43
- package/src/talons/ProductFAQ/productFaq.gql.js +39 -0
- package/src/talons/ProductFAQ/useProductFAQ.js +48 -0
- package/src/talons/RFQ/useRFQ.js +0 -2
- package/src/talons/SocialLogin/useSocialLogin.js +5 -0
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
module.exports = componentOverrideMapping = {
|
|
2
|
+
['@magento/peregrine/lib/Apollo/links/storeLink.js']: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/Apollo/links/storeLink.js',
|
|
2
3
|
['@magento/peregrine/lib/talons/CreateAccount/useCreateAccount.js']: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/CreateAccount/useCreateAccount.js',
|
|
3
4
|
['@magento/peregrine/lib/talons/CheckoutPage/PaymentInformation/usePaymentMethods.js']: '@riosst100/pwa-marketplace/src/overwrites/peregrine/lib/talons/CheckoutPage/PaymentInformation/usePaymentMethods.js',
|
|
4
5
|
['@magento/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/couponCode.js']: '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/couponCode.js',
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
/* Theme color variables mapped from tcg-theme-preset.js */
|
|
3
|
+
--tcg-color-text: #1B1B1B; /* textColor.colorDefault */
|
|
4
|
+
--tcg-color-link: #3d84ff; /* brand.base */
|
|
5
|
+
--tcg-color-link-hover: #f76b1c; /* brand.dark */
|
|
6
|
+
--tcg-color-border: #E6E9EA; /* gray.100 */
|
|
7
|
+
--tcg-color-table-head-bg: #F8F8F8; /* gray.50 */
|
|
8
|
+
--tcg-color-muted: #999999; /* gray.200 */
|
|
9
|
+
|
|
10
|
+
max-width: 1300px;
|
|
11
|
+
margin: 0 auto;
|
|
12
|
+
padding: 0 1rem;
|
|
13
|
+
color: var(--tcg-color-text);
|
|
14
|
+
}
|
|
15
|
+
@media (min-width: 768px) {
|
|
16
|
+
.root { padding: 0; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Ensure CMS-injected wrapper classes are styled */
|
|
20
|
+
:global(.row-content){
|
|
21
|
+
max-width: 1300px;
|
|
22
|
+
width: 100%;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.root h1,
|
|
27
|
+
.root h2,
|
|
28
|
+
.root h3 {
|
|
29
|
+
margin: 1.25rem 0 0.75rem;
|
|
30
|
+
font-weight: 600;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.root p {
|
|
34
|
+
margin: 0.75rem 0;
|
|
35
|
+
line-height: 1.7;
|
|
36
|
+
color: var(--tcg-color-text);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.root ul,
|
|
40
|
+
.root ol {
|
|
41
|
+
margin: 0.75rem 0 0.75rem 1.25rem;
|
|
42
|
+
padding-left: 1.25rem;
|
|
43
|
+
}
|
|
44
|
+
.root ul { list-style: disc; }
|
|
45
|
+
.root ol { list-style: decimal; }
|
|
46
|
+
.root li { margin: 0.375rem 0; }
|
|
47
|
+
|
|
48
|
+
.root a {
|
|
49
|
+
color: var(--tcg-color-link);
|
|
50
|
+
text-decoration: underline;
|
|
51
|
+
text-underline-offset: 2px;
|
|
52
|
+
}
|
|
53
|
+
.root a:hover { color: var(--tcg-color-link-hover); }
|
|
54
|
+
|
|
55
|
+
.root img {
|
|
56
|
+
max-width: 100%;
|
|
57
|
+
height: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Headings scale */
|
|
61
|
+
.root h1 {
|
|
62
|
+
text-align: center;
|
|
63
|
+
font-size: 1.5rem;
|
|
64
|
+
line-height: 1.3;
|
|
65
|
+
margin: 1.5rem 0 0.75rem;
|
|
66
|
+
}
|
|
67
|
+
@media (min-width: 768px) {
|
|
68
|
+
.root h1 { font-size: 1.75rem; }
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.root h2 {
|
|
72
|
+
font-size: 1.125rem;
|
|
73
|
+
margin: 1.25rem 0 0.5rem;
|
|
74
|
+
}
|
|
75
|
+
@media (min-width: 768px) {
|
|
76
|
+
.root h2 { font-size: 1.25rem; }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.root h3 {
|
|
80
|
+
font-size: 1rem;
|
|
81
|
+
margin: 1rem 0 0.5rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.root hr {
|
|
85
|
+
border: 0;
|
|
86
|
+
border-top: 1px solid var(--tcg-color-border);
|
|
87
|
+
margin: 2rem 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.root table {
|
|
91
|
+
width: 100%;
|
|
92
|
+
border-collapse: collapse;
|
|
93
|
+
margin: 1rem 0;
|
|
94
|
+
}
|
|
95
|
+
.root th,
|
|
96
|
+
.root td {
|
|
97
|
+
border: 1px solid var(--tcg-color-border);
|
|
98
|
+
padding: 0.5rem 0.75rem;
|
|
99
|
+
text-align: left;
|
|
100
|
+
}
|
|
101
|
+
.root thead th {
|
|
102
|
+
background: var(--tcg-color-table-head-bg);
|
|
103
|
+
font-weight: 600;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.root blockquote {
|
|
107
|
+
border-left: 3px solid var(--tcg-color-border);
|
|
108
|
+
padding-left: 1rem;
|
|
109
|
+
color: var(--tcg-color-muted);
|
|
110
|
+
margin: 1rem 0;
|
|
111
|
+
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import CMSPage from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/RootComponents/CMS/cms';
|
|
3
|
-
|
|
3
|
+
import classes from './aboutUs.css';
|
|
4
4
|
|
|
5
5
|
const AboutUs = () => {
|
|
6
|
-
return
|
|
6
|
+
return (
|
|
7
|
+
<div className={classes.root}>
|
|
8
|
+
<CMSPage identifier="about-us" />
|
|
9
|
+
</div>
|
|
10
|
+
);
|
|
7
11
|
}
|
|
8
12
|
|
|
9
13
|
export default AboutUs;
|
|
@@ -38,10 +38,12 @@ const AgeVerificationModal = props => {
|
|
|
38
38
|
<div className={modalClasses.backdrop} />
|
|
39
39
|
<div className={modalClasses.dialog}>
|
|
40
40
|
<div className={modalClasses.body}>
|
|
41
|
-
<div><Icon src={AlertTriangle}
|
|
41
|
+
<div><Icon src={AlertTriangle} classes={{
|
|
42
|
+
icon: modalClasses.icon
|
|
43
|
+
}} attrs={{ width: 40 }} /></div>
|
|
42
44
|
<h2 className={modalClasses.title}>Are you over 18 years old?</h2>
|
|
43
|
-
<p>You must be at least 18 years old to access this page. Please verify your age.</p>
|
|
44
|
-
<label>Your Birthday
|
|
45
|
+
<p style={{"paddingTop": "10px"}}>You must be at least 18 years old to access this page. Please verify your age.</p>
|
|
46
|
+
<label className={modalClasses.formLabel}>Your Birthday:</label>
|
|
45
47
|
<div className={modalClasses.birthday}>
|
|
46
48
|
{/* Month */}
|
|
47
49
|
<select onChange={(e) => setMonth(e.target.value)}>
|
|
@@ -67,7 +69,7 @@ const AgeVerificationModal = props => {
|
|
|
67
69
|
))}
|
|
68
70
|
</select>
|
|
69
71
|
</div>
|
|
70
|
-
{ageVerificationErrorMessage && <div>{ageVerificationErrorMessage}</div>}
|
|
72
|
+
{ageVerificationErrorMessage && <div className={modalClasses.error}>{ageVerificationErrorMessage}</div>}
|
|
71
73
|
<div className={modalClasses.actions}>
|
|
72
74
|
<button className={modalClasses.btnUnder} onClick={handleUnderAge}>I'm under 18 years old</button>
|
|
73
75
|
<button className={modalClasses.btnOver} onClick={handleOverAge}>I'm 18 years old</button>
|
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
text-align: left;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
.formLabel {
|
|
10
|
+
font-weight: 500;
|
|
11
|
+
padding-top: 30px;
|
|
12
|
+
font-size: 13px;
|
|
13
|
+
padding-bottom: 10px;
|
|
14
|
+
}
|
|
15
|
+
|
|
9
16
|
/* Birthday selects */
|
|
10
17
|
.birthday {
|
|
11
18
|
display: flex;
|
|
@@ -28,7 +35,7 @@
|
|
|
28
35
|
|
|
29
36
|
.btnUnder {
|
|
30
37
|
flex: 1;
|
|
31
|
-
padding: 10px;
|
|
38
|
+
/* padding: 10px; */
|
|
32
39
|
border: none;
|
|
33
40
|
border-radius: 6px;
|
|
34
41
|
color: white;
|
|
@@ -38,7 +45,7 @@
|
|
|
38
45
|
|
|
39
46
|
.btnOver {
|
|
40
47
|
flex: 1;
|
|
41
|
-
padding: 10px;
|
|
48
|
+
/* padding: 10px; */
|
|
42
49
|
border: none;
|
|
43
50
|
border-radius: 6px;
|
|
44
51
|
color: white;
|
|
@@ -98,7 +105,7 @@
|
|
|
98
105
|
font-size:20px;
|
|
99
106
|
font-weight:600;
|
|
100
107
|
margin:0;
|
|
101
|
-
color
|
|
108
|
+
color:red;
|
|
102
109
|
}
|
|
103
110
|
.closeBtn{
|
|
104
111
|
background:none;
|
|
@@ -110,12 +117,24 @@
|
|
|
110
117
|
padding:4px 8px;
|
|
111
118
|
border-radius:6px
|
|
112
119
|
}
|
|
120
|
+
.error {
|
|
121
|
+
color: red;
|
|
122
|
+
padding: 10px;
|
|
123
|
+
font-size: 13px;
|
|
124
|
+
margin-top: -20px;
|
|
125
|
+
margin-bottom: 20px;
|
|
126
|
+
}
|
|
113
127
|
.closeBtn:hover{
|
|
114
128
|
background:#f5f5f5;
|
|
115
129
|
color:#222
|
|
116
130
|
}
|
|
131
|
+
.icon {
|
|
132
|
+
--stroke: red;
|
|
133
|
+
stroke: red;
|
|
134
|
+
color: red;
|
|
135
|
+
}
|
|
117
136
|
.body{
|
|
118
|
-
padding:
|
|
137
|
+
padding: 30px 50px;
|
|
119
138
|
overflow: auto;
|
|
120
139
|
display: flex;
|
|
121
140
|
flex-direction: column;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './loadingRequest';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ReactDOM from 'react-dom';
|
|
3
|
+
import modalClasses from './loadingRequest.module.css';
|
|
4
|
+
|
|
5
|
+
// Simple portal root fallback
|
|
6
|
+
const getPortalRoot = () => {
|
|
7
|
+
let root = document.getElementById('loading-request-portal');
|
|
8
|
+
if (!root) {
|
|
9
|
+
root = document.createElement('div');
|
|
10
|
+
root.id = 'loading-request-portal';
|
|
11
|
+
document.body.appendChild(root);
|
|
12
|
+
}
|
|
13
|
+
return root;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const LoadingRequest = props => {
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
isLoading
|
|
20
|
+
} = props;
|
|
21
|
+
|
|
22
|
+
const modal = isLoading ? (
|
|
23
|
+
<div className={modalClasses.overlay} role="dialog" aria-modal="true" aria-label="Modal">
|
|
24
|
+
<div className={modalClasses.backdrop} />
|
|
25
|
+
<div className={modalClasses.dialog}>
|
|
26
|
+
<div className={modalClasses.body}>
|
|
27
|
+
<img src={process.env.MAGENTO_BACKEND_URL + "/media/images/spinner2.gif"} style={{"width":"15%"}} />
|
|
28
|
+
<div style={{
|
|
29
|
+
"marginTop": "10px",
|
|
30
|
+
"color": "white"
|
|
31
|
+
}}>Please wait...</div>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
) : null;
|
|
36
|
+
|
|
37
|
+
return <>{isLoading ? ReactDOM.createPortal(modal, getPortalRoot()) : null}</>;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default LoadingRequest;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
.modal label {
|
|
2
|
+
display: block;
|
|
3
|
+
font-size: 14px;
|
|
4
|
+
font-weight: bold;
|
|
5
|
+
margin-bottom: 8px;
|
|
6
|
+
text-align: left;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Birthday selects */
|
|
10
|
+
.birthday {
|
|
11
|
+
display: flex;
|
|
12
|
+
gap: 10px;
|
|
13
|
+
margin-bottom: 20px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.birthday select {
|
|
17
|
+
flex: 1;
|
|
18
|
+
padding: 8px;
|
|
19
|
+
border-radius: 6px;
|
|
20
|
+
border: 1px solid #ccc;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Buttons */
|
|
24
|
+
.actions {
|
|
25
|
+
display: flex;
|
|
26
|
+
gap: 10px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.btnUnder {
|
|
30
|
+
flex: 1;
|
|
31
|
+
padding: 10px;
|
|
32
|
+
border: none;
|
|
33
|
+
border-radius: 6px;
|
|
34
|
+
color: white;
|
|
35
|
+
font-size: 14px;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.btnOver {
|
|
40
|
+
flex: 1;
|
|
41
|
+
padding: 10px;
|
|
42
|
+
border: none;
|
|
43
|
+
border-radius: 6px;
|
|
44
|
+
color: white;
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.btnUnder {
|
|
50
|
+
background: #ef4444;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.btnOver {
|
|
54
|
+
background: #22c55e;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.btnOver:hover {
|
|
58
|
+
opacity: 0.9;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.btnUnder:hover {
|
|
62
|
+
opacity: 0.9;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.overlay{
|
|
66
|
+
position:fixed;
|
|
67
|
+
inset:0;
|
|
68
|
+
display:flex;
|
|
69
|
+
padding:5vh 24px;
|
|
70
|
+
font-family:inherit;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
z-index: 9999;
|
|
74
|
+
}
|
|
75
|
+
.backdrop{
|
|
76
|
+
position:absolute;
|
|
77
|
+
inset:0;
|
|
78
|
+
background: rgba(0, 0, 0, 0.64);
|
|
79
|
+
backdrop-filter: blur(8px);
|
|
80
|
+
}
|
|
81
|
+
.dialog{
|
|
82
|
+
position:relative;
|
|
83
|
+
width:clamp(320px,80vw,500px);
|
|
84
|
+
display:flex;
|
|
85
|
+
flex-direction:column
|
|
86
|
+
}
|
|
87
|
+
.header{
|
|
88
|
+
display:flex;
|
|
89
|
+
align-items:center;
|
|
90
|
+
justify-content:space-between;
|
|
91
|
+
padding:16px 20px;
|
|
92
|
+
border-bottom:1px solid #eee
|
|
93
|
+
}
|
|
94
|
+
.title{
|
|
95
|
+
font-size:20px;
|
|
96
|
+
font-weight:600;
|
|
97
|
+
margin:0;
|
|
98
|
+
color:#333
|
|
99
|
+
}
|
|
100
|
+
.closeBtn{
|
|
101
|
+
background:none;
|
|
102
|
+
border:none;
|
|
103
|
+
font-size:24px;
|
|
104
|
+
line-height:1;
|
|
105
|
+
cursor:pointer;
|
|
106
|
+
color:#777;
|
|
107
|
+
padding:4px 8px;
|
|
108
|
+
border-radius:6px
|
|
109
|
+
}
|
|
110
|
+
.closeBtn:hover{
|
|
111
|
+
background:#f5f5f5;
|
|
112
|
+
color:#222
|
|
113
|
+
}
|
|
114
|
+
.body{
|
|
115
|
+
padding: 20px 50px;
|
|
116
|
+
overflow: auto;
|
|
117
|
+
display: flex;
|
|
118
|
+
flex-direction: column;
|
|
119
|
+
text-align: center;
|
|
120
|
+
flex-wrap: wrap;
|
|
121
|
+
align-content: center;
|
|
122
|
+
}
|
|
123
|
+
.triggerBtn{
|
|
124
|
+
background:#f76b1c;
|
|
125
|
+
color:#fff;
|
|
126
|
+
border:none;
|
|
127
|
+
padding:10px 18px;
|
|
128
|
+
border-radius:8px;
|
|
129
|
+
font-weight:600;
|
|
130
|
+
cursor:pointer
|
|
131
|
+
}
|
|
132
|
+
.triggerBtn:hover{
|
|
133
|
+
background:#f26313
|
|
134
|
+
}
|
|
135
|
+
/* Vertical stack wrapper for existing sellerCoupon card styles */
|
|
136
|
+
.stack{
|
|
137
|
+
display:flex;
|
|
138
|
+
flex-direction:column;
|
|
139
|
+
gap:16px;
|
|
140
|
+
padding:4px 2px 12px;
|
|
141
|
+
}
|
|
142
|
+
@media (max-width:640px){
|
|
143
|
+
.dialog{
|
|
144
|
+
width:92vw;
|
|
145
|
+
padding-bottom:8px
|
|
146
|
+
}
|
|
147
|
+
.grid{
|
|
148
|
+
grid-template-columns:repeat(auto-fill,minmax(160px,1fr))
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {default} from './privacyPolicy';
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
/* Theme color variables mapped from tcg-theme-preset.js */
|
|
3
|
+
--tcg-color-text: #1B1B1B; /* textColor.colorDefault */
|
|
4
|
+
--tcg-color-link: #3d84ff; /* brand.base */
|
|
5
|
+
--tcg-color-link-hover: #f76b1c; /* brand.dark */
|
|
6
|
+
--tcg-color-border: #E6E9EA; /* gray.100 */
|
|
7
|
+
--tcg-color-table-head-bg: #F8F8F8; /* gray.50 */
|
|
8
|
+
--tcg-color-muted: #999999; /* gray.200 */
|
|
9
|
+
|
|
10
|
+
max-width: 1300px;
|
|
11
|
+
margin: 0 auto;
|
|
12
|
+
padding: 0 1rem;
|
|
13
|
+
color: var(--tcg-color-text);
|
|
14
|
+
}
|
|
15
|
+
:global(.row-content){
|
|
16
|
+
max-width: 1300px;
|
|
17
|
+
width: 100%;
|
|
18
|
+
margin: 0 auto;
|
|
19
|
+
}
|
|
20
|
+
@media (min-width: 768px) {
|
|
21
|
+
.root { padding: 0; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.root h1,
|
|
25
|
+
.root h2,
|
|
26
|
+
.root h3 {
|
|
27
|
+
margin: 1.25rem 0 0.75rem;
|
|
28
|
+
font-weight: 600;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.root p {
|
|
32
|
+
margin: 0.75rem 0;
|
|
33
|
+
line-height: 1.7;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.root ul,
|
|
37
|
+
.root ol {
|
|
38
|
+
margin: 0.75rem 0 0.75rem 1.25rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.root a {
|
|
42
|
+
color: var(--tcg-color-link);
|
|
43
|
+
text-decoration: underline;
|
|
44
|
+
}
|
|
45
|
+
.root a:hover {
|
|
46
|
+
color: var(--tcg-color-link-hover);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.root img {
|
|
50
|
+
max-width: 100%;
|
|
51
|
+
height: auto;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Enhanced typography & layout for CMS content */
|
|
55
|
+
.root > :first-child { margin-top: 0; }
|
|
56
|
+
.root > :last-child { margin-bottom: 0; }
|
|
57
|
+
|
|
58
|
+
.root h1 {
|
|
59
|
+
text-align: center;
|
|
60
|
+
font-size: 1.5rem;
|
|
61
|
+
line-height: 1.3;
|
|
62
|
+
margin: 1.5rem 0 0.75rem;
|
|
63
|
+
}
|
|
64
|
+
@media (min-width: 768px) {
|
|
65
|
+
.root h1 { font-size: 1.75rem; }
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.root h2 {
|
|
69
|
+
font-size: 1.125rem;
|
|
70
|
+
margin: 1.25rem 0 0.5rem;
|
|
71
|
+
}
|
|
72
|
+
@media (min-width: 768px) {
|
|
73
|
+
.root h2 { font-size: 1.25rem; }
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.root h3 {
|
|
77
|
+
font-size: 1rem;
|
|
78
|
+
margin: 1rem 0 0.5rem;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.root p {
|
|
82
|
+
color: var(--tcg-color-text);
|
|
83
|
+
line-height: 1.8;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.root ul,
|
|
87
|
+
.root ol {
|
|
88
|
+
padding-left: 1.25rem;
|
|
89
|
+
}
|
|
90
|
+
.root ul { list-style: disc; }
|
|
91
|
+
.root ol { list-style: decimal; }
|
|
92
|
+
.root li { margin: 0.375rem 0; }
|
|
93
|
+
|
|
94
|
+
.root a {
|
|
95
|
+
text-underline-offset: 2px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.root hr {
|
|
99
|
+
border: 0;
|
|
100
|
+
border-top: 1px solid var(--tcg-color-border);
|
|
101
|
+
margin: 2rem 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.root table {
|
|
105
|
+
width: 100%;
|
|
106
|
+
border-collapse: collapse;
|
|
107
|
+
margin: 1rem 0;
|
|
108
|
+
}
|
|
109
|
+
.root th,
|
|
110
|
+
.root td {
|
|
111
|
+
border: 1px solid var(--tcg-color-border);
|
|
112
|
+
padding: 0.5rem 0.75rem;
|
|
113
|
+
text-align: left;
|
|
114
|
+
}
|
|
115
|
+
.root thead th {
|
|
116
|
+
background: var(--tcg-color-table-head-bg);
|
|
117
|
+
font-weight: 600;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.root blockquote {
|
|
121
|
+
border-left: 3px solid var(--tcg-color-border);
|
|
122
|
+
padding-left: 1rem;
|
|
123
|
+
color: var(--tcg-color-muted);
|
|
124
|
+
margin: 1rem 0;
|
|
125
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import CMSPage from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/RootComponents/CMS/cms';
|
|
3
|
+
import classes from './privacyPolicy.css';
|
|
4
|
+
|
|
5
|
+
const PrivacyPolicy = () => {
|
|
6
|
+
return (
|
|
7
|
+
<div className={classes.root}>
|
|
8
|
+
<CMSPage identifier="privacy-policy" />
|
|
9
|
+
</div>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default PrivacyPolicy;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import React, {useState} from 'react';
|
|
2
|
-
import Button from '@magento/venia-ui/lib/components/Button';
|
|
3
|
-
import Image from '@magento/venia-ui/lib/components/Image';
|
|
4
|
-
import GoogleIcon from './img/google.svg';
|
|
5
|
-
import FacebookIcon from './img/facebook.svg';
|
|
6
|
-
import InstagramIcon from './img/instagram.svg';
|
|
7
|
-
import WechatIcon from './img/wechat.svg';
|
|
8
|
-
import WeiboIcon from './img/weibo.svg';
|
|
9
2
|
import GoogleSignInButton from './googleSignInButton'
|
|
10
3
|
import { useSocialLogin } from '@riosst100/pwa-marketplace/src/talons/SocialLogin/useSocialLogin';
|
|
4
|
+
import LoadingRequest from '@riosst100/pwa-marketplace/src/components/LoadingRequest';
|
|
11
5
|
|
|
12
6
|
const SocialLogin = () => {
|
|
13
7
|
const [jwtToken, setJwtToken] = useState(null);
|
|
@@ -16,58 +10,14 @@ const SocialLogin = () => {
|
|
|
16
10
|
jwtToken
|
|
17
11
|
});
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// handleEnterKeyPress,
|
|
23
|
-
// signinHandleEnterKeyPress,
|
|
24
|
-
// handleForgotPassword,
|
|
25
|
-
// forgotPasswordHandleEnterKeyPress,
|
|
26
|
-
// handleSubmit,
|
|
27
|
-
// isBusy,
|
|
28
|
-
// setFormApi,
|
|
29
|
-
// recaptchaWidgetProps
|
|
30
|
-
// } = talonProps;
|
|
13
|
+
const {
|
|
14
|
+
isLoading
|
|
15
|
+
} = talonProps;
|
|
31
16
|
|
|
32
17
|
return (
|
|
33
18
|
<div className='relative flex w-full justify-center items-center'>
|
|
19
|
+
<LoadingRequest isLoading={isLoading} />
|
|
34
20
|
<GoogleSignInButton setToken={setJwtToken} />
|
|
35
|
-
{/* <Button
|
|
36
|
-
className="shadow-type-1 p-[14px] rounded-full w-[52px] h-[52px]"
|
|
37
|
-
>
|
|
38
|
-
<Image
|
|
39
|
-
alt='facebook'
|
|
40
|
-
className="relative"
|
|
41
|
-
src={FacebookIcon}
|
|
42
|
-
/>
|
|
43
|
-
</Button>
|
|
44
|
-
<Button
|
|
45
|
-
className="shadow-type-1 p-[14px] rounded-full w-[52px] h-[52px]"
|
|
46
|
-
>
|
|
47
|
-
<Image
|
|
48
|
-
alt='instagram'
|
|
49
|
-
className="relative"
|
|
50
|
-
src={InstagramIcon}
|
|
51
|
-
/>
|
|
52
|
-
</Button>
|
|
53
|
-
<Button
|
|
54
|
-
className="shadow-type-1 p-[14px] rounded-full w-[52px] h-[52px]"
|
|
55
|
-
>
|
|
56
|
-
<Image
|
|
57
|
-
alt='wechat'
|
|
58
|
-
className="relative"
|
|
59
|
-
src={WechatIcon}
|
|
60
|
-
/>
|
|
61
|
-
</Button>
|
|
62
|
-
<Button
|
|
63
|
-
className="shadow-type-1 p-[14px] rounded-full w-[52px] h-[52px]"
|
|
64
|
-
>
|
|
65
|
-
<Image
|
|
66
|
-
alt='weibo'
|
|
67
|
-
className="relative"
|
|
68
|
-
src={WeiboIcon}
|
|
69
|
-
/>
|
|
70
|
-
</Button> */}
|
|
71
21
|
</div>
|
|
72
22
|
)
|
|
73
23
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {default} from './termsOfUse';
|