@riosst100/pwa-marketplace 1.5.2 → 1.5.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/components/CollectibleGameSets/collectibleGameSets.js +142 -41
- package/src/components/CollectibleGameSets/collectibleGameSets.module.css +38 -0
- package/src/components/Dropdown/dropdown.js +77 -0
- package/src/components/Dropdown/index.js +10 -0
- package/src/components/MtgSinglesPage/index.js +62 -0
- package/src/components/MtgSinglesPage/mtgSingles.js +90 -0
- package/src/components/MtgSinglesPage/singles.module.css +15 -0
- package/src/components/SubCategory/subCategory.js +14 -20
- package/src/intercept.js +7 -0
- package/src/overwrites/peregrine/lib/talons/RootComponents/Category/categoryContent.gql.js +1 -0
- package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.js +44 -30
- package/src/overwrites/venia-ui/lib/components/Button/button.module.css +10 -6
- package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.js +1 -1
- package/src/overwrites/venia-ui/lib/components/MegaMenu/customSubmenuColumn.js +4 -3
- package/src/overwrites/venia-ui/lib/components/MegaMenu/customSubmenuColumn.module.css +2 -2
- package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.js +5 -4
- package/src/overwrites/venia-ui/lib/components/MegaMenu/shopByColumn.module.css +2 -2
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.js +11 -2
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +4 -6
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.js +10 -19
- package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.module.css +2 -2
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/customAttributes.js +2 -1
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/customAttributes.module.css +6 -7
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/auctionDetail.js +173 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/bidList.js +67 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/modalFormReview.js +164 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/preOrderDetail.js +52 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/productReview.js +45 -37
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/starInput.js +33 -0
- package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +86 -22
- package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.js +5 -1
- package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.module.css +5 -6
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.js +27 -1
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.module.css +0 -1
- package/src/overwrites/venia-ui/lib/components/SearchBar/searchField.js +9 -2
- package/src/overwrites/venia-ui/lib/components/TextInput/field.module.css +4 -3
- package/src/overwrites/venia-ui/lib/components/TextInput/textInput.js +10 -2
- package/src/overwrites/venia-ui/lib/components/TextInput/textInput.module.css +1 -1
- package/src/talons/CollectibleGameSets/useCollectibleGameSets.js +4 -2
|
@@ -28,6 +28,9 @@ import SubCategory from '@riosst100/pwa-marketplace/src/components/SubCategory/s
|
|
|
28
28
|
import AttributesBlock from '@riosst100/pwa-marketplace/src/components/AttributesBlock/attributesBlock';
|
|
29
29
|
|
|
30
30
|
import BrandSlider from '@riosst100/pwa-marketplace/src/components/BrandSlider';
|
|
31
|
+
import CollectibleGameSets from '@riosst100/pwa-marketplace/src/components/CollectibleGameSets/collectibleGameSets';
|
|
32
|
+
import { useLocation } from 'react-router-dom';
|
|
33
|
+
import { getFiltersFromSearch } from '@magento/peregrine/lib/talons/FilterModal/helpers';
|
|
31
34
|
|
|
32
35
|
const FilterModal = React.lazy(() => import('@magento/venia-ui/lib/components/FilterModal'));
|
|
33
36
|
const FilterSidebar = React.lazy(() =>
|
|
@@ -170,6 +173,9 @@ const CategoryContent = props => {
|
|
|
170
173
|
|
|
171
174
|
const categoryTitle = categoryName ? categoryName : <Shimmer width={5} />;
|
|
172
175
|
|
|
176
|
+
const { search } = useLocation();
|
|
177
|
+
const activeFilters = getFiltersFromSearch(search);
|
|
178
|
+
|
|
173
179
|
return (
|
|
174
180
|
<Fragment>
|
|
175
181
|
<Breadcrumbs categoryId={categoryId} />
|
|
@@ -186,39 +192,47 @@ const CategoryContent = props => {
|
|
|
186
192
|
</h1>
|
|
187
193
|
{categoryDescriptionElement}
|
|
188
194
|
</div>
|
|
189
|
-
{
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
<
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
{maybeSortButton}
|
|
195
|
+
{activeFilters.size <= 0 && category && category.custom_landing_page ? (
|
|
196
|
+
<>
|
|
197
|
+
<SubCategory customLandingPage={category.custom_landing_page} />
|
|
198
|
+
</>
|
|
199
|
+
) : (
|
|
200
|
+
<>
|
|
201
|
+
{/* <SubCategory filters={filters} children={children} /> */}
|
|
202
|
+
<FilterTop filters={filters} category={category} />
|
|
203
|
+
{/* <AttributesBlock category={category} attributesBlock={attributesBlock} /> */}
|
|
204
|
+
{/* <section className='category_brand-slider my-5'>
|
|
205
|
+
<BrandSlider />
|
|
206
|
+
</section> */}
|
|
207
|
+
<div className={classes.contentWrapper}>
|
|
208
|
+
<div ref={sidebarRef} className={classes.sidebar}>
|
|
209
|
+
<Suspense fallback={<FilterSidebarShimmer />}>
|
|
210
|
+
{shouldRenderSidebarContent ? sidebar : null}
|
|
211
|
+
</Suspense>
|
|
207
212
|
</div>
|
|
208
|
-
{
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
<div className={classes.categoryContent}>
|
|
214
|
+
<div className={cn(classes.heading)}>
|
|
215
|
+
{maybeProductsTabContainer}
|
|
216
|
+
<div className={classes.headerButtons}>
|
|
217
|
+
{maybeFilterButtons}
|
|
218
|
+
{maybeSortButton}
|
|
219
|
+
</div>
|
|
220
|
+
{maybeSortContainer}
|
|
221
|
+
</div>
|
|
222
|
+
<div className={cn(classes.heading)}>
|
|
223
|
+
<div
|
|
224
|
+
data-cy="CategoryContent-categoryInfo"
|
|
225
|
+
className={classes.categoryInfo}
|
|
226
|
+
>
|
|
227
|
+
{categoryResultsHeading}
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
{content}
|
|
231
|
+
<Suspense fallback={null}>{filtersModal}</Suspense>
|
|
216
232
|
</div>
|
|
217
233
|
</div>
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
</div>
|
|
221
|
-
</div>
|
|
234
|
+
</>
|
|
235
|
+
)}
|
|
222
236
|
</article>
|
|
223
237
|
</Fragment>
|
|
224
238
|
);
|
|
@@ -47,14 +47,16 @@
|
|
|
47
47
|
composes: root;
|
|
48
48
|
|
|
49
49
|
composes: bg-transparent from global;
|
|
50
|
-
composes: border-
|
|
51
|
-
composes: text-
|
|
50
|
+
composes: border-blue-600 from global;
|
|
51
|
+
composes: text-blue-600 from global;
|
|
52
52
|
|
|
53
|
-
composes: active_border-
|
|
54
|
-
composes: active_text-gray-800 from global;
|
|
53
|
+
/* composes: active_border-blue-600 from global;
|
|
54
|
+
composes: active_text-gray-800 from global; */
|
|
55
55
|
|
|
56
|
-
composes: hover_border-
|
|
57
|
-
composes:
|
|
56
|
+
/* composes: hover_border-blue-600 from global; */
|
|
57
|
+
composes: hover_bg-blue-600 from global;
|
|
58
|
+
composes: hover_text-white from global;
|
|
59
|
+
composes: focus_shadow-none from global;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
.root_normalPriority {
|
|
@@ -69,6 +71,7 @@
|
|
|
69
71
|
|
|
70
72
|
composes: hover_border-brand-darkest from global;
|
|
71
73
|
composes: hover_text-brand-darkest from global;
|
|
74
|
+
composes: focus_shadow-none from global;
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
.root_highPriority {
|
|
@@ -85,6 +88,7 @@
|
|
|
85
88
|
composes: hover_bg-brand-darkest from global;
|
|
86
89
|
composes: hover_border-brand-darkest from global;
|
|
87
90
|
composes: hover_text-white from global;
|
|
91
|
+
composes: focus_shadow-none from global;
|
|
88
92
|
}
|
|
89
93
|
|
|
90
94
|
.root_lowPriorityNegative,
|
|
@@ -5,6 +5,7 @@ import resourceUrl from '@magento/peregrine/lib/util/makeUrl';
|
|
|
5
5
|
|
|
6
6
|
import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
7
7
|
import defaultClasses from './customSubmenuColumn.module.css';
|
|
8
|
+
import cn from 'classnames';
|
|
8
9
|
|
|
9
10
|
const CustomSubmenuColumn = props => {
|
|
10
11
|
const {
|
|
@@ -15,7 +16,7 @@ const CustomSubmenuColumn = props => {
|
|
|
15
16
|
customMenuItems,
|
|
16
17
|
toggleCustomMenu
|
|
17
18
|
} = props;
|
|
18
|
-
|
|
19
|
+
|
|
19
20
|
const classes = useStyle(defaultClasses, props.classes);
|
|
20
21
|
|
|
21
22
|
let children = null;
|
|
@@ -29,7 +30,7 @@ const CustomSubmenuColumn = props => {
|
|
|
29
30
|
);
|
|
30
31
|
|
|
31
32
|
return (
|
|
32
|
-
<li key={index} className={classes.submenuChildItem}>
|
|
33
|
+
<li key={index} className={cn(classes.submenuChildItem, 'mb-1.5')}>
|
|
33
34
|
<Link
|
|
34
35
|
className={classes.link}
|
|
35
36
|
data-cy="MegaMenu-CustomSubmenuColumn-link"
|
|
@@ -46,7 +47,7 @@ const CustomSubmenuColumn = props => {
|
|
|
46
47
|
);
|
|
47
48
|
});
|
|
48
49
|
|
|
49
|
-
children = <ul className={classes.submenuChild}>{childrenItems}</ul>;
|
|
50
|
+
children = <ul className={cn(classes.submenuChild, 'pt-1')}>{childrenItems}</ul>;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
return children;
|
|
@@ -87,9 +87,9 @@ const MegaMenuItem = props => {
|
|
|
87
87
|
categoryUrlSuffix,
|
|
88
88
|
onNavigate
|
|
89
89
|
]);
|
|
90
|
-
|
|
91
|
-
const maybeDownArrowIcon = category.children.length
|
|
92
|
-
<ArrowDown2 className='ml-2
|
|
90
|
+
|
|
91
|
+
const maybeDownArrowIcon = category.children.length ? (
|
|
92
|
+
<ArrowDown2 className='ml-2' size={12} color={textPrimary} variant="Outline" />
|
|
93
93
|
) : null;
|
|
94
94
|
|
|
95
95
|
const linkAttributes = category.children.length
|
|
@@ -125,7 +125,8 @@ const MegaMenuItem = props => {
|
|
|
125
125
|
onKeyDown={handleKeyDown}
|
|
126
126
|
className={cn(
|
|
127
127
|
isActive ? classes.megaMenuLinkActive : classes.megaMenuLink,
|
|
128
|
-
titleClassName
|
|
128
|
+
titleClassName,
|
|
129
|
+
'flex items-center'
|
|
129
130
|
)}
|
|
130
131
|
data-cy="MegaMenu-MegaMenuItem-link"
|
|
131
132
|
to={categoryUrl}
|
|
@@ -7,6 +7,7 @@ import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
|
7
7
|
import defaultClasses from './submenu.module.css';
|
|
8
8
|
import SubmenuColumn from './submenuColumn';
|
|
9
9
|
import ShopByColumn from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/MegaMenu/shopByColumn';
|
|
10
|
+
import cn from 'classnames';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* The Submenu component displays submenu in mega menu
|
|
@@ -91,9 +92,17 @@ const Submenu = props => {
|
|
|
91
92
|
|
|
92
93
|
return (
|
|
93
94
|
<div className={subMenuClassname}>
|
|
94
|
-
<div
|
|
95
|
+
<div
|
|
96
|
+
className={cn(
|
|
97
|
+
classes.submenuContainer,
|
|
98
|
+
// 'grid grid-cols-4'
|
|
99
|
+
)}
|
|
100
|
+
>
|
|
95
101
|
<div
|
|
96
|
-
className={
|
|
102
|
+
className={cn(
|
|
103
|
+
classes.submenuItems,
|
|
104
|
+
'grid grid-cols-4',
|
|
105
|
+
)}
|
|
97
106
|
>
|
|
98
107
|
{subMenus}
|
|
99
108
|
</div>
|
|
@@ -12,11 +12,10 @@
|
|
|
12
12
|
.submenuContainer {
|
|
13
13
|
composes: w-full from global;
|
|
14
14
|
composes: max-w-[1210px] from global;
|
|
15
|
-
composes: flex-wrap from global;
|
|
16
|
-
composes: justify-start from global;
|
|
17
15
|
composes: mx-[auto] from global;
|
|
18
|
-
composes: flex from global;
|
|
19
16
|
composes: gap-[15px] from global;
|
|
17
|
+
composes: max-h-[50vh] from global;
|
|
18
|
+
composes: overflow-y-auto from global;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
/* TODO @TW: cannot compose */
|
|
@@ -41,9 +40,8 @@
|
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
.submenuItems {
|
|
44
|
-
composes:
|
|
45
|
-
composes:
|
|
46
|
-
composes: gap-[30px] from global;
|
|
43
|
+
composes: grid from global;
|
|
44
|
+
composes: grid-cols-4 from global;
|
|
47
45
|
/* composes: justify-between from global; */
|
|
48
46
|
/* composes: ml-auto from global; */
|
|
49
47
|
/* composes: mr-auto from global; */
|
|
@@ -9,6 +9,7 @@ import PropTypes from 'prop-types';
|
|
|
9
9
|
import { ArrowDown2 } from 'iconsax-react';
|
|
10
10
|
import { textPrimary } from '@riosst100/pwa-marketplace/src/theme/vars';
|
|
11
11
|
import CustomSubmenuColumn from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/MegaMenu/customSubmenuColumn';
|
|
12
|
+
import cn from 'classnames';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* The SubmenuColumn component displays columns with categories in submenu
|
|
@@ -24,7 +25,7 @@ const SubmenuColumn = props => {
|
|
|
24
25
|
handleCloseSubMenu,
|
|
25
26
|
arrow
|
|
26
27
|
} = props;
|
|
27
|
-
|
|
28
|
+
|
|
28
29
|
const classes = useStyle(defaultClasses, props.classes);
|
|
29
30
|
|
|
30
31
|
const categoryUrl = resourceUrl(
|
|
@@ -62,18 +63,18 @@ const SubmenuColumn = props => {
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
const customSubMenus = customMenuItems.length ? (
|
|
65
|
-
<CustomSubmenuColumn
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
<CustomSubmenuColumn
|
|
67
|
+
categoryUrlSuffix={categoryUrlSuffix}
|
|
68
|
+
onNavigate={onNavigate}
|
|
69
|
+
handleCloseSubMenu={handleCloseSubMenu}
|
|
70
|
+
category={subCategory}
|
|
71
|
+
customMenuItems={customMenuItems}
|
|
72
|
+
toggleCustomMenu={toggleCustomMenu}
|
|
72
73
|
/>
|
|
73
74
|
) : '';
|
|
74
75
|
|
|
75
76
|
return (
|
|
76
|
-
<li key={index} className={classes.submenuChildItem}>
|
|
77
|
+
<li key={index} className={cn(classes.submenuChildItem, 'mt-4')}>
|
|
77
78
|
{customMenuItems.length ? (
|
|
78
79
|
<>
|
|
79
80
|
<Link
|
|
@@ -88,16 +89,6 @@ const SubmenuColumn = props => {
|
|
|
88
89
|
>
|
|
89
90
|
{name}
|
|
90
91
|
</Link>
|
|
91
|
-
<span
|
|
92
|
-
className={isActive ? classes.linkActive : classes.link}
|
|
93
|
-
data-cy="MegaMenu-SubmenuColumn-link"
|
|
94
|
-
onClick={() => {
|
|
95
|
-
toggleCustomMenu();
|
|
96
|
-
}}
|
|
97
|
-
>
|
|
98
|
-
{arrow}
|
|
99
|
-
</span>
|
|
100
|
-
{showCustomMenu ? customSubMenus : ''}
|
|
101
92
|
</>
|
|
102
93
|
) : (
|
|
103
94
|
<Link
|
|
@@ -5,6 +5,7 @@ import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
|
5
5
|
|
|
6
6
|
import AttributeType from './AttributeType';
|
|
7
7
|
import defaultClasses from './customAttributes.module.css';
|
|
8
|
+
import cn from 'classnames';
|
|
8
9
|
|
|
9
10
|
export const IS_VISIBLE_ON_FRONT = 'PRODUCT_DETAILS_PAGE';
|
|
10
11
|
|
|
@@ -23,7 +24,7 @@ const CustomAttributes = props => {
|
|
|
23
24
|
const attributeContent = (
|
|
24
25
|
<li
|
|
25
26
|
key={currentAttribute.attribute_metadata.uid}
|
|
26
|
-
className={classes.listItem}
|
|
27
|
+
className={cn(classes.listItem, '!text-[14px]')}
|
|
27
28
|
>
|
|
28
29
|
<AttributeType
|
|
29
30
|
showLabels={showLabels}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
.root {
|
|
2
|
-
}
|
|
1
|
+
.root {}
|
|
3
2
|
|
|
4
3
|
.list {
|
|
5
|
-
composes: list-
|
|
6
|
-
composes: mb-
|
|
7
|
-
composes: mt-
|
|
8
|
-
composes: pl-
|
|
9
|
-
}
|
|
4
|
+
composes: list-none from global;
|
|
5
|
+
composes: mb-2 from global;
|
|
6
|
+
composes: mt-2 from global;
|
|
7
|
+
composes: pl-2 from global;
|
|
8
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import Divider from '@riosst100/pwa-marketplace/src/components/Divider';
|
|
4
|
+
import Button from '@magento/venia-ui/lib/components/Button';
|
|
5
|
+
import Modal from '@riosst100/pwa-marketplace/src/components/Modal';
|
|
6
|
+
import BidList from './bidList';
|
|
7
|
+
import { X } from 'react-feather';
|
|
8
|
+
import { primary900 } from '@riosst100/pwa-marketplace/src/theme/vars';
|
|
9
|
+
import Field from '@magento/venia-ui/lib/components/Field';
|
|
10
|
+
import TextInput from '@magento/venia-ui/lib/components/TextInput';
|
|
11
|
+
import { isRequired } from '@magento/venia-ui/lib/util/formValidators';
|
|
12
|
+
import Checkbox from '@magento/venia-ui/lib/components/Checkbox';
|
|
13
|
+
import { Form } from 'informed';
|
|
14
|
+
|
|
15
|
+
const AuctionDetail = (props) => {
|
|
16
|
+
|
|
17
|
+
const { className } = props;
|
|
18
|
+
const [open, setOpen] = useState(false)
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<>
|
|
22
|
+
<Modal
|
|
23
|
+
open={open}
|
|
24
|
+
className='!p-[30px] md_min-w-[550px] modal_bid'
|
|
25
|
+
>
|
|
26
|
+
<div className='modal_bid-content'>
|
|
27
|
+
<div className='header_title-modal flex justify-between mb-10'>
|
|
28
|
+
<div className='text-lg text-black font-semibold'>
|
|
29
|
+
Place bid
|
|
30
|
+
</div>
|
|
31
|
+
<button onClick={() => { setOpen(!open) }} >
|
|
32
|
+
<X size={24} color={primary900} />
|
|
33
|
+
</button>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<div className='flex flex-col gap-y-[25px]'>
|
|
37
|
+
<div className='current_bid flex flex-col gap-y-2.5'>
|
|
38
|
+
<span className='text-[14px] font-bold text-gray-500'>
|
|
39
|
+
Current bid
|
|
40
|
+
</span>
|
|
41
|
+
<span className='text-2xl font-semibold'>
|
|
42
|
+
$102.50
|
|
43
|
+
</span>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<BidList expanded />
|
|
47
|
+
|
|
48
|
+
<Form
|
|
49
|
+
data-cy="form_bid"
|
|
50
|
+
className="flex flex-col gap-y-5"
|
|
51
|
+
initialValues={{}}
|
|
52
|
+
onSubmit={() => { }}
|
|
53
|
+
onChange={() => { }}
|
|
54
|
+
>
|
|
55
|
+
<Field
|
|
56
|
+
id="bid_amount_field"
|
|
57
|
+
label={'Bid Amount'}
|
|
58
|
+
>
|
|
59
|
+
<TextInput
|
|
60
|
+
id="bid_amout"
|
|
61
|
+
field="bid_amount"
|
|
62
|
+
validate={isRequired}
|
|
63
|
+
validateOnBlur
|
|
64
|
+
mask={value => value && value.trim()}
|
|
65
|
+
maskOnBlur={true}
|
|
66
|
+
data-cy="bid_amount"
|
|
67
|
+
aria-label={'bid_amount'}
|
|
68
|
+
placeholder={'$10.00'}
|
|
69
|
+
/>
|
|
70
|
+
<small className='helpet-text text-[12px] font-normal text-gray-200 mt-1'>
|
|
71
|
+
Enter $103.50 or more
|
|
72
|
+
</small>
|
|
73
|
+
</Field>
|
|
74
|
+
|
|
75
|
+
<Checkbox
|
|
76
|
+
field="auto_bid"
|
|
77
|
+
id="auto_bid"
|
|
78
|
+
label={'Place Bid As Automatic'}
|
|
79
|
+
/>
|
|
80
|
+
|
|
81
|
+
<div className='actions flex justify-end gap-x-2.5'>
|
|
82
|
+
<Button
|
|
83
|
+
priority='low'
|
|
84
|
+
classes={{
|
|
85
|
+
content: 'capitalize text-[16px] font-semibold'
|
|
86
|
+
}}
|
|
87
|
+
onClick={() => setOpen(false)}
|
|
88
|
+
>
|
|
89
|
+
Cancel
|
|
90
|
+
</Button>
|
|
91
|
+
<Button
|
|
92
|
+
priority='high'
|
|
93
|
+
classes={{
|
|
94
|
+
content: 'capitalize text-[16px] font-semibold'
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
Place Bid
|
|
98
|
+
</Button>
|
|
99
|
+
</div>
|
|
100
|
+
</Form>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</Modal>
|
|
104
|
+
<div
|
|
105
|
+
className={cn(
|
|
106
|
+
'flex flex-col border border-gray-100 rounded-lg px-5 py-[30px] gap-x-2.5 gap-y-5',
|
|
107
|
+
className
|
|
108
|
+
)}
|
|
109
|
+
>
|
|
110
|
+
<div className='flex flex-row justify-between'>
|
|
111
|
+
<div className='flex flex-col gap-2.5'>
|
|
112
|
+
<div className='text-[16px] font-bold text-gray-500'>
|
|
113
|
+
Starting Price
|
|
114
|
+
</div>
|
|
115
|
+
<div className='text-[40px] font-semibold text-colorDefault'>
|
|
116
|
+
$87.50
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
<Divider className="w-[1px] !h-[105px]" />
|
|
120
|
+
<div className='flex flex-col gap-2.5'>
|
|
121
|
+
<div className='text-[16px] font-bold text-gray-500'>
|
|
122
|
+
Auction ends in
|
|
123
|
+
</div>
|
|
124
|
+
<div className='flex flex-row gap-8'>
|
|
125
|
+
<div className='flex flex-col'>
|
|
126
|
+
<div className='text-[40px] leading-[normal] font-semibold'>
|
|
127
|
+
5
|
|
128
|
+
</div>
|
|
129
|
+
<div className='text-[14px] font-bold'>
|
|
130
|
+
days
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
<div className='flex flex-col'>
|
|
134
|
+
<div className='text-[40px] leading-[normal] font-semibold'>
|
|
135
|
+
16
|
|
136
|
+
</div>
|
|
137
|
+
<div className='text-[14px] font-bold'>
|
|
138
|
+
hours
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<div className='flex flex-col'>
|
|
142
|
+
<div className='text-[40px] leading-[normal] font-semibold'>
|
|
143
|
+
36
|
|
144
|
+
</div>
|
|
145
|
+
<div className='text-[14px] font-bold'>
|
|
146
|
+
minutes
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
<div className='text-gray-800 font-bold text-[20px]'>
|
|
154
|
+
Ends at January 12, 2024 10:15 AM
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<Button
|
|
158
|
+
priority='high'
|
|
159
|
+
classes={{
|
|
160
|
+
content: 'capitalize text-[16px] font-semibold'
|
|
161
|
+
}}
|
|
162
|
+
onClick={() => setOpen(true)}
|
|
163
|
+
>
|
|
164
|
+
Place Bid
|
|
165
|
+
</Button>
|
|
166
|
+
|
|
167
|
+
<BidList {...props} />
|
|
168
|
+
</div>
|
|
169
|
+
</>
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export default AuctionDetail;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { ArrowDown2 } from 'iconsax-react';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
|
|
5
|
+
const bidList = (props) => {
|
|
6
|
+
const {
|
|
7
|
+
rootClassName,
|
|
8
|
+
expanded = false,
|
|
9
|
+
} = props
|
|
10
|
+
const [expand, setExpand] = useState(expanded);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<>
|
|
14
|
+
<div className={cn('bid_list-container w-full', rootClassName)}>
|
|
15
|
+
<div
|
|
16
|
+
className={cn(
|
|
17
|
+
'bid_title flex justify-between items-center border-t border-b border-gray-100',
|
|
18
|
+
'px-2.5 py-[18px] cursor-pointer'
|
|
19
|
+
)}
|
|
20
|
+
onClick={() => setExpand(!expand)}
|
|
21
|
+
>
|
|
22
|
+
<span className='text-[16px] font-semibold'>
|
|
23
|
+
Previous bids (5)
|
|
24
|
+
</span>
|
|
25
|
+
<ArrowDown2
|
|
26
|
+
className={cn(
|
|
27
|
+
'transition-all',
|
|
28
|
+
expand ? 'rotate-180' : 'rotate-0',
|
|
29
|
+
)}
|
|
30
|
+
size={16}
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
<div
|
|
34
|
+
className={cn(
|
|
35
|
+
'bid_list-wrapper transition-all mt-2.5 duration-300 ease-in-out overflow-hidden',
|
|
36
|
+
'max-h-[250px] overflow-y-auto',
|
|
37
|
+
expand ? 'h-auto opacity-100' : 'h-0 opacity-0'
|
|
38
|
+
)}
|
|
39
|
+
>
|
|
40
|
+
<table className='bid_list w-full' >
|
|
41
|
+
{[...Array(5)].map(() => (
|
|
42
|
+
<tr className='border-b border-dashed border-gray-100'>
|
|
43
|
+
<td className='p-2.5'>
|
|
44
|
+
<span className='text-[14px] font-medium'>
|
|
45
|
+
$102.00
|
|
46
|
+
</span>
|
|
47
|
+
</td>
|
|
48
|
+
<td className='p-2.5'>
|
|
49
|
+
<span className='text-[14px] font-medium'>
|
|
50
|
+
Jan 7, 2024 11:18:08 AM
|
|
51
|
+
</span>
|
|
52
|
+
</td>
|
|
53
|
+
<td className='p-2.5'>
|
|
54
|
+
<span className='text-[14px] font-medium'>
|
|
55
|
+
by Ale****
|
|
56
|
+
</span>
|
|
57
|
+
</td>
|
|
58
|
+
</tr>
|
|
59
|
+
))}
|
|
60
|
+
</table>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</>
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default bidList
|