ordering-ui-external 13.0.5 → 14.0.0
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/_bundles/{0.ordering-ui.48d6f3f7598e282809bf.js → 0.ordering-ui.5d8e5d10aa0c5a9a862c.js} +1 -1
- package/_bundles/{4.ordering-ui.48d6f3f7598e282809bf.js → 4.ordering-ui.5d8e5d10aa0c5a9a862c.js} +1 -1
- package/_bundles/{7.ordering-ui.48d6f3f7598e282809bf.js → 7.ordering-ui.5d8e5d10aa0c5a9a862c.js} +1 -1
- package/_bundles/ordering-ui.5d8e5d10aa0c5a9a862c.js +2 -0
- package/_modules/themes/callcenterOriginal/src/components/AddressList/index.js +11 -4
- package/_modules/themes/callcenterOriginal/src/components/Messages/index.js +3 -1
- package/_modules/themes/callcenterOriginal/src/components/Orders/Messages/index.js +30 -12
- package/_modules/themes/callcenterOriginal/src/components/PhoneAutocomplete/index.js +80 -42
- package/_modules/themes/callcenterOriginal/src/components/SignUpForm/index.js +1 -1
- package/_modules/themes/callcenterOriginal/src/components/UserDetails/index.js +17 -10
- package/_modules/themes/five/src/components/AddressDetails/index.js +10 -2
- package/_modules/themes/five/src/components/AddressDetails/styles.js +5 -4
- package/_modules/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/OrdersSection/index.js +8 -4
- package/_modules/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/index.js +2 -1
- package/_modules/themes/five/src/components/Checkout/index.js +5 -4
- package/_modules/themes/five/src/components/HighestRated/index.js +1 -1
- package/_modules/themes/five/src/components/Messages/MapMessages.js +35 -5
- package/_modules/themes/five/src/components/Messages/index.js +8 -3
- package/_modules/themes/five/src/components/MultiCheckout/index.js +1 -1
- package/_modules/themes/five/src/components/MultiOrdersDetails/SingleOrderCard.js +1 -1
- package/_modules/themes/five/src/components/OrdersOption/index.js +3 -2
- package/_modules/themes/five/src/components/SingleOrderCard/index.js +10 -25
- package/_modules/themes/five/src/components/UserDetails/index.js +27 -15
- package/_modules/themes/five/src/components/UserDetails/styles.js +4 -3
- package/_modules/themes/five/src/components/UserFormDetails/index.js +2 -2
- package/package.json +2 -2
- package/src/themes/callcenterOriginal/src/components/AddressList/index.js +9 -2
- package/src/themes/callcenterOriginal/src/components/Messages/index.js +3 -8
- package/src/themes/callcenterOriginal/src/components/Orders/Messages/index.js +30 -12
- package/src/themes/callcenterOriginal/src/components/PhoneAutocomplete/index.js +115 -85
- package/src/themes/callcenterOriginal/src/components/SignUpForm/index.js +1 -1
- package/src/themes/callcenterOriginal/src/components/UserDetails/index.js +9 -3
- package/src/themes/five/src/components/AddressDetails/index.js +18 -5
- package/src/themes/five/src/components/AddressDetails/styles.js +7 -0
- package/src/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/OrdersSection/index.js +5 -1
- package/src/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/index.js +1 -0
- package/src/themes/five/src/components/Checkout/index.js +29 -21
- package/src/themes/five/src/components/HighestRated/index.js +1 -1
- package/src/themes/five/src/components/Messages/MapMessages.js +21 -3
- package/src/themes/five/src/components/Messages/index.js +24 -15
- package/src/themes/five/src/components/MultiCheckout/index.js +1 -1
- package/src/themes/five/src/components/MultiOrdersDetails/SingleOrderCard.js +1 -1
- package/src/themes/five/src/components/OrdersOption/index.js +3 -2
- package/src/themes/five/src/components/SingleOrderCard/index.js +11 -4
- package/src/themes/five/src/components/UserDetails/index.js +21 -10
- package/src/themes/five/src/components/UserDetails/styles.js +4 -0
- package/src/themes/five/src/components/UserFormDetails/index.js +2 -2
- package/_bundles/ordering-ui.48d6f3f7598e282809bf.js +0 -2
- /package/_bundles/{1.ordering-ui.48d6f3f7598e282809bf.js → 1.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{2.ordering-ui.48d6f3f7598e282809bf.js → 2.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{5.ordering-ui.48d6f3f7598e282809bf.js → 5.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{6.ordering-ui.48d6f3f7598e282809bf.js → 6.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{7.ordering-ui.48d6f3f7598e282809bf.js.LICENSE.txt → 7.ordering-ui.5d8e5d10aa0c5a9a862c.js.LICENSE.txt} +0 -0
- /package/_bundles/{8.ordering-ui.48d6f3f7598e282809bf.js → 8.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{9.ordering-ui.48d6f3f7598e282809bf.js → 9.ordering-ui.5d8e5d10aa0c5a9a862c.js} +0 -0
- /package/_bundles/{ordering-ui.48d6f3f7598e282809bf.js.LICENSE.txt → ordering-ui.5d8e5d10aa0c5a9a862c.js.LICENSE.txt} +0 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import React from 'react'
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
2
|
import { BubbleBusines, BubbleConsole, BubbleCustomer, ChatImage, MessageBusiness, MessageConsole, MessageContentWrapper, MessageCreatedDate, MessageCustomer, MyName, TimeofSent, TimeofSentByAdmin } from './styles'
|
|
3
3
|
import { useLanguage, useSession, useUtils } from 'ordering-components-external'
|
|
4
4
|
|
|
5
5
|
export const MapMessages = (props) => {
|
|
6
6
|
const {
|
|
7
|
-
messages,
|
|
8
|
-
messagesToShow,
|
|
9
7
|
order,
|
|
10
8
|
filterSpecialStatus,
|
|
11
9
|
handleModalImage,
|
|
10
|
+
hideLogBookMessages,
|
|
12
11
|
getLevel,
|
|
13
12
|
business,
|
|
14
13
|
driver,
|
|
@@ -18,6 +17,25 @@ export const MapMessages = (props) => {
|
|
|
18
17
|
const [, t] = useLanguage()
|
|
19
18
|
const [{ parseDate, parseTime }] = useUtils()
|
|
20
19
|
const [{ user }] = useSession()
|
|
20
|
+
|
|
21
|
+
const [messages, setMessages] = useState(props.messages)
|
|
22
|
+
const [messagesToShow, setMessagesToShow] = useState(props.messagesToShow)
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if ((!props.messages?.messages?.length && !props.messagesToShow?.messages?.length) || !hideLogBookMessages) return
|
|
26
|
+
const messages_ = {
|
|
27
|
+
...props.messages,
|
|
28
|
+
messages: props.messages?.messages?.filter(msg => msg.type !== 1 && msg.type !== 0)
|
|
29
|
+
}
|
|
30
|
+
const messagesToShow_ = {
|
|
31
|
+
...props.messagesToShow,
|
|
32
|
+
messages: props.messagesToShow?.messages?.filter(msg => msg.type !== 1 && msg.type !== 0)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
setMessages(messages_)
|
|
36
|
+
setMessagesToShow(messagesToShow_)
|
|
37
|
+
}, [JSON.stringify(props.messages), JSON.stringify(props.messagesToShow)])
|
|
38
|
+
|
|
21
39
|
return (
|
|
22
40
|
<>
|
|
23
41
|
{messages?.messages.map((message) => (
|
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
Messages as MessagesController,
|
|
5
5
|
useUtils,
|
|
6
6
|
useLanguage,
|
|
7
|
-
useEvent
|
|
7
|
+
useEvent,
|
|
8
|
+
useConfig
|
|
8
9
|
} from 'ordering-components-external'
|
|
9
10
|
import { useForm } from 'react-hook-form'
|
|
10
11
|
import IosSend from '@meronex/icons/ios/IosSend'
|
|
@@ -82,6 +83,7 @@ const MessagesUI = (props) => {
|
|
|
82
83
|
} = props
|
|
83
84
|
|
|
84
85
|
const theme = useTheme()
|
|
86
|
+
const [{ configs }] = useConfig()
|
|
85
87
|
const [, t] = useLanguage()
|
|
86
88
|
const { handleSubmit, register, errors, setValue } = useForm()
|
|
87
89
|
const [alertState, setAlertState] = useState({ open: false, content: [] })
|
|
@@ -93,6 +95,8 @@ const MessagesUI = (props) => {
|
|
|
93
95
|
const previousStatus = [1, 2, 5, 6, 10, 11, 12, 15, 16, 17]
|
|
94
96
|
const chatDisabled = previousStatus.includes(order?.status)
|
|
95
97
|
|
|
98
|
+
const hideLogBookMessages = configs?.order_logbook_enabled?.value === '0'
|
|
99
|
+
|
|
96
100
|
const quickMessageList = [
|
|
97
101
|
{ key: 'message_1', text: t('CUSTOMER_MESSAGE_1', 'Lorem ipsum 1') },
|
|
98
102
|
{ key: 'message_2', text: t('CUSTOMER_MESSAGE_2', 'Lorem ipsum 2') },
|
|
@@ -476,23 +480,28 @@ const MessagesUI = (props) => {
|
|
|
476
480
|
{
|
|
477
481
|
!messages?.loading && order && (
|
|
478
482
|
<MessageContentWrapper>
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
483
|
+
{!hideLogBookMessages && (
|
|
484
|
+
<>
|
|
485
|
+
<MessageCreatedDate>
|
|
486
|
+
<span>{parseDate(order.created_at, { outputFormat: 'MMM DD, YYYY' })}</span>
|
|
487
|
+
</MessageCreatedDate>
|
|
488
|
+
<MessageConsole>
|
|
489
|
+
<BubbleConsole>
|
|
490
|
+
{t('ORDER_PLACED_FOR', 'Order placed for')} {' '}
|
|
491
|
+
<strong>{parseDate(order.created_at)}</strong> {' '}
|
|
492
|
+
{t('VIA', 'Via')}{' '}
|
|
493
|
+
<strong>
|
|
494
|
+
{order.app_id ? t(order.app_id.toUpperCase(), order.app_id) : t('OTHER', 'Other')}
|
|
495
|
+
</strong>{' '}
|
|
496
|
+
<TimeofSent>{parseTime(order.created_at)}</TimeofSent>
|
|
497
|
+
</BubbleConsole>
|
|
498
|
+
</MessageConsole>
|
|
499
|
+
</>
|
|
500
|
+
)}
|
|
493
501
|
<MapMessages
|
|
494
502
|
messages={messagesToShow?.messages?.length ? messagesToShow : messages}
|
|
495
503
|
messagesToShow={messagesToShow}
|
|
504
|
+
hideLogBookMessages={hideLogBookMessages}
|
|
496
505
|
order={order}
|
|
497
506
|
filterSpecialStatus={filterSpecialStatus}
|
|
498
507
|
handleModalImage={handleModalImage}
|
|
@@ -153,7 +153,7 @@ const MultiCheckoutUI = (props) => {
|
|
|
153
153
|
return
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
if (!userErrors.length && !requiredFields?.length) {
|
|
156
|
+
if ((!userErrors.length && !requiredFields?.length) || (requiredFields?.length === 1 && isCustomerMode && requiredFields?.includes('email'))) {
|
|
157
157
|
handleGroupPlaceOrder && handleGroupPlaceOrder()
|
|
158
158
|
return
|
|
159
159
|
}
|
|
@@ -48,7 +48,7 @@ const SingleOrderCardUI = (props) => {
|
|
|
48
48
|
const [unreadAlert, setUnreadAlert] = useState({ business: false, driver: false })
|
|
49
49
|
const hideIndividualButton = configs.multi_business_checkout_remove_individual_buttons?.value === '1'
|
|
50
50
|
|
|
51
|
-
const activeStatus = [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23]
|
|
51
|
+
const activeStatus = [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26]
|
|
52
52
|
|
|
53
53
|
const handleGoToOrderDetails = (uuid) => {
|
|
54
54
|
events.emit('go_to_page', { page: 'order_detail', params: { orderId: uuid }, replace: !props.isMultiOrders })
|
|
@@ -66,7 +66,8 @@ const OrdersOptionUI = (props) => {
|
|
|
66
66
|
businesses,
|
|
67
67
|
handleUpdateBusinesses,
|
|
68
68
|
getPage,
|
|
69
|
-
loadOrders
|
|
69
|
+
loadOrders,
|
|
70
|
+
disableSkeletons
|
|
70
71
|
} = props
|
|
71
72
|
|
|
72
73
|
const [, t] = useLanguage()
|
|
@@ -230,7 +231,7 @@ const OrdersOptionUI = (props) => {
|
|
|
230
231
|
/>
|
|
231
232
|
)}
|
|
232
233
|
|
|
233
|
-
{(isCustomLayout ? (loading || businesses?.loading) : showSkeletons) && (
|
|
234
|
+
{!disableSkeletons && (isCustomLayout ? (loading || businesses?.loading) : showSkeletons) && (
|
|
234
235
|
<>
|
|
235
236
|
{(businesses?.loading && isBusiness) ? (
|
|
236
237
|
<BusinessControllerSkeleton>
|
|
@@ -44,7 +44,8 @@ const SingleOrderCardUI = (props) => {
|
|
|
44
44
|
isSkeleton,
|
|
45
45
|
isFavorite,
|
|
46
46
|
handleRemoveCart,
|
|
47
|
-
cartState
|
|
47
|
+
cartState,
|
|
48
|
+
reorderLoading
|
|
48
49
|
} = props
|
|
49
50
|
|
|
50
51
|
const [, t] = useLanguage()
|
|
@@ -115,7 +116,7 @@ const SingleOrderCardUI = (props) => {
|
|
|
115
116
|
setConfirm({
|
|
116
117
|
open: true,
|
|
117
118
|
content: t('QUESTION_DELETE_PRODUCTS_FROM_CART', 'Are you sure that you want to delete all products from cart?'),
|
|
118
|
-
handleOnAccept:
|
|
119
|
+
handleOnAccept: () => {
|
|
119
120
|
handleRemoveCart()
|
|
120
121
|
setConfirm({ ...confirm, open: false })
|
|
121
122
|
}
|
|
@@ -270,8 +271,14 @@ const SingleOrderCardUI = (props) => {
|
|
|
270
271
|
</Button>
|
|
271
272
|
)}
|
|
272
273
|
{order.cart && typeof order?.id === 'number' && !hideReorderButton && (
|
|
273
|
-
<Button
|
|
274
|
-
|
|
274
|
+
<Button
|
|
275
|
+
color='primary'
|
|
276
|
+
className='reorder'
|
|
277
|
+
outline
|
|
278
|
+
onClick={() => handleClickReorder(order)}
|
|
279
|
+
disabled={reorderLoading || cartState?.loading}
|
|
280
|
+
>
|
|
281
|
+
{reorderLoading || cartState?.loading ? t('LOADING', 'Loading...') : t('REORDER', 'Reorder')}
|
|
275
282
|
</Button>
|
|
276
283
|
)}
|
|
277
284
|
</ButtonWrapper>
|
|
@@ -11,7 +11,8 @@ import {
|
|
|
11
11
|
ModalIcon,
|
|
12
12
|
TitleContainer,
|
|
13
13
|
CountryFlag,
|
|
14
|
-
PhoneContainer
|
|
14
|
+
PhoneContainer,
|
|
15
|
+
SkeletonsContainer
|
|
15
16
|
} from './styles'
|
|
16
17
|
import MdClose from '@meronex/icons/md/MdClose'
|
|
17
18
|
import PhoneInput from 'react-phone-number-input'
|
|
@@ -50,8 +51,9 @@ const UserDetailsUI = (props) => {
|
|
|
50
51
|
} = props
|
|
51
52
|
|
|
52
53
|
const [, t] = useLanguage()
|
|
53
|
-
const [{ user }] = useSession()
|
|
54
|
+
const [{ user, loading }] = useSession()
|
|
54
55
|
const [alertState, setAlertState] = useState({ open: false, content: [] })
|
|
56
|
+
const [skeletonsLength] = useState(requiredFields)
|
|
55
57
|
const userData = userState.result?.result || props.userData || formState.result?.result || user
|
|
56
58
|
|
|
57
59
|
const [willVerifyOtpState, setWillVerifyOtpState] = useState(false)
|
|
@@ -127,7 +129,10 @@ const UserDetailsUI = (props) => {
|
|
|
127
129
|
}, [willVerifyOtpState])
|
|
128
130
|
|
|
129
131
|
useEffect(() => {
|
|
130
|
-
if (isCheckoutPlace &&
|
|
132
|
+
if (isCheckoutPlace &&
|
|
133
|
+
(requiredFields?.length === 0 || (requiredFields?.length === 1 && requiredFields?.includes('email') && isCustomerMode)) &&
|
|
134
|
+
!formState?.loading
|
|
135
|
+
) {
|
|
131
136
|
setIsSuccess && setIsSuccess(true)
|
|
132
137
|
onClose && onClose()
|
|
133
138
|
}
|
|
@@ -141,15 +146,21 @@ const UserDetailsUI = (props) => {
|
|
|
141
146
|
</React.Fragment>))}
|
|
142
147
|
{props.beforeComponents?.map((BeforeComponent, i) => (
|
|
143
148
|
<BeforeComponent key={i} {...props} />))}
|
|
144
|
-
{(validationFields.loading || formState.loading || userState.loading) && (
|
|
145
|
-
<
|
|
146
|
-
<
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
149
|
+
{((validationFields.loading || formState.loading || userState.loading || loading)) && (
|
|
150
|
+
<SkeletonsContainer>
|
|
151
|
+
<UserData>
|
|
152
|
+
{skeletonsLength?.map(field => (
|
|
153
|
+
<div key={field?.id}>
|
|
154
|
+
<Skeleton width={250} height={35} />
|
|
155
|
+
<Skeleton width='100%' height={40} />
|
|
156
|
+
</div>
|
|
157
|
+
))}
|
|
158
|
+
<Skeleton width='100%' height={44} style={{ marginTop: 20 }} />
|
|
159
|
+
</UserData>
|
|
160
|
+
</SkeletonsContainer>
|
|
150
161
|
)}
|
|
151
162
|
|
|
152
|
-
{!(validationFields.loading || formState.loading || userState.loading) && (
|
|
163
|
+
{!(validationFields.loading || formState.loading || userState.loading || loading) && (
|
|
153
164
|
<Container>
|
|
154
165
|
{isModal && (
|
|
155
166
|
<TitleContainer isAddressFormOpen={isAddressFormOpen && !isEdit}>
|
|
@@ -338,12 +338,12 @@ export const UserFormDetailsUI = (props) => {
|
|
|
338
338
|
className='form'
|
|
339
339
|
borderBottom
|
|
340
340
|
disabled={!isEdit}
|
|
341
|
-
placeholder={t(field.code.toUpperCase(), field?.name)}
|
|
341
|
+
placeholder={isCustomerMode ? t(field.code.toUpperCase() + '_OPTIONAL', field.name + ' (Optional)') : t(field.code.toUpperCase(), field?.name)}
|
|
342
342
|
defaultValue={formState?.changes[field.code] ?? (user && user[field.code]) ?? ''}
|
|
343
343
|
onChange={handleChangeInputEmail}
|
|
344
344
|
ref={
|
|
345
345
|
formMethods.register({
|
|
346
|
-
required: t('VALIDATION_ERROR_EMAIL_REQUIRED', 'The field Email is required').replace('_attribute_', t('EMAIL', 'Email')),
|
|
346
|
+
required: !isCustomerMode ? t('VALIDATION_ERROR_EMAIL_REQUIRED', 'The field Email is required').replace('_attribute_', t('EMAIL', 'Email')) : null,
|
|
347
347
|
pattern: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i
|
|
348
348
|
})
|
|
349
349
|
}
|