@riosst100/pwa-marketplace 2.9.4 → 2.9.6
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/i18n/en_US.json +1 -0
- package/i18n/id_ID.json +1 -0
- package/package.json +1 -1
- package/src/componentOverrideMapping.js +6 -1
- package/src/components/ConfirmEmailPage/confirmEmail.js +76 -0
- package/src/components/ConfirmEmailPage/confirmEmail.module.css +71 -0
- package/src/components/ConfirmEmailPage/index.js +1 -0
- package/src/components/FavoriteSellerPage/favoriteSeller.js +0 -1
- package/src/components/FavoriteSellerPage/item.js +0 -2
- package/src/components/OrderDetail/components/itemsOrdered.js +94 -82
- package/src/components/OrderDetail/components/rmaList.js +80 -88
- package/src/components/OrderDetail/orderDetail.js +154 -95
- package/src/components/RMAPage/RMACreate.js +225 -36
- package/src/components/RMAPage/RMADetail.js +141 -89
- package/src/components/RMAPage/RMAList.js +38 -57
- package/src/components/RMAPage/components/productItem.js +55 -30
- package/src/components/RMAPage/orderRow.js +109 -254
- package/src/components/VerifyEmailPage/verifyEmail.js +33 -10
- package/src/intercept.js +8 -1
- package/src/overwrites/peregrine/lib/talons/CartPage/PriceSummary/usePriceSummary.js +2 -2
- package/src/overwrites/peregrine/lib/talons/CheckoutPage/PaymentInformation/paymentMethods.gql.js +45 -0
- package/src/overwrites/peregrine/lib/talons/OrderHistoryPage/orderHistoryPage.gql.js +117 -0
- package/src/overwrites/peregrine/lib/talons/OrderHistoryPage/orderRow.gql.js +46 -0
- package/src/overwrites/peregrine/lib/talons/OrderHistoryPage/useOrderRow.js +112 -0
- package/src/overwrites/peregrine/lib/talons/RMAPage/rmaPage.gql.js +170 -0
- package/src/overwrites/venia-ui/lib/components/AccountInformationPage/DeleteAccount.js +5 -37
- package/src/overwrites/venia-ui/lib/components/Adapter/adapter.js +3 -1
- package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderHistoryPage.js +10 -2
- package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.js +158 -79
- package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.module.css +3 -3
- package/src/overwrites/venia-ui/lib/components/StoreCodeRoute/storeCodeRoute.js +1 -1
- package/src/talons/AccountInformationPage/deleteAccount.gql.js +23 -0
- package/src/talons/AccountInformationPage/useDeleteAccount.js +98 -0
- package/src/talons/ConfirmEmailPage/confirmEmailPage.gql.js +20 -0
- package/src/talons/ConfirmEmailPage/useConfirmEmailPage.js +78 -0
- package/src/talons/OrderHistoryPage/useOrderHistoryPage.js +115 -0
- package/src/talons/RMAPage/useRmaPage.js +145 -0
- package/src/talons/VerifyEmailPage/useVerifyEmailPage.js +73 -0
- package/src/talons/VerifyEmailPage/verifyEmailPage.gql.js +36 -0
|
@@ -1,39 +1,59 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import Image from '@magento/venia-ui/lib/components/Image';
|
|
3
3
|
import { Link } from 'react-router-dom';
|
|
4
4
|
import Select from '@riosst100/pwa-marketplace/src/components/commons/Select';
|
|
5
5
|
import TextField from '@riosst100/pwa-marketplace/src/components/commons/Textfield';
|
|
6
6
|
import Checkbox from '@riosst100/pwa-marketplace/src/components/commons/Checkbox';
|
|
7
7
|
|
|
8
|
-
const productItem = (props) => {
|
|
9
|
-
const { withCheckbox = false } = props
|
|
10
|
-
const urlImage = 'https://pwa-tcgcollective.local:8255/media/catalog/product/s/-/s-l1600_6__1.jpg?auto=webp&format=pjpg&width=495&height=618.75&fit=cover';
|
|
11
|
-
const reasonOptions = [
|
|
12
|
-
{
|
|
13
|
-
value: 0,
|
|
14
|
-
label: 'Out of Service'
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
8
|
|
|
18
|
-
|
|
9
|
+
const productItem = (props) => {
|
|
10
|
+
const {
|
|
11
|
+
withCheckbox = false,
|
|
12
|
+
item,
|
|
13
|
+
order,
|
|
14
|
+
rmaConfigData,
|
|
15
|
+
itemState = {},
|
|
16
|
+
onItemChange,
|
|
17
|
+
onItemCheck
|
|
18
|
+
} = props;
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
let urlImage = undefined;
|
|
21
|
+
if (item && typeof item.product_image === 'string' && item.product_image.length > 0) {
|
|
22
|
+
urlImage = item.product_image;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
const reasonOptions = rmaConfigData && rmaConfigData?.lofmpRmaConfigurations && rmaConfigData?.lofmpRmaConfigurations?.reasons
|
|
26
|
+
? rmaConfigData?.lofmpRmaConfigurations?.reasons.map(r => ({ value: r.id, label: r.name }))
|
|
27
|
+
: [];
|
|
28
|
+
const conditionOptions = rmaConfigData && rmaConfigData?.lofmpRmaConfigurations && rmaConfigData?.lofmpRmaConfigurations?.conditions
|
|
29
|
+
? rmaConfigData?.lofmpRmaConfigurations?.conditions.map(c => ({ value: c.id, label: c.name }))
|
|
30
|
+
: [];
|
|
31
|
+
const resolutionOptions = rmaConfigData && rmaConfigData?.lofmpRmaConfigurations && rmaConfigData?.lofmpRmaConfigurations?.resolutions
|
|
32
|
+
? rmaConfigData?.lofmpRmaConfigurations?.resolutions.map(res => ({ value: res.id, label: res.name }))
|
|
33
|
+
: [];
|
|
34
|
+
|
|
35
|
+
// Checkbox handler
|
|
36
|
+
const handleCheck = (e) => {
|
|
37
|
+
if (onItemCheck) onItemCheck(e.target.checked);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// Input change handler
|
|
41
|
+
const handleFieldChange = (field, value) => {
|
|
42
|
+
if (onItemChange) onItemChange(field, value);
|
|
43
|
+
};
|
|
44
|
+
|
|
25
45
|
return (
|
|
26
46
|
<>
|
|
27
47
|
<div className='item flex flex-col lg_flex-row justify-between border border-gray-100 rounded-md p-4'>
|
|
28
48
|
<div className='flex gap-4 w-full lg_w-3/5'>
|
|
29
49
|
{withCheckbox ? (
|
|
30
|
-
<Checkbox onChange={
|
|
50
|
+
<Checkbox onChange={handleCheck} checked={!!itemState.checked} />
|
|
31
51
|
) : null}
|
|
32
52
|
|
|
33
53
|
<div className='flex w-full gap-4'>
|
|
34
54
|
<div className='block'>
|
|
35
55
|
<Image
|
|
36
|
-
alt='product image'
|
|
56
|
+
alt={item && item.product_name ? item.product_name : 'product image'}
|
|
37
57
|
className="relative max-w-[120px]"
|
|
38
58
|
src={urlImage}
|
|
39
59
|
classes={{
|
|
@@ -45,38 +65,43 @@ const productItem = (props) => {
|
|
|
45
65
|
<div className='block'>
|
|
46
66
|
<p className='text-[13px] text-colorDefault flex justify-between'>
|
|
47
67
|
<span className='font-medium block'>
|
|
48
|
-
|
|
68
|
+
{item && item.product_name ? item.product_name : '-'}
|
|
49
69
|
</span>
|
|
50
70
|
</p>
|
|
51
71
|
</div>
|
|
52
72
|
<div className='block'>
|
|
53
73
|
<p className='text-[13px] text-gray-200 flex justify-between'>
|
|
54
74
|
<span className='font-normal block'>
|
|
55
|
-
Qty :
|
|
75
|
+
Qty : {item && item.quantity_ordered ? item.quantity_ordered : '-'}
|
|
56
76
|
</span>
|
|
57
77
|
</p>
|
|
58
78
|
</div>
|
|
59
79
|
<div className='block'>
|
|
60
80
|
<p className='text-[13px] text-gray-200 flex justify-between'>
|
|
61
81
|
<span className='font-normal block'>
|
|
62
|
-
|
|
82
|
+
{item && item.product_sale_price && item.product_sale_price.currency ? item.product_sale_price.currency : ''} {item && item.product_sale_price && item.product_sale_price.value ? item.product_sale_price.value : '-'}
|
|
63
83
|
</span>
|
|
64
84
|
</p>
|
|
65
85
|
</div>
|
|
66
86
|
</div>
|
|
67
|
-
|
|
68
87
|
</div>
|
|
69
88
|
</div>
|
|
70
89
|
<div className='block w-full lg_w-2/5'>
|
|
71
|
-
{
|
|
90
|
+
{!!itemState.checked ? (
|
|
72
91
|
<>
|
|
73
|
-
<div className='flex flex-col mb-2.5'>
|
|
92
|
+
<div className='flex flex-col mb-2.5' onChange={e => handleFieldChange('qty_requested', parseFloat(e.target.value))}>
|
|
74
93
|
<p className='mb-1'>
|
|
75
94
|
Qty Return
|
|
76
95
|
</p>
|
|
77
|
-
<TextField
|
|
96
|
+
<TextField
|
|
97
|
+
value={itemState.qty_requested || ''}
|
|
98
|
+
onChange={e => handleFieldChange('qty_requested', parseFloat(e.target.value))}
|
|
99
|
+
type="number"
|
|
100
|
+
min={1}
|
|
101
|
+
max={item.quantity_ordered}
|
|
102
|
+
/>
|
|
78
103
|
</div>
|
|
79
|
-
<div className='flex flex-col mb-2.5'>
|
|
104
|
+
<div className='flex flex-col mb-2.5' onChange={e => handleFieldChange('reason_id', parseInt(e.target.value, 10))}>
|
|
80
105
|
<p className='mb-1'>
|
|
81
106
|
Return Reason
|
|
82
107
|
</p>
|
|
@@ -85,21 +110,21 @@ const productItem = (props) => {
|
|
|
85
110
|
className='w-full'
|
|
86
111
|
/>
|
|
87
112
|
</div>
|
|
88
|
-
<div className='flex flex-col mb-2.5'>
|
|
113
|
+
<div className='flex flex-col mb-2.5' onChange={e => handleFieldChange('condition_id', parseInt(e.target.value, 10))}>
|
|
89
114
|
<p className='mb-1'>
|
|
90
115
|
Item Condition
|
|
91
116
|
</p>
|
|
92
117
|
<Select
|
|
93
|
-
options={
|
|
118
|
+
options={conditionOptions}
|
|
94
119
|
className='w-full'
|
|
95
120
|
/>
|
|
96
121
|
</div>
|
|
97
|
-
<div className='flex flex-col mb-2.5'>
|
|
122
|
+
<div className='flex flex-col mb-2.5' onChange={e => handleFieldChange('resolution_id', parseInt(e.target.value, 10))}>
|
|
98
123
|
<p className='mb-1'>
|
|
99
124
|
Resolution
|
|
100
125
|
</p>
|
|
101
126
|
<Select
|
|
102
|
-
options={
|
|
127
|
+
options={resolutionOptions}
|
|
103
128
|
className='w-full'
|
|
104
129
|
/>
|
|
105
130
|
</div>
|
|
@@ -108,7 +133,7 @@ const productItem = (props) => {
|
|
|
108
133
|
</div>
|
|
109
134
|
</div>
|
|
110
135
|
</>
|
|
111
|
-
)
|
|
112
|
-
}
|
|
136
|
+
);
|
|
137
|
+
};
|
|
113
138
|
|
|
114
139
|
export default productItem
|
|
@@ -1,318 +1,173 @@
|
|
|
1
|
+
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { arrayOf, number, shape, string } from 'prop-types';
|
|
3
|
-
import { ChevronDown, ChevronUp } from 'react-feather';
|
|
4
4
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
5
5
|
import Price from '@magento/venia-ui/lib/components/Price';
|
|
6
|
-
import { useOrderRow } from '@magento/peregrine/lib/talons/OrderHistoryPage/useOrderRow';
|
|
7
|
-
|
|
8
6
|
import { useStyle } from '@magento/venia-ui/lib/classify';
|
|
9
|
-
import Icon from '@magento/venia-ui/lib/components/Icon';
|
|
10
|
-
import CollapsedImageGallery from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/OrderHistoryPage/collapsedImageGallery';
|
|
11
|
-
import OrderDetails from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails';
|
|
12
|
-
import defaultClasses from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.module.css';
|
|
13
7
|
import cn from 'classnames';
|
|
14
|
-
import {
|
|
8
|
+
import { Shop } from 'iconsax-react';
|
|
15
9
|
import PlaceholderImage from '@magento/venia-ui/lib/components/Image/placeholderImage';
|
|
16
10
|
import { Link } from 'react-router-dom';
|
|
11
|
+
import defaultClasses from '@riosst100/pwa-marketplace/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.module.css';
|
|
17
12
|
|
|
18
|
-
const
|
|
19
|
-
const {
|
|
13
|
+
const RmaRow = props => {
|
|
14
|
+
const { rma } = props;
|
|
20
15
|
const { formatMessage } = useIntl();
|
|
21
16
|
const {
|
|
22
|
-
|
|
17
|
+
created_at,
|
|
18
|
+
increment_id,
|
|
19
|
+
order_increment_id,
|
|
23
20
|
items,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
order,
|
|
22
|
+
rma_date,
|
|
23
|
+
rma_id,
|
|
24
|
+
seller,
|
|
27
25
|
status,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
status_label,
|
|
27
|
+
rmaDetailLoading,
|
|
28
|
+
rmaDetailError,
|
|
29
|
+
rmaDetailData
|
|
30
|
+
} = rma;
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
32
|
+
const classes = useStyle(defaultClasses, props.classes);
|
|
33
|
+
// Format date
|
|
34
|
+
const isoFormattedDate = created_at ? created_at.replace(' ', 'T') : '';
|
|
35
|
+
const formattedDate = isoFormattedDate ? new Date(isoFormattedDate).toLocaleDateString(
|
|
36
36
|
undefined,
|
|
37
37
|
{
|
|
38
38
|
year: 'numeric',
|
|
39
39
|
month: 'short',
|
|
40
40
|
day: 'numeric'
|
|
41
41
|
}
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
defaultMessage: 'Delivered'
|
|
51
|
-
});
|
|
52
|
-
} else if (hasShipment) {
|
|
53
|
-
derivedStatus = formatMessage({
|
|
54
|
-
id: 'Quotes.shippedText',
|
|
55
|
-
defaultMessage: 'Shipped'
|
|
56
|
-
});
|
|
57
|
-
} else if (hasInvoice) {
|
|
58
|
-
derivedStatus = formatMessage({
|
|
59
|
-
id: 'Quotes.readyToShipText',
|
|
60
|
-
defaultMessage: 'Ready to ship'
|
|
61
|
-
});
|
|
62
|
-
} else {
|
|
63
|
-
derivedStatus = formatMessage({
|
|
64
|
-
id: 'Quotes.new',
|
|
65
|
-
defaultMessage: 'New'
|
|
66
|
-
});
|
|
42
|
+
) : '';
|
|
43
|
+
|
|
44
|
+
// Seller name: prefer from first item's seller_name, fallback to seller?.name
|
|
45
|
+
let sellerName = '-';
|
|
46
|
+
if (items && items.length > 0 && items[0].seller_name) {
|
|
47
|
+
sellerName = items[0].seller_name;
|
|
48
|
+
} else if (seller?.name) {
|
|
49
|
+
sellerName = seller.name;
|
|
67
50
|
}
|
|
68
51
|
|
|
69
|
-
const talonProps = useOrderRow({ items });
|
|
70
|
-
const { loading, isOpen, imagesData } = talonProps;
|
|
71
|
-
|
|
72
|
-
const classes = useStyle(defaultClasses, props.classes);
|
|
73
|
-
|
|
74
|
-
const contentClass = isOpen ? classes.content : classes.content_collapsed;
|
|
75
|
-
|
|
76
|
-
const contentToggleIconSrc = isOpen ? ChevronUp : ChevronDown;
|
|
77
|
-
|
|
78
|
-
const contentToggleIcon = <Icon src={contentToggleIconSrc} size={24} />;
|
|
79
|
-
|
|
80
|
-
const collapsedImageGalleryElement = isOpen ? null : (
|
|
81
|
-
<CollapsedImageGallery items={imagesData} />
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
const orderDetails = loading ? null : (
|
|
85
|
-
<OrderDetails orderData={order} imagesData={imagesData} />
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
const orderTotalPrice =
|
|
89
|
-
currency && orderTotal !== null ? (
|
|
90
|
-
<Price currencyCode={currency} value={orderTotal} />
|
|
91
|
-
) : (
|
|
92
|
-
'-'
|
|
93
|
-
);
|
|
94
52
|
|
|
95
53
|
const badgeStatusStyle = () => {
|
|
96
|
-
return '
|
|
54
|
+
return 'text-blue-700 text-[14px] font-medium py-[5px] border-none';
|
|
97
55
|
}
|
|
98
56
|
|
|
99
|
-
const thumbnailProps = {
|
|
100
|
-
alt: items[0].product_name,
|
|
101
|
-
classes: { root: classes.thumbnail },
|
|
102
|
-
width: 50
|
|
103
|
-
};
|
|
104
|
-
|
|
105
57
|
return (
|
|
106
58
|
<li className={classes.root}>
|
|
107
|
-
<div className='flex flex-col md_flex-row justify-between mb-2.5'>
|
|
108
|
-
<div className='flex flex-col'>
|
|
109
|
-
<div className="flex gap-x-[15px] flex-
|
|
110
|
-
<
|
|
111
|
-
|
|
59
|
+
<div className='flex flex-col md_flex-row md_items-start justify-between mb-2.5'>
|
|
60
|
+
<div className='flex flex-col ml-[14px] mt-[5px]'>
|
|
61
|
+
<div className="flex gap-x-[15px] flex-col">
|
|
62
|
+
<div className='flex gap-x-[5px] items-center'>
|
|
63
|
+
<Shop size={17} className='text-blue-700' variant="Bold" />
|
|
64
|
+
<span className='text-[14px] font-medium text-blue-700'>
|
|
65
|
+
{sellerName}
|
|
66
|
+
</span>
|
|
67
|
+
<span>|</span>
|
|
68
|
+
<span className="text-blue-700 text-[14px]">#{order_increment_id}</span>
|
|
69
|
+
</div>
|
|
112
70
|
</div>
|
|
113
71
|
</div>
|
|
114
72
|
<div className='flex flex-col'>
|
|
115
73
|
<div className='flex w-full justify-start mt-2.5 md_mt-0 md_justify-end'>
|
|
116
74
|
<span className={cn(classes.orderStatusBadge, badgeStatusStyle())}>
|
|
117
|
-
{
|
|
75
|
+
{status_label || status}
|
|
118
76
|
</span>
|
|
119
77
|
</div>
|
|
120
78
|
</div>
|
|
121
79
|
</div>
|
|
122
80
|
<div className='flex flex-col md_flex-row justify-between mb-2.5'>
|
|
123
|
-
<div className='flex flex-col'>
|
|
124
|
-
<div className='flex gap-x-[5px] mb-2.5'>
|
|
125
|
-
<Verify size={17} className='text-blue-700' variant="Bold" />
|
|
126
|
-
<span className='text-xs font-medium text-[rgba(25, 34, 42, 0.7)]'>
|
|
127
|
-
Gundam Info
|
|
128
|
-
</span>
|
|
129
|
-
</div>
|
|
81
|
+
<div className='flex flex-col ml-[14px]'>
|
|
130
82
|
<div className='flex flex-row'>
|
|
131
|
-
<div>
|
|
132
|
-
|
|
83
|
+
<div className={cn('mr-4 flex flex-col gap-8')}>
|
|
84
|
+
{items && items.length > 0 && items.map((it, idx) => {
|
|
85
|
+
const thumbnailProps = {
|
|
86
|
+
alt: it.name,
|
|
87
|
+
classes: { root: classes.thumbnail },
|
|
88
|
+
width: 50
|
|
89
|
+
};
|
|
90
|
+
return (
|
|
91
|
+
<div key={it.id || idx} className={classes.productImage}>
|
|
92
|
+
{it.image_url ? (
|
|
93
|
+
<img src={it.image_url} alt={it.name} width={70} className={classes.thumbnail} />
|
|
94
|
+
) : (
|
|
95
|
+
<PlaceholderImage {...thumbnailProps} />
|
|
96
|
+
)}
|
|
97
|
+
</div>
|
|
98
|
+
);
|
|
99
|
+
})}
|
|
133
100
|
</div>
|
|
134
|
-
<div className='flex flex-col max-w-[
|
|
135
|
-
|
|
136
|
-
<
|
|
137
|
-
{
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
</
|
|
148
|
-
|
|
101
|
+
<div className='flex flex-col max-w-[375px] gap-8'>
|
|
102
|
+
{items && items.length > 0 && items.map((it, idx) => (
|
|
103
|
+
<div key={it.id || idx} className='flex flex-col gap-1 pb-2 last_pb-0'>
|
|
104
|
+
<div className={cn(classes.productName, 'text-[14] font-medium')}>
|
|
105
|
+
<span>{it.name}</span>
|
|
106
|
+
</div>
|
|
107
|
+
<div className="text-[14] text-gray-300">
|
|
108
|
+
<span>Qty : {`${it.qty_requested || 0}`}</span>
|
|
109
|
+
<br />
|
|
110
|
+
<span>
|
|
111
|
+
Price : {it.price ? <Price currencyCode={it.price.currency} value={it.price.value} /> : '-'}
|
|
112
|
+
</span>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
))}
|
|
149
116
|
</div>
|
|
150
117
|
</div>
|
|
151
118
|
</div>
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
119
|
+
{/* Right column: bottom-aligned RMA Date + CTA */}
|
|
120
|
+
<div className='flex flex-col items-end gap-2 md_pl-10 md_self-end mr-4 mb-1'>
|
|
121
|
+
<Link
|
|
122
|
+
to={{
|
|
123
|
+
pathname: `/return/view/${rma_id}`,
|
|
124
|
+
state: { rma }
|
|
125
|
+
}}
|
|
126
|
+
>
|
|
127
|
+
<span className="bg-blue-700 hover:bg-white hover:text-blue-700 hover:border hover:border-blue-700 rounded-full px-[30px] py-[5px] text-[13px] font-medium text-white transition-all duration-300 ease-in-out">
|
|
155
128
|
<FormattedMessage
|
|
156
|
-
id={'
|
|
157
|
-
defaultMessage={'
|
|
129
|
+
id={'rmaRow.ViewTransactionDetail'}
|
|
130
|
+
defaultMessage={'View RMA Detail'}
|
|
158
131
|
/>
|
|
159
132
|
</span>
|
|
160
|
-
|
|
161
|
-
</div>
|
|
133
|
+
</Link>
|
|
162
134
|
</div>
|
|
163
135
|
</div>
|
|
164
|
-
<div className='flex flex-row justify-end py-[5px]'>
|
|
165
|
-
<Link to="/return/view/DEV123123123">
|
|
166
|
-
<span className="text-[13px] font-medium text-blue-700 underline">
|
|
167
|
-
<FormattedMessage
|
|
168
|
-
id={'orderRow.ViewTransactionDetail'}
|
|
169
|
-
defaultMessage={'View Transaction Detail'}
|
|
170
|
-
/>
|
|
171
|
-
</span>
|
|
172
|
-
</Link>
|
|
173
|
-
</div>
|
|
174
|
-
|
|
175
|
-
{/* <div className={classes.orderDateContainer}>
|
|
176
|
-
<span className={classes.orderDateLabel}>
|
|
177
|
-
<FormattedMessage
|
|
178
|
-
id={'orderRow.orderDateText'}
|
|
179
|
-
defaultMessage={'Order Date'}
|
|
180
|
-
/>
|
|
181
|
-
</span>
|
|
182
|
-
<span className={classes.orderDate}>{formattedDate}</span>
|
|
183
|
-
</div> */}
|
|
184
|
-
{/* <div className={classes.orderItemsContainer}>
|
|
185
|
-
{collapsedImageGalleryElement}
|
|
186
|
-
</div> */}
|
|
187
|
-
{/* <div className={classes.orderStatusContainer}>
|
|
188
|
-
<span className={classes.orderStatusBadge}>
|
|
189
|
-
{derivedStatus}
|
|
190
|
-
</span>
|
|
191
|
-
<OrderProgressBar status={derivedStatus} />
|
|
192
|
-
</div> */}
|
|
193
|
-
<div className={cn(contentClass, '!py-4 mt-4')}>{orderDetails}</div>
|
|
194
136
|
</li>
|
|
195
137
|
);
|
|
196
138
|
};
|
|
197
139
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
root: string,
|
|
203
|
-
cell: string,
|
|
204
|
-
stackedCell: string,
|
|
205
|
-
label: string,
|
|
206
|
-
value: string,
|
|
207
|
-
orderNumberContainer: string,
|
|
208
|
-
orderDateContainer: string,
|
|
209
|
-
orderTotalContainer: string,
|
|
210
|
-
orderStatusContainer: string,
|
|
211
|
-
orderItemsContainer: string,
|
|
212
|
-
contentToggleContainer: string,
|
|
213
|
-
orderNumberLabel: string,
|
|
214
|
-
orderDateLabel: string,
|
|
215
|
-
orderTotalLabel: string,
|
|
216
|
-
orderNumber: string,
|
|
217
|
-
orderDate: string,
|
|
218
|
-
orderTotal: string,
|
|
219
|
-
orderStatusBadge: string,
|
|
220
|
-
content: string,
|
|
221
|
-
content_collapsed: string
|
|
222
|
-
}),
|
|
223
|
-
order: shape({
|
|
224
|
-
billing_address: shape({
|
|
225
|
-
city: string,
|
|
226
|
-
country_code: string,
|
|
227
|
-
firstname: string,
|
|
228
|
-
lastname: string,
|
|
229
|
-
postcode: string,
|
|
230
|
-
region_id: string,
|
|
231
|
-
street: arrayOf(string)
|
|
232
|
-
}),
|
|
140
|
+
RmaRow.propTypes = {
|
|
141
|
+
rma: shape({
|
|
142
|
+
created_at: string,
|
|
143
|
+
increment_id: string,
|
|
233
144
|
items: arrayOf(
|
|
234
145
|
shape({
|
|
235
146
|
id: string,
|
|
236
|
-
|
|
237
|
-
|
|
147
|
+
name: string,
|
|
148
|
+
price: shape({
|
|
238
149
|
currency: string,
|
|
239
150
|
value: number
|
|
240
151
|
}),
|
|
241
|
-
|
|
242
|
-
selected_options: arrayOf(
|
|
243
|
-
shape({
|
|
244
|
-
label: string,
|
|
245
|
-
value: string
|
|
246
|
-
})
|
|
247
|
-
),
|
|
248
|
-
quantity_ordered: number
|
|
249
|
-
})
|
|
250
|
-
),
|
|
251
|
-
invoices: arrayOf(
|
|
252
|
-
shape({
|
|
253
|
-
id: string
|
|
152
|
+
qty_requested: number
|
|
254
153
|
})
|
|
255
154
|
),
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
),
|
|
269
|
-
shipping_address: shape({
|
|
270
|
-
city: string,
|
|
271
|
-
country_code: string,
|
|
272
|
-
firstname: string,
|
|
273
|
-
lastname: string,
|
|
274
|
-
postcode: string,
|
|
275
|
-
region_id: string,
|
|
276
|
-
street: arrayOf(string),
|
|
277
|
-
telephone: string
|
|
155
|
+
order: shape({
|
|
156
|
+
id: string,
|
|
157
|
+
increment_id: string,
|
|
158
|
+
status: string,
|
|
159
|
+
status_label: string
|
|
160
|
+
}),
|
|
161
|
+
rma_date: string,
|
|
162
|
+
rma_id: string,
|
|
163
|
+
seller: shape({
|
|
164
|
+
id: string,
|
|
165
|
+
name: string,
|
|
166
|
+
url: string
|
|
278
167
|
}),
|
|
279
|
-
shipping_method: string,
|
|
280
|
-
shipments: arrayOf(
|
|
281
|
-
shape({
|
|
282
|
-
id: string,
|
|
283
|
-
tracking: arrayOf(
|
|
284
|
-
shape({
|
|
285
|
-
number: string
|
|
286
|
-
})
|
|
287
|
-
)
|
|
288
|
-
})
|
|
289
|
-
),
|
|
290
168
|
status: string,
|
|
291
|
-
|
|
292
|
-
discounts: arrayOf(
|
|
293
|
-
shape({
|
|
294
|
-
amount: shape({
|
|
295
|
-
currency: string,
|
|
296
|
-
value: number
|
|
297
|
-
})
|
|
298
|
-
})
|
|
299
|
-
),
|
|
300
|
-
grand_total: shape({
|
|
301
|
-
currency: string,
|
|
302
|
-
value: number
|
|
303
|
-
}),
|
|
304
|
-
subtotal: shape({
|
|
305
|
-
currency: string,
|
|
306
|
-
value: number
|
|
307
|
-
}),
|
|
308
|
-
total_tax: shape({
|
|
309
|
-
currency: string,
|
|
310
|
-
value: number
|
|
311
|
-
}),
|
|
312
|
-
total_shipping: shape({
|
|
313
|
-
currency: string,
|
|
314
|
-
value: number
|
|
315
|
-
})
|
|
316
|
-
})
|
|
169
|
+
status_label: string
|
|
317
170
|
})
|
|
318
171
|
};
|
|
172
|
+
|
|
173
|
+
export default RmaRow;
|