@riosst100/pwa-marketplace 2.7.7 → 2.7.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.
- package/package.json +1 -1
- package/src/components/LinkToOtherStores/index.js +3 -3
- package/src/components/SellerProducts/productContent.js +1 -1
- package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenu.js +1 -1
- package/src/overwrites/venia-ui/lib/components/Breadcrumbs/breadcrumbs.module.css +2 -2
- package/src/overwrites/venia-ui/lib/components/Header/header.js +4 -4
- package/src/overwrites/venia-ui/lib/components/Header/header.module.css +173 -0
- package/src/overwrites/venia-ui/lib/components/Main/main.module.css +1 -1
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +1 -1
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/customAttributes.js +1 -1
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +79 -68
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.module.css +18 -0
- package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/carousel.module.css +2 -1
package/package.json
CHANGED
|
@@ -46,7 +46,7 @@ const LinkToOtherStores = (props) => {
|
|
|
46
46
|
if (store.product_link) {
|
|
47
47
|
const logo = getLogo(store.stores);
|
|
48
48
|
finalLinkToOtherStores.push(
|
|
49
|
-
<a href={store.product_link} className='platform_logo-wrapper rounded-md px-5 py-2.5 border border-gray-100 flex items-center' target="_blank">
|
|
49
|
+
<a href={store.product_link} className='platform_logo-wrapper rounded-md px-5 py-2.5 border border-gray-100 flex items-center w-full justify-center' target="_blank">
|
|
50
50
|
{logo ? <img
|
|
51
51
|
alt={store.stores}
|
|
52
52
|
width={60}
|
|
@@ -61,10 +61,10 @@ const LinkToOtherStores = (props) => {
|
|
|
61
61
|
|
|
62
62
|
return finalLinkToOtherStores && finalLinkToOtherStores.length ? <>
|
|
63
63
|
<section className='product_from-other-platform py-xs'>
|
|
64
|
-
<div className='title-section text-gray-400 text-sm flex mb-3
|
|
64
|
+
<div className='title-section text-gray-400 text-sm flex mb-3 px-[15px]'>
|
|
65
65
|
Also available in
|
|
66
66
|
</div>
|
|
67
|
-
<div className='content-section platform-container flex gap-x-2.5 pl-[1rem]'>
|
|
67
|
+
<div className='content-section platform-container flex gap-x-2.5 pl-[1rem] px-[15px] justify-between'>
|
|
68
68
|
{finalLinkToOtherStores}
|
|
69
69
|
</div>
|
|
70
70
|
</section>
|
|
@@ -249,7 +249,7 @@ const ProductContent = props => {
|
|
|
249
249
|
<>
|
|
250
250
|
<div className='w-full mb-[30px]'>
|
|
251
251
|
<SellerMegaMenu
|
|
252
|
-
rootClassName={cn('nav-menu w-full max-w-[
|
|
252
|
+
rootClassName={cn('nav-menu w-full max-w-[1300px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
|
|
253
253
|
sellerMegaMenuItemClassname={cn('px-0 py-[10px] leading-[20px]')}
|
|
254
254
|
seller={seller}
|
|
255
255
|
titleClassName={cn('font-normal leading-[20px]')}
|
|
@@ -87,7 +87,7 @@ const AccountMenu = React.forwardRef((props, ref) => {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
return (
|
|
90
|
-
<aside className={cn(rootClass, '!top-[57px] max-w-[
|
|
90
|
+
<aside className={cn(rootClass, '!top-[57px] max-w-[1300px]')} data-cy="AccountMenu-root">
|
|
91
91
|
<div ref={ref} className={contentsClass}>
|
|
92
92
|
{accountMenuIsOpen ? dropdownContents : null}
|
|
93
93
|
</div>
|
|
@@ -12,7 +12,7 @@ import { useHeader } from '@magento/peregrine/lib/talons/Header/useHeader';
|
|
|
12
12
|
import resourceUrl from '@magento/peregrine/lib/util/makeUrl';
|
|
13
13
|
|
|
14
14
|
import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
15
|
-
import defaultClasses from '
|
|
15
|
+
import defaultClasses from './header.module.css';
|
|
16
16
|
import StoreSwitcher from '@magento/venia-ui/lib/components/Header/storeSwitcher';
|
|
17
17
|
import WebsiteSwitcher from '@riosst100/pwa-marketplace/src/components/WebsiteSwitcher/websiteSwitcher';
|
|
18
18
|
// import CurrencySwitcher from '@magento/venia-ui/lib/components/Header/currencySwitcher';
|
|
@@ -76,7 +76,7 @@ const Header = props => {
|
|
|
76
76
|
<Fragment>
|
|
77
77
|
<PageLoadingIndicator absolute />
|
|
78
78
|
<div className={cn(classes.switchersContainer, '!bg-white border-b border-gray-100')}>
|
|
79
|
-
<div className={cn(classes.switchers, 'flex flex-row gap-x-[25px] !py-2')} data-cy="Header-switchers">
|
|
79
|
+
<div className={cn(classes.switchers, 'max-w-[1300px] flex flex-row gap-x-[25px] !py-2')} data-cy="Header-switchers">
|
|
80
80
|
<BecomeSellerLink />
|
|
81
81
|
<WebsiteSwitcher />
|
|
82
82
|
<StoreSwitcher />
|
|
@@ -85,7 +85,7 @@ const Header = props => {
|
|
|
85
85
|
</div>
|
|
86
86
|
<header className={cn(rootClass, '!flex flex-col !px-0 border-gray-100 ')} data-cy="Header-root">
|
|
87
87
|
<div className={cn('middle-header border-b border-gray-100')}>
|
|
88
|
-
<div className={cn('w-full max-w-[
|
|
88
|
+
<div className={cn('w-full max-w-[1300px] px-[15px] py-[10px] mx-[auto] flex justify-between items-center')}>
|
|
89
89
|
<div className='flex items-center'>
|
|
90
90
|
<NavTrigger />
|
|
91
91
|
|
|
@@ -138,7 +138,7 @@ const Header = props => {
|
|
|
138
138
|
</div>
|
|
139
139
|
</div>
|
|
140
140
|
<MegaMenu
|
|
141
|
-
rootClassName={cn('nav-menu w-full max-w-[
|
|
141
|
+
rootClassName={cn('nav-menu w-full max-w-[1300px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
|
|
142
142
|
megaMenuItemClassname={cn('px-0 py-[10px] leading-[20px]')}
|
|
143
143
|
titleClassName={cn('font-normal leading-[20px]')}
|
|
144
144
|
/>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
composes: auto-cols-fr from global;
|
|
3
|
+
composes: bg-header from global;
|
|
4
|
+
composes: border-b from global;
|
|
5
|
+
composes: border-subtle from global;
|
|
6
|
+
composes: grid from global;
|
|
7
|
+
composes: h-auto from global;
|
|
8
|
+
composes: justify-center from global;
|
|
9
|
+
composes: px-4 from global;
|
|
10
|
+
composes: top-0 from global;
|
|
11
|
+
composes: sticky from global;
|
|
12
|
+
composes: w-full from global;
|
|
13
|
+
composes: z-header from global;
|
|
14
|
+
|
|
15
|
+
composes: lg_px-8 from global;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.switchers {
|
|
19
|
+
composes: auto-cols-max from global;
|
|
20
|
+
composes: grid from global;
|
|
21
|
+
composes: grid-flow-col from global;
|
|
22
|
+
composes: justify-end from global;
|
|
23
|
+
/* composes: max-w-site from global; */
|
|
24
|
+
composes: mx-auto from global;
|
|
25
|
+
composes: relative from global;
|
|
26
|
+
composes: w-full from global;
|
|
27
|
+
composes: z-menu from global;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.switchersContainer {
|
|
31
|
+
composes: bg-gray-100 from global;
|
|
32
|
+
composes: hidden from global;
|
|
33
|
+
composes: px-8 from global;
|
|
34
|
+
composes: w-full from global;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Large screen styles */
|
|
38
|
+
.switchersContainer {
|
|
39
|
+
composes: sm_block from global;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.open {
|
|
43
|
+
composes: root;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.closed {
|
|
47
|
+
composes: root;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.toolbar {
|
|
51
|
+
composes: border-0 from global;
|
|
52
|
+
composes: content-center from global;
|
|
53
|
+
composes: gap-x-4 from global;
|
|
54
|
+
composes: grid from global;
|
|
55
|
+
composes: grid-cols-3 from global;
|
|
56
|
+
composes: grid-rows-header from global;
|
|
57
|
+
composes: h-14 from global;
|
|
58
|
+
composes: items-center from global;
|
|
59
|
+
composes: justify-self-center from global;
|
|
60
|
+
composes: max-w-site from global;
|
|
61
|
+
composes: w-full from global;
|
|
62
|
+
composes: z-header from global;
|
|
63
|
+
|
|
64
|
+
composes: lg_h-20 from global;
|
|
65
|
+
composes: lg_gap-x-8 from global;
|
|
66
|
+
composes: lg_grid-cols-12 from global;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.logo {
|
|
70
|
+
height: var(--height);
|
|
71
|
+
width: var(--width);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.primaryActions {
|
|
75
|
+
composes: col-start-1 from global;
|
|
76
|
+
composes: grid from global;
|
|
77
|
+
composes: grid-flow-col from global;
|
|
78
|
+
composes: justify-self-start from global;
|
|
79
|
+
composes: row-start-1 from global;
|
|
80
|
+
composes: self-center from global;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.logoContainer {
|
|
84
|
+
composes: col-start-2 from global;
|
|
85
|
+
composes: justify-self-center from global;
|
|
86
|
+
|
|
87
|
+
composes: lg_col-end-3 from global;
|
|
88
|
+
composes: lg_col-start-1 from global;
|
|
89
|
+
composes: lg_justify-self-start from global;
|
|
90
|
+
composes: lg_mr-8 from global;
|
|
91
|
+
composes: lg_row-start-1 from global;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.secondaryActions {
|
|
95
|
+
composes: col-start-3 from global;
|
|
96
|
+
composes: grid from global;
|
|
97
|
+
composes: grid-flow-col from global;
|
|
98
|
+
composes: items-center from global;
|
|
99
|
+
composes: justify-items-end from global;
|
|
100
|
+
composes: justify-self-end from global;
|
|
101
|
+
composes: w-max from global;
|
|
102
|
+
|
|
103
|
+
composes: lg_col-end-13 from global;
|
|
104
|
+
composes: lg_col-start-10 from global;
|
|
105
|
+
composes: lg_gap-x-4 from global;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.searchFallback {
|
|
109
|
+
composes: flex from global;
|
|
110
|
+
composes: justify-center from global;
|
|
111
|
+
composes: mb-2 from global;
|
|
112
|
+
composes: px-4 from global;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.input {
|
|
116
|
+
composes: input from '../TextInput/textInput.module.css';
|
|
117
|
+
|
|
118
|
+
@apply max-w-sm;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.loader,
|
|
122
|
+
.loaderBefore,
|
|
123
|
+
.loaderAfter {
|
|
124
|
+
--dot-size: 2em;
|
|
125
|
+
--dot-font-size: 6px;
|
|
126
|
+
--dot-shadow-offset: calc(-1 * var(--dot-size) + var(--dot-font-size));
|
|
127
|
+
|
|
128
|
+
composes: rounded-full from global;
|
|
129
|
+
width: var(--dot-size);
|
|
130
|
+
height: var(--dot-size);
|
|
131
|
+
animation: pulse 1.8s infinite ease-in-out;
|
|
132
|
+
animation-fill-mode: both;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.loader {
|
|
136
|
+
composes: mb-0 from global;
|
|
137
|
+
composes: mx-auto from global;
|
|
138
|
+
composes: relative from global;
|
|
139
|
+
composes: text-subtle from global;
|
|
140
|
+
font-size: var(--dot-font-size);
|
|
141
|
+
margin-top: var(--dot-shadow-offset);
|
|
142
|
+
transform: translateZ(0);
|
|
143
|
+
animation-delay: -0.16s;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.loaderBefore,
|
|
147
|
+
.loaderAfter {
|
|
148
|
+
composes: content-empty from global;
|
|
149
|
+
composes: absolute from global;
|
|
150
|
+
composes: top-0 from global;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.loaderBefore {
|
|
154
|
+
composes: left-[-3.5em] from global;
|
|
155
|
+
composes: text-gray-100 from global;
|
|
156
|
+
animation-delay: -0.32s;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.loaderAfter {
|
|
160
|
+
composes: left-[3.5em] from global;
|
|
161
|
+
composes: text-gray-600 from global;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
@keyframes pulse {
|
|
165
|
+
0%,
|
|
166
|
+
80%,
|
|
167
|
+
100% {
|
|
168
|
+
box-shadow: 0 var(--dot-size) 0 -1.3em;
|
|
169
|
+
}
|
|
170
|
+
40% {
|
|
171
|
+
box-shadow: 0 var(--dot-size) 0 0;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -24,7 +24,7 @@ const CustomAttributes = props => {
|
|
|
24
24
|
const attributeContent = (
|
|
25
25
|
<li
|
|
26
26
|
key={currentAttribute.attribute_metadata.uid}
|
|
27
|
-
className={cn(classes.listItem, '!text-[14px] py-
|
|
27
|
+
className={cn(classes.listItem, '!text-[14px] py-2')}
|
|
28
28
|
>
|
|
29
29
|
<AttributeType
|
|
30
30
|
showLabels={showLabels}
|
|
@@ -22,7 +22,7 @@ import cn from 'classnames';
|
|
|
22
22
|
import Tabs from '@riosst100/pwa-marketplace/src/components/commons/Tabs';
|
|
23
23
|
import ProductReviews from './components/productReview';
|
|
24
24
|
import RichText from '@magento/venia-ui/lib/components/RichText';
|
|
25
|
-
import { Star1, Verify, Sms, Message, Shop } from 'iconsax-react';
|
|
25
|
+
import { Star1, Verify, Sms, Message, Shop, ArrowUp2 } from 'iconsax-react';
|
|
26
26
|
import { Link } from "react-router-dom";
|
|
27
27
|
import Divider from '@riosst100/pwa-marketplace/src/components/Divider';
|
|
28
28
|
|
|
@@ -216,12 +216,11 @@ const ProductFullDetail = props => {
|
|
|
216
216
|
);
|
|
217
217
|
// Error message for screen reader
|
|
218
218
|
const cartActionContent = isSupportedProductType ? (
|
|
219
|
-
<section className={cn(classes.actButton, 'flex gap-x-[20px] px-[
|
|
219
|
+
<section className={cn(classes.actButton, 'justify-between flex gap-x-[20px] px-[15px] py-0')}>
|
|
220
220
|
<RFQ
|
|
221
221
|
disabled={isAddToCartDisabled}
|
|
222
|
-
classes={{ rfqButton: classes.rfqButton }}
|
|
222
|
+
classes={{ rfqButton: cn(classes.rfqButton, "w-full") }}
|
|
223
223
|
/>
|
|
224
|
-
|
|
225
224
|
<Button
|
|
226
225
|
data-cy="ProductFullDetail-addToCartButton"
|
|
227
226
|
disabled={isAddToCartDisabled}
|
|
@@ -237,7 +236,7 @@ const ProductFullDetail = props => {
|
|
|
237
236
|
}
|
|
238
237
|
classes={{
|
|
239
238
|
rootClass: '!px-0 !py-3',
|
|
240
|
-
content: 'normal-case font-medium text-[14px]'
|
|
239
|
+
content: 'w-full normal-case font-medium text-[14px]'
|
|
241
240
|
}}
|
|
242
241
|
priority="high"
|
|
243
242
|
type="submit"
|
|
@@ -291,9 +290,9 @@ const ProductFullDetail = props => {
|
|
|
291
290
|
</div>
|
|
292
291
|
);
|
|
293
292
|
|
|
294
|
-
const ProductMoreInfo = (
|
|
293
|
+
const ProductMoreInfo = () => (
|
|
295
294
|
<>
|
|
296
|
-
<div className={cn(contentContainerClass,
|
|
295
|
+
<div className={cn(contentContainerClass, classes.contentContainerTabOverride)}>
|
|
297
296
|
<CustomAttributes
|
|
298
297
|
customAttributes={customAttributesDetails.list}
|
|
299
298
|
classes={{ list: classes.customAttributesList }}
|
|
@@ -385,11 +384,14 @@ const ProductFullDetail = props => {
|
|
|
385
384
|
return attr.entered_attribute_value?.value || "";
|
|
386
385
|
};
|
|
387
386
|
|
|
388
|
-
|
|
389
387
|
const setNameValue = getAttributeValue(customAttributesDetails, "card_set", true);
|
|
390
|
-
const
|
|
391
|
-
|
|
392
|
-
const
|
|
388
|
+
const cardNameValue = getAttributeValue(customAttributesDetails, "card_name", true);
|
|
389
|
+
const cardNumberValue = getAttributeValue(customAttributesDetails, "card_number", true);
|
|
390
|
+
const rarityValue = getAttributeValue(customAttributesDetails, "card_rarity", true);
|
|
391
|
+
const featureValue = getAttributeValue(customAttributesDetails, "card_feature", true);
|
|
392
|
+
const conditionValue = getAttributeValue(customAttributesDetails, "card_condition", true);
|
|
393
|
+
const foilValue = getAttributeValue(customAttributesDetails, "card_foil", true);
|
|
394
|
+
const ExpandableSection = ({ children, maxHeight = 480 }) => {
|
|
393
395
|
const [expanded, setExpanded] = useState(false);
|
|
394
396
|
const [showButton, setShowButton] = useState(false);
|
|
395
397
|
const contentRef = useRef(null);
|
|
@@ -417,50 +419,54 @@ const ProductFullDetail = props => {
|
|
|
417
419
|
const isDesktop = typeof window !== "undefined" && window.innerWidth >= 769;
|
|
418
420
|
|
|
419
421
|
return (
|
|
420
|
-
|
|
421
|
-
<div
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
{isDesktop && !expanded && showButton && (
|
|
436
|
-
<div className="absolute bottom-0 left-0 w-full h-16 bg-gradient-to-t to-transparent pointer-events-none" />
|
|
437
|
-
)}
|
|
422
|
+
<>
|
|
423
|
+
<div className="relative">
|
|
424
|
+
<div
|
|
425
|
+
ref={contentRef}
|
|
426
|
+
style={{
|
|
427
|
+
maxHeight:
|
|
428
|
+
isDesktop && showButton && !expanded
|
|
429
|
+
? `${maxHeight}px`
|
|
430
|
+
: "none",
|
|
431
|
+
overflow: "hidden",
|
|
432
|
+
transition: "max-height 0.3s ease"
|
|
433
|
+
}}
|
|
434
|
+
>
|
|
435
|
+
{children}
|
|
436
|
+
</div>
|
|
438
437
|
|
|
438
|
+
{isDesktop && !expanded && showButton && (
|
|
439
|
+
<div className={cn("absolute bottom-0 left-0 w-full h-16 bg-gradient-to-t to-transparent pointer-events-none", classes.productDetailsMaxContent)}/>
|
|
440
|
+
)}
|
|
441
|
+
</div>
|
|
439
442
|
{isDesktop && showButton && (
|
|
440
443
|
<button
|
|
441
444
|
type="button"
|
|
442
445
|
onClick={() => setExpanded(!expanded)}
|
|
443
|
-
className="mt-
|
|
446
|
+
className="mt-0 text-[14px] text-blue-600 font-medium underline focus:outline-none"
|
|
444
447
|
>
|
|
445
|
-
{expanded ? "Show Less" : "Read More"}
|
|
448
|
+
{expanded ? "Show Less" : "Read More"} <ArrowUp2 size="14" style={{
|
|
449
|
+
"display": "inline-block",
|
|
450
|
+
"marginLeft": "5px"
|
|
451
|
+
}} className={cn(expanded ? 'rotate-0 ' : 'rotate-180', 'transition-all stroke-current')} variant="Outline" />
|
|
446
452
|
</button>
|
|
447
453
|
)}
|
|
448
|
-
|
|
454
|
+
</>
|
|
449
455
|
);
|
|
450
456
|
};
|
|
451
457
|
|
|
452
458
|
const dataTabs =
|
|
453
459
|
[
|
|
460
|
+
{
|
|
461
|
+
id: 'product-more-info',
|
|
462
|
+
title: 'Product Information',
|
|
463
|
+
content: <ProductMoreInfo />
|
|
464
|
+
},
|
|
454
465
|
{
|
|
455
466
|
id: 'product-detail',
|
|
456
|
-
title: 'Description',
|
|
467
|
+
title: 'Product Description',
|
|
457
468
|
content: <ProductDescription />
|
|
458
469
|
},
|
|
459
|
-
// {
|
|
460
|
-
// id: 'product-more-info',
|
|
461
|
-
// title: 'Details',
|
|
462
|
-
// content: <ProductMoreInfo />
|
|
463
|
-
// },
|
|
464
470
|
{
|
|
465
471
|
id: 'product-tnc',
|
|
466
472
|
title: 'Term & Conditions',
|
|
@@ -551,32 +557,42 @@ const ProductFullDetail = props => {
|
|
|
551
557
|
aria-live="polite"
|
|
552
558
|
className={cn(
|
|
553
559
|
classes.productName,
|
|
554
|
-
'!font-medium leading-[
|
|
560
|
+
'!font-medium leading-[1] mb-1.5 line-clamp-2 !text-[1.5rem]'
|
|
555
561
|
)}
|
|
556
562
|
data-cy="ProductFullDetail-productName"
|
|
557
563
|
>
|
|
558
564
|
{productDetails.name}
|
|
559
565
|
</h1>
|
|
560
|
-
{setNameValue && (
|
|
561
|
-
<div className="text-gray-400 text-sm mb-2">{setNameValue}</div>
|
|
562
|
-
)}
|
|
563
566
|
</div>
|
|
564
|
-
<section className="bottom_right-container block sm_flex md_flex lg_flex xl_flex 2xl_flex gap-[7px]">
|
|
565
|
-
<section className='right_left-container'>
|
|
566
|
-
<ExpandableSection
|
|
567
|
-
<div
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
567
|
+
<section className="bottom_right-container justify-center gap-x-6 block sm_flex md_flex lg_flex xl_flex 2xl_flex gap-[7px]">
|
|
568
|
+
<section className='right_left-container w-full'>
|
|
569
|
+
<ExpandableSection>
|
|
570
|
+
<div className="text-sm leading-6 leading-[2.5rem]">
|
|
571
|
+
{setNameValue && (
|
|
572
|
+
<p><strong>Set Name:</strong> {setNameValue}</p>
|
|
573
|
+
)}
|
|
574
|
+
{cardNameValue && (
|
|
575
|
+
<p><strong>Card Name:</strong> {cardNameValue}</p>
|
|
576
|
+
)}
|
|
577
|
+
{cardNumberValue && (
|
|
578
|
+
<p><strong>Card Number:</strong> {cardNumberValue}</p>
|
|
579
|
+
)}
|
|
580
|
+
{rarityValue && (
|
|
581
|
+
<p><strong>Rarity:</strong> {rarityValue}</p>
|
|
582
|
+
)}
|
|
583
|
+
{featureValue && (
|
|
584
|
+
<p><strong>Feature:</strong> {featureValue}</p>
|
|
585
|
+
)}
|
|
586
|
+
{conditionValue && (
|
|
587
|
+
<p><strong>Condition:</strong> {conditionValue}</p>
|
|
588
|
+
)}
|
|
589
|
+
{foilValue && (
|
|
590
|
+
<p><strong>Foil/Non Foil:</strong> {foilValue}</p>
|
|
571
591
|
)}
|
|
572
|
-
>
|
|
573
|
-
<p className="font-bold text-[15px] mb-3">Product Details</p>
|
|
574
|
-
{shortDescription}
|
|
575
|
-
<ProductMoreInfo className="!mt-0 lg:!mt-0 !p-0" />
|
|
576
592
|
</div>
|
|
577
593
|
</ExpandableSection>
|
|
578
594
|
</section>
|
|
579
|
-
<section className='right_right-container'>
|
|
595
|
+
<section className='right_right-container w-full'>
|
|
580
596
|
<div className={cn('product_purchase-section', 'border border-[lightgray] rounded-[10px] mb-[15px]')}>
|
|
581
597
|
<div
|
|
582
598
|
className={cn(
|
|
@@ -584,13 +600,8 @@ const ProductFullDetail = props => {
|
|
|
584
600
|
'flex justify-between flex-wrap gap-y-5'
|
|
585
601
|
)}
|
|
586
602
|
>
|
|
587
|
-
<div className='flex flex-col gap-y-
|
|
588
|
-
<div className='flex flex-col gap-y-
|
|
589
|
-
{conditionValue && (
|
|
590
|
-
<div className="text-gray-600 text-sm mb-1">
|
|
591
|
-
{conditionValue}
|
|
592
|
-
</div>
|
|
593
|
-
)}
|
|
603
|
+
<div className='flex flex-col gap-y-2 pl-[1rem] pt-[1rem]'>
|
|
604
|
+
<div className='flex flex-col gap-y-1'>
|
|
594
605
|
<p
|
|
595
606
|
data-cy="ProductFullDetail-productPrice"
|
|
596
607
|
className={cn(
|
|
@@ -613,7 +624,7 @@ const ProductFullDetail = props => {
|
|
|
613
624
|
<div className='flex flex-col xs_items-center md_items-start gap-[6px] relative'>
|
|
614
625
|
<div className="gap-x-[10px] gap-y-1 flex xs_flex-col md_flex-row xs_items-center md_items-start relative">
|
|
615
626
|
<Link to={"/seller/"+sellerDetails.url_key} class="flex items-center justify-center gap-[5px] py-1 relative bg-white">
|
|
616
|
-
<div class="flex items-center justify-center gap-[
|
|
627
|
+
<div class="flex items-center justify-center gap-[5px] relative">
|
|
617
628
|
<p>Sold by</p>
|
|
618
629
|
<div class="relative xs_hidden lg_flex w-fit font-medium text-[#f76b1c] text-[14px] tracking-[0] leading-[20px] whitespace-nowrap">
|
|
619
630
|
{sellerDetails ? sellerDetails.name : ''}
|
|
@@ -633,7 +644,7 @@ const ProductFullDetail = props => {
|
|
|
633
644
|
{ options &&
|
|
634
645
|
<section className={classes.options}>{options}</section>
|
|
635
646
|
}
|
|
636
|
-
<section className={cn(classes.quantity, '
|
|
647
|
+
<section className={cn(classes.quantity, 'pb-[20px] pt-[10px] !border-none')}>
|
|
637
648
|
<div className='product_group-actions flex gap-x-[18px] gap-y-4 pl-[1rem] items-center mt-2 lg_mt-0 mb-6 lg_mb-0'>
|
|
638
649
|
<QuantityStepper
|
|
639
650
|
min={1}
|
|
@@ -657,9 +668,12 @@ const ProductFullDetail = props => {
|
|
|
657
668
|
</div>
|
|
658
669
|
</section>
|
|
659
670
|
</div>
|
|
671
|
+
<div className={cn('product_otherlink-section', 'border border-[lightgray] rounded-[10px] mb-[15px]')}>
|
|
672
|
+
<LinkToOtherStores productDetails={productDetails} />
|
|
673
|
+
</div>
|
|
660
674
|
<section>
|
|
661
675
|
<div
|
|
662
|
-
className="text-center pt-3 pb-3 cursor-pointer border border-[lightgray] rounded-[10px]
|
|
676
|
+
className="text-center pt-3 pb-3 cursor-pointer border border-[lightgray] rounded-[10px]"
|
|
663
677
|
onClick={() => {
|
|
664
678
|
const section = document.getElementById("cross-seller-section");
|
|
665
679
|
if (section) {
|
|
@@ -667,7 +681,7 @@ const ProductFullDetail = props => {
|
|
|
667
681
|
}
|
|
668
682
|
}}
|
|
669
683
|
>
|
|
670
|
-
<span className="font-bold underline">
|
|
684
|
+
<span className="font-bold underline text-[14px]">
|
|
671
685
|
View {totalListings} Other Listings
|
|
672
686
|
</span>
|
|
673
687
|
<p className="text-sm text-gray-600">
|
|
@@ -675,9 +689,6 @@ const ProductFullDetail = props => {
|
|
|
675
689
|
</p>
|
|
676
690
|
</div>
|
|
677
691
|
</section>
|
|
678
|
-
<div className={cn('product_otherlink-section', 'border border-[lightgray] rounded-[10px]')}>
|
|
679
|
-
<LinkToOtherStores productDetails={productDetails} />
|
|
680
|
-
</div>
|
|
681
692
|
</section>
|
|
682
693
|
</section>
|
|
683
694
|
</section>
|
package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.module.css
CHANGED
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
composes: lg_items-start from global;
|
|
5
5
|
composes: gap-x-10 from global;
|
|
6
6
|
}
|
|
7
|
+
.productDetailsMaxContent{
|
|
8
|
+
background: linear-gradient(0deg,#fff 20px,#fff0);
|
|
9
|
+
position: absolute;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
left: 0;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 30%;
|
|
14
|
+
content: "";
|
|
15
|
+
}
|
|
7
16
|
.rfqButton {
|
|
8
17
|
padding: 10px 0px;
|
|
9
18
|
}
|
|
@@ -12,6 +21,9 @@
|
|
|
12
21
|
}
|
|
13
22
|
.customAttributesList {
|
|
14
23
|
padding-left: 0 !important;
|
|
24
|
+
column-count: 2;
|
|
25
|
+
column-gap: 2rem;
|
|
26
|
+
list-style: none;
|
|
15
27
|
}
|
|
16
28
|
.contentContainerTabOverride {
|
|
17
29
|
max-width: none !important;
|
|
@@ -48,6 +60,12 @@
|
|
|
48
60
|
grid-area: title; */
|
|
49
61
|
}
|
|
50
62
|
|
|
63
|
+
.productDetailTabs {
|
|
64
|
+
border-bottom: 1px solid #d3d3d3;
|
|
65
|
+
padding-bottom: 10px;
|
|
66
|
+
margin-bottom: 15px;
|
|
67
|
+
}
|
|
68
|
+
|
|
51
69
|
.productName {
|
|
52
70
|
composes: font-medium from global;
|
|
53
71
|
composes: text-colorDefault from global;
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.imageContainer {
|
|
25
|
+
composes: h-full from global;
|
|
25
26
|
composes: w-full from global;
|
|
26
27
|
grid-area: 1 / 1 / 2 / 4;
|
|
27
28
|
}
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
.carouselContainer {
|
|
40
|
-
composes: flex items-center justify-center p-4 bg-[#f7f7f8] rounded-md max-h-[
|
|
41
|
+
composes: flex items-center justify-center p-4 bg-[#f7f7f8] rounded-md h-[540px] max-h-[540px] from global;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
.currentImage_placeholder {
|