ordering-ui-external 1.9.6 → 2.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.55652fab015bca672f9d.js → 0.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{1.ordering-ui.55652fab015bca672f9d.js → 1.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{2.ordering-ui.55652fab015bca672f9d.js → 2.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{4.ordering-ui.55652fab015bca672f9d.js → 4.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{5.ordering-ui.55652fab015bca672f9d.js → 5.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{6.ordering-ui.55652fab015bca672f9d.js → 6.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{7.ordering-ui.55652fab015bca672f9d.js → 7.ordering-ui.32113e17b220a7b5ae09.js} +2 -2
- package/_bundles/{7.ordering-ui.55652fab015bca672f9d.js.LICENSE.txt → 7.ordering-ui.32113e17b220a7b5ae09.js.LICENSE.txt} +0 -0
- package/_bundles/{8.ordering-ui.55652fab015bca672f9d.js → 8.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/{9.ordering-ui.55652fab015bca672f9d.js → 9.ordering-ui.32113e17b220a7b5ae09.js} +1 -1
- package/_bundles/ordering-ui.32113e17b220a7b5ae09.js +2 -0
- package/_bundles/{ordering-ui.55652fab015bca672f9d.js.LICENSE.txt → ordering-ui.32113e17b220a7b5ae09.js.LICENSE.txt} +0 -0
- package/_modules/components/Confirm/index.js +4 -2
- package/_modules/components/Header/index.js +4 -2
- package/_modules/components/SmartAppBanner/index.js +4 -2
- package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersTable/index.js +32 -11
- package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersTable/styles.js +1 -1
- package/_modules/themes/five/src/components/Cart/index.js +5 -5
- package/_modules/themes/five/src/components/Checkout/index.js +4 -0
- package/_modules/themes/five/src/components/Footer/index.js +4 -2
- package/_modules/themes/five/src/components/Header/layouts/Kiosk/index.js +4 -2
- package/_modules/themes/five/src/components/Modal/index.js +4 -2
- package/_modules/themes/five/src/components/MultiCartsPaymethodsAndWallets/index.js +1 -1
- package/_modules/themes/five/src/components/MultiCheckout/index.js +12 -10
- package/_modules/themes/five/src/components/MultiOrdersDetails/SingleOrderCard.js +1 -1
- package/_modules/themes/five/src/components/MultiOrdersDetails/index.js +1 -0
- package/_modules/themes/five/src/components/NavigationBar/index.js +4 -2
- package/_modules/themes/five/src/components/NotNetworkConnectivity/index.js +4 -2
- package/_modules/themes/five/src/components/ProductForm/index.js +27 -26
- package/_modules/themes/five/src/components/ReviewDriver/index.js +4 -2
- package/_modules/themes/five/src/components/ReviewOrder/index.js +4 -2
- package/_modules/themes/five/src/components/ReviewProduct/index.js +4 -2
- package/_modules/themes/five/src/components/ReviewTrigger/index.js +4 -2
- package/_modules/themes/five/src/components/SignUpApproval/index.js +4 -2
- package/_modules/themes/five/src/styles/Buttons/index.js +5 -3
- package/_modules/themes/five/src/styles/Inputs/index.js +1 -1
- package/_modules/themes/seven/src/components/Header/index.js +4 -2
- package/_modules/themes/six/src/components/Header/index.js +4 -2
- package/package.json +2 -2
- package/src/components/CancellationComponent/index.js +31 -27
- package/src/components/Confirm/index.js +2 -0
- package/src/components/Header/index.js +2 -0
- package/src/components/SmartAppBanner/index.js +2 -0
- package/src/themes/callcenterOriginal/src/components/Orders/OrdersTable/index.js +43 -19
- package/src/themes/callcenterOriginal/src/components/Orders/OrdersTable/styles.js +1 -0
- package/src/themes/five/src/components/Cart/index.js +9 -4
- package/src/themes/five/src/components/Checkout/index.js +2 -0
- package/src/themes/five/src/components/Footer/index.js +2 -0
- package/src/themes/five/src/components/Header/layouts/Kiosk/index.js +2 -0
- package/src/themes/five/src/components/Modal/index.js +2 -0
- package/src/themes/five/src/components/MultiCartsPaymethodsAndWallets/index.js +1 -1
- package/src/themes/five/src/components/MultiCheckout/index.js +11 -6
- package/src/themes/five/src/components/MultiOrdersDetails/SingleOrderCard.js +1 -1
- package/src/themes/five/src/components/MultiOrdersDetails/index.js +1 -0
- package/src/themes/five/src/components/NavigationBar/index.js +2 -0
- package/src/themes/five/src/components/NotNetworkConnectivity/index.js +2 -0
- package/src/themes/five/src/components/ProductForm/index.js +11 -11
- package/src/themes/five/src/components/ReviewDriver/index.js +2 -0
- package/src/themes/five/src/components/ReviewOrder/index.js +2 -0
- package/src/themes/five/src/components/ReviewProduct/index.js +2 -0
- package/src/themes/five/src/components/ReviewTrigger/index.js +2 -0
- package/src/themes/five/src/components/SignUpApproval/index.js +2 -0
- package/src/themes/five/src/styles/Buttons/index.js +3 -1
- package/src/themes/five/src/styles/Inputs/index.js +1 -1
- package/src/themes/seven/src/components/Header/index.js +2 -0
- package/src/themes/six/src/components/Header/index.js +2 -0
- package/template/components/HelmetTags/index.js +2 -0
- package/template/components/ListenPageChanges/index.js +2 -0
- package/template/components/ScrollToTop/index.js +2 -0
- package/template/components/SubdomainComponent/index.js +4 -39
- package/template/config.json +2 -1
- package/template/pages/AddressList/index.js +2 -0
- package/template/pages/BusinessListingSearch/index.js +2 -0
- package/template/pages/BusinessProductsList/index.js +2 -0
- package/template/pages/BusinessesList/index.js +2 -0
- package/template/pages/Checkout/index.js +2 -0
- package/template/pages/Cms/index.js +2 -0
- package/template/pages/Favorite/index.js +2 -0
- package/template/pages/Help/index.js +2 -0
- package/template/pages/Home/index.js +2 -0
- package/template/pages/MessagesList/index.js +2 -0
- package/template/pages/MultiCheckout/index.js +5 -0
- package/template/pages/MultiOrdersDetails/index.js +2 -0
- package/template/pages/MyOrders/index.js +2 -0
- package/template/pages/OrderDetails/index.js +2 -0
- package/template/pages/PageNotFound/index.js +2 -0
- package/template/pages/PagesList/index.js +2 -0
- package/template/pages/Profile/index.js +2 -0
- package/template/pages/Promotions/index.js +2 -0
- package/template/pages/ResetPassword/index.js +2 -0
- package/template/pages/SessionsList/index.js +2 -0
- package/template/pages/SignUpBusiness/index.js +2 -0
- package/template/pages/SignUpDriver/index.js +2 -0
- package/template/pages/UserVerification/index.js +2 -0
- package/template/pages/Wallets/index.js +2 -0
- package/_bundles/ordering-ui.55652fab015bca672f9d.js +0 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react'
|
|
2
2
|
import { useHistory } from 'react-router-dom'
|
|
3
|
+
import { useTheme } from 'styled-components'
|
|
3
4
|
import {
|
|
4
5
|
useLanguage,
|
|
5
6
|
useUtils,
|
|
@@ -8,7 +9,6 @@ import {
|
|
|
8
9
|
useSession,
|
|
9
10
|
useValidationFields,
|
|
10
11
|
useOrder,
|
|
11
|
-
useOrderingTheme,
|
|
12
12
|
MultiCheckout as MultiCheckoutController
|
|
13
13
|
} from 'ordering-components-external'
|
|
14
14
|
|
|
@@ -62,14 +62,15 @@ const MultiCheckoutUI = (props) => {
|
|
|
62
62
|
onRedirectPage,
|
|
63
63
|
cartGroup,
|
|
64
64
|
cartUuid,
|
|
65
|
-
totalCartsFee
|
|
65
|
+
totalCartsFee,
|
|
66
|
+
handleSearchRedirect
|
|
66
67
|
} = props
|
|
67
68
|
|
|
69
|
+
const theme = useTheme()
|
|
68
70
|
const [, t] = useLanguage()
|
|
69
71
|
const [{ configs }] = useConfig()
|
|
70
72
|
const [{ parsePrice }] = useUtils()
|
|
71
73
|
const [customerState] = useCustomer()
|
|
72
|
-
const [orderingTheme] = useOrderingTheme()
|
|
73
74
|
const [validationFields] = useValidationFields()
|
|
74
75
|
const [{ user }] = useSession()
|
|
75
76
|
const [orderState] = useOrder()
|
|
@@ -80,8 +81,10 @@ const MultiCheckoutUI = (props) => {
|
|
|
80
81
|
const [alertState, setAlertState] = useState({ open: false, content: [] })
|
|
81
82
|
const isDisablePlaceOrderButton = !(paymethodSelected?.paymethod_id || paymethodSelected?.wallet_id) || (paymethodSelected?.paymethod?.gateway === 'stripe' && !paymethodSelected?.paymethod_data)
|
|
82
83
|
const walletCarts = (Object.values(orderState?.carts)?.filter(cart => cart?.products && cart?.products?.length && cart?.status !== 2 && cart?.valid_schedule && cart?.valid_products && cart?.valid_address && cart?.valid_maximum && cart?.valid_minimum && cart?.wallets) || null) || []
|
|
83
|
-
const isMultiDriverTips =
|
|
84
|
+
const isMultiDriverTips = theme?.header?.components?.layout?.type?.toLowerCase() === 'chew'
|
|
84
85
|
const driverTipsOptions = typeof configs?.driver_tip_options?.value === 'string'
|
|
86
|
+
? JSON.parse(configs?.driver_tip_options?.value) || []
|
|
87
|
+
: configs?.driver_tip_options?.value || []
|
|
85
88
|
const totalFeeEnabled = configs?.multi_business_checkout_show_combined_delivery_fee?.value === '1'
|
|
86
89
|
? JSON.parse(configs?.driver_tip_options?.value) || []
|
|
87
90
|
: configs?.driver_tip_options?.value || []
|
|
@@ -159,9 +162,11 @@ const MultiCheckoutUI = (props) => {
|
|
|
159
162
|
|
|
160
163
|
return (
|
|
161
164
|
<>
|
|
162
|
-
{!cartGroup?.loading && openCarts.length === 0 ? (
|
|
165
|
+
{((!cartGroup?.loading && openCarts.length === 0) || !cartUuid) ? (
|
|
163
166
|
<NotFoundSource
|
|
164
|
-
content={t('
|
|
167
|
+
content={t('NOT_FOUND_CARTS', 'Sorry, You don\'t seem to have any carts.')}
|
|
168
|
+
btnTitle={t('SEARCH_REDIRECT', 'Go to Businesses')}
|
|
169
|
+
onClickButton={handleSearchRedirect}
|
|
165
170
|
/>
|
|
166
171
|
) : (
|
|
167
172
|
<Container>
|
|
@@ -75,7 +75,7 @@ const SingleOrderCardUI = (props) => {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
const handleGoToOrderDetails = (uuid) => {
|
|
78
|
-
events.emit('go_to_page', { page: 'order_detail', params: { orderId: uuid }, replace:
|
|
78
|
+
events.emit('go_to_page', { page: 'order_detail', params: { orderId: uuid }, replace: !props.isMultiOrders })
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
const handleOpenMessages = (data) => {
|
|
@@ -151,7 +151,7 @@ const ProductOptionsUI = (props) => {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
const handleSaveProduct = () => {
|
|
154
|
-
const isErrors = Object.values(errors)
|
|
154
|
+
const isErrors = Object.values(errors)?.length > 0
|
|
155
155
|
if (!isErrors) {
|
|
156
156
|
handleSave && handleSave()
|
|
157
157
|
return
|
|
@@ -212,7 +212,7 @@ const ProductOptionsUI = (props) => {
|
|
|
212
212
|
|
|
213
213
|
const getOverFlowImage = (url) => {
|
|
214
214
|
const keys = url.split('/')
|
|
215
|
-
const _videoId = keys[keys
|
|
215
|
+
const _videoId = keys[keys?.length - 1]
|
|
216
216
|
const overFlowImg = 'http://img.youtube.com/vi/' + _videoId + '/0.jpg'
|
|
217
217
|
return overFlowImg
|
|
218
218
|
}
|
|
@@ -230,7 +230,7 @@ const ProductOptionsUI = (props) => {
|
|
|
230
230
|
|
|
231
231
|
const scrollDown = () => {
|
|
232
232
|
const adjustHeight = windowSize?.width > 768 ? 50 : 55
|
|
233
|
-
const isErrors = Object.values(errors)
|
|
233
|
+
const isErrors = Object.values(errors)?.length > 0
|
|
234
234
|
if (!isErrors) {
|
|
235
235
|
return
|
|
236
236
|
}
|
|
@@ -272,8 +272,8 @@ const ProductOptionsUI = (props) => {
|
|
|
272
272
|
if (product?.ingredients.length > 0 || product?.extras.length > 0) {
|
|
273
273
|
const menuList = []
|
|
274
274
|
if (product?.ingredients?.length > 0) menuList.push('ingredients')
|
|
275
|
-
product?.extras
|
|
276
|
-
extra.
|
|
275
|
+
product?.extras.length > 0 && product?.extras.sort((a, b) => a.rank - b.rank).forEach(extra => {
|
|
276
|
+
extra?.options.length > 0 && extra?.options.sort((a, b) => a.rank - b.rank).forEach(option => {
|
|
277
277
|
showOption(option) && menuList.push(`id_${option?.id}`)
|
|
278
278
|
})
|
|
279
279
|
})
|
|
@@ -545,12 +545,12 @@ const ProductOptionsUI = (props) => {
|
|
|
545
545
|
<Divider />
|
|
546
546
|
<ProductEdition>
|
|
547
547
|
{
|
|
548
|
-
(product?.ingredients
|
|
548
|
+
(product?.ingredients?.length > 0 || product?.extras?.length > 0) && (
|
|
549
549
|
<ProductTabContainer id='all'>
|
|
550
550
|
<Tabs>
|
|
551
551
|
<AutoScroll scrollId='optionList'>
|
|
552
552
|
{
|
|
553
|
-
product?.ingredients
|
|
553
|
+
product?.ingredients?.length > 0 && (
|
|
554
554
|
<Tab
|
|
555
555
|
key='ingredients'
|
|
556
556
|
id='menu_ingredients'
|
|
@@ -563,7 +563,7 @@ const ProductOptionsUI = (props) => {
|
|
|
563
563
|
)
|
|
564
564
|
}
|
|
565
565
|
{
|
|
566
|
-
product?.extras.sort((a, b) => a.rank - b.rank).map(extra => extra.options
|
|
566
|
+
product?.extras.sort((a, b) => a.rank - b.rank).map(extra => extra.options?.sort((a, b) => a.rank - b.rank).map(option => {
|
|
567
567
|
return (
|
|
568
568
|
showOption(option) && (
|
|
569
569
|
<Tab
|
|
@@ -584,9 +584,9 @@ const ProductOptionsUI = (props) => {
|
|
|
584
584
|
</ProductTabContainer>
|
|
585
585
|
)
|
|
586
586
|
}
|
|
587
|
-
{product?.ingredients
|
|
587
|
+
{product?.ingredients?.length > 0 && (
|
|
588
588
|
<div id='ingredients'>
|
|
589
|
-
{product?.ingredients
|
|
589
|
+
{product?.ingredients?.length > 0 && (<SectionTitle>{t('INGREDIENTS', theme?.defaultLanguages.INGREDIENTS || 'Ingredients')}</SectionTitle>)}
|
|
590
590
|
<WrapperIngredients isProductSoldout={isSoldOut || maxProductQuantity <= 0}>
|
|
591
591
|
{product?.ingredients.map(ingredient => (
|
|
592
592
|
<ProductIngredient
|
|
@@ -602,7 +602,7 @@ const ProductOptionsUI = (props) => {
|
|
|
602
602
|
)}
|
|
603
603
|
<div>
|
|
604
604
|
{
|
|
605
|
-
product?.extras
|
|
605
|
+
product?.extras?.sort((a, b) => a.rank - b.rank).map(extra => extra.options.sort((a, b) => a.rank - b.rank).map(option => {
|
|
606
606
|
const currentState = productCart.options[`id:${option?.id}`] || {}
|
|
607
607
|
return (
|
|
608
608
|
<React.Fragment key={option?.id}>
|
|
@@ -36,7 +36,7 @@ export const Button = styled.button`
|
|
|
36
36
|
padding-left: 15%
|
|
37
37
|
${props => props.theme?.rtl && css`
|
|
38
38
|
padding-right: 15%;
|
|
39
|
-
padding-left: 0
|
|
39
|
+
padding-left: 0;
|
|
40
40
|
`}
|
|
41
41
|
}
|
|
42
42
|
`}
|
|
@@ -259,3 +259,5 @@ export const Button = styled.button`
|
|
|
259
259
|
`}
|
|
260
260
|
`}
|
|
261
261
|
`
|
|
262
|
+
|
|
263
|
+
export default Button
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { SpinnerLoader } from '../../../src/components/SpinnerLoader'
|
|
1
|
+
import { cloneElement } from 'react'
|
|
4
2
|
import settings from '../../config'
|
|
5
3
|
|
|
6
4
|
export const SubdomainComponent = (props) => {
|
|
7
|
-
const [checkState, setCheckState] = useState({ loading: true, result: null, error: null })
|
|
8
|
-
|
|
9
5
|
const projectFromSubdomain = window.location.hostname.split('.').slice(0, 1).join()
|
|
10
6
|
const isValidSubdomain = window.location.hostname.includes('tryordering.com') || window.location.hostname.includes('ordering.co')
|
|
11
7
|
|
|
@@ -22,40 +18,9 @@ export const SubdomainComponent = (props) => {
|
|
|
22
18
|
}
|
|
23
19
|
}
|
|
24
20
|
|
|
25
|
-
const checkProject = async () => {
|
|
26
|
-
try {
|
|
27
|
-
const response = await fetch(`${settings?.api?.url}/${settings?.api?.version}/system/integrations/projects/check_availability?project_code=${project}`, {
|
|
28
|
-
method: 'GET',
|
|
29
|
-
headers: { 'Content-Type': 'application/json' }
|
|
30
|
-
})
|
|
31
|
-
const { error, result } = await response.json()
|
|
32
|
-
|
|
33
|
-
setCheckState({
|
|
34
|
-
...checkState,
|
|
35
|
-
loading: false,
|
|
36
|
-
result: error ? [] : result,
|
|
37
|
-
error: error
|
|
38
|
-
? typeof result === 'string' ? result : result?.[0]
|
|
39
|
-
: null
|
|
40
|
-
})
|
|
41
|
-
} catch (error) {
|
|
42
|
-
setCheckState({
|
|
43
|
-
...checkState,
|
|
44
|
-
loading: false,
|
|
45
|
-
error: error.message
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
checkProject()
|
|
52
|
-
}, [])
|
|
53
|
-
|
|
54
21
|
return (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
settings: { ...settings, project }
|
|
59
|
-
})
|
|
22
|
+
cloneElement(props.children, {
|
|
23
|
+
settings: { ...settings, project }
|
|
24
|
+
})
|
|
60
25
|
)
|
|
61
26
|
}
|
package/template/config.json
CHANGED
|
@@ -86,6 +86,9 @@ export const MultiCheckout = (props) => {
|
|
|
86
86
|
cartUuid,
|
|
87
87
|
errors,
|
|
88
88
|
clearErrors: () => setErrors([]),
|
|
89
|
+
handleSearchRedirect: () => {
|
|
90
|
+
events.emit('go_to_page', { page: 'search' })
|
|
91
|
+
},
|
|
89
92
|
onRedirectPage: (data) => events.emit('go_to_page', data),
|
|
90
93
|
onPlaceOrderClick: (order) => {
|
|
91
94
|
events.emit('go_to_page', { page: 'multi_orders', params: { orderId: order?.id } })
|
|
@@ -100,3 +103,5 @@ export const MultiCheckout = (props) => {
|
|
|
100
103
|
</>
|
|
101
104
|
)
|
|
102
105
|
}
|
|
106
|
+
|
|
107
|
+
export default MultiCheckout
|