ordering-ui-react-native 0.22.51 → 0.22.52-release
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 +5 -7
- package/src/DeliveryApp.tsx +1 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/providers/AlertProvider.tsx +3 -1
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +44 -33
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/LanguageSelector/index.tsx +1 -1
- package/themes/business/src/components/LoginForm/index.tsx +123 -98
- package/themes/business/src/components/LogoutButton/index.tsx +13 -4
- package/themes/business/src/components/MapView/index.tsx +42 -25
- package/themes/business/src/components/NewOrderNotification/index.tsx +37 -18
- package/themes/business/src/components/OrderDetails/Business.tsx +56 -20
- package/themes/business/src/components/OrderDetails/Delivery.tsx +134 -53
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +155 -45
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +51 -28
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +271 -176
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +345 -231
- package/themes/business/src/components/OrdersOption/styles.tsx +14 -0
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +30 -18
- package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
- package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +143 -75
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +1 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +48 -10
- package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/config/currency.tsx +1010 -0
- package/themes/business/src/hooks/useLocation.tsx +16 -12
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +22 -7
- package/themes/business/src/utils/index.tsx +28 -3
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +9 -5
- package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +121 -57
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +9 -1
- package/themes/original/src/components/AddressForm/index.tsx +19 -19
- package/themes/original/src/components/AddressList/index.tsx +0 -13
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +1 -1
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +14 -6
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +8 -6
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +46 -30
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
- package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +49 -15
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +109 -88
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -10
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -12
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +0 -5
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +0 -5
- package/themes/original/src/components/HelpGuide/index.tsx +0 -5
- package/themes/original/src/components/HelpOrder/index.tsx +0 -5
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +35 -19
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +12 -14
- package/themes/original/src/components/MessageListing/index.tsx +1 -6
- package/themes/original/src/components/Messages/index.tsx +20 -13
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +73 -59
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +1 -0
- package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
- package/themes/original/src/components/MyOrders/index.tsx +2 -7
- package/themes/original/src/components/NavBar/index.tsx +7 -6
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/Notifications/index.tsx +0 -5
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +16 -11
- package/themes/original/src/components/OrderDetails/index.tsx +44 -21
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +4 -3
- package/themes/original/src/components/OrderSummary/index.tsx +32 -11
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -11
- package/themes/original/src/components/OrdersOption/index.tsx +3 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +462 -461
- package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -4
- package/themes/original/src/components/ProductForm/ActionButton.tsx +7 -12
- package/themes/original/src/components/ProductItemAccordion/index.tsx +28 -37
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +2 -7
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -6
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -7
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -6
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +53 -55
- package/themes/original/src/components/Sessions/index.tsx +3 -8
- package/themes/original/src/components/SignupForm/index.tsx +44 -37
- package/themes/original/src/components/SingleOrderCard/index.tsx +7 -5
- package/themes/original/src/components/SingleProductCard/index.tsx +3 -4
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +16 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +6 -4
- package/themes/original/src/components/StripeElementsForm/naked.tsx +1 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +8 -5
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +113 -73
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserProfileForm/index.tsx +0 -5
- package/themes/original/src/components/UserVerification/index.tsx +18 -5
- package/themes/original/src/components/Wallets/index.tsx +1 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +12 -4
- package/themes/original/src/utils/index.tsx +29 -0
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
import * as React from 'react'
|
|
2
5
|
import styled, { useTheme } from 'styled-components/native'
|
|
3
6
|
import { OButton, OIcon, OText } from '../shared'
|
|
@@ -44,7 +47,6 @@ interface Props {
|
|
|
44
47
|
isVertical?: boolean,
|
|
45
48
|
noMargin?: any
|
|
46
49
|
hideArrowLeft?: boolean
|
|
47
|
-
buttonProps?: any
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
const NavBar = (props: Props) => {
|
|
@@ -65,7 +67,7 @@ const NavBar = (props: Props) => {
|
|
|
65
67
|
<Wrapper style={{ paddingTop: props.paddingTop, ...{ flexDirection: props.isVertical ? 'column' : 'row', alignItems: props.isVertical ? 'flex-start' : 'center' }, ...props.style }}>
|
|
66
68
|
{!props.hideArrowLeft && (
|
|
67
69
|
<OButton
|
|
68
|
-
|
|
70
|
+
useArrow
|
|
69
71
|
iconProps={{
|
|
70
72
|
name: 'arrowleft',
|
|
71
73
|
size: 26
|
|
@@ -116,8 +118,6 @@ const NavBar = (props: Props) => {
|
|
|
116
118
|
{props.showCall
|
|
117
119
|
? (<OButton
|
|
118
120
|
isCircle={true}
|
|
119
|
-
bgColor={theme.colors.primary}
|
|
120
|
-
borderColor={theme.colors.primary}
|
|
121
121
|
imgRightSrc={null}
|
|
122
122
|
imgLeftStyle={{ tintColor: 'white', width: 30, height: 30 }}
|
|
123
123
|
imgLeftSrc={theme.images.general.support}
|
|
@@ -133,8 +133,9 @@ NavBar.defaultProps = {
|
|
|
133
133
|
textAlign: 'center'
|
|
134
134
|
};
|
|
135
135
|
|
|
136
|
-
const areEqual = (prevProps: { route?: any
|
|
137
|
-
return prevProps.route === nextProps.route
|
|
136
|
+
const areEqual = (prevProps: { route?: any, title?: string }, nextProps: { route?: any, title?: string }) => {
|
|
137
|
+
return prevProps.route === nextProps.route &&
|
|
138
|
+
JSON.stringify(prevProps.title) === JSON.stringify(nextProps.title)
|
|
138
139
|
return true
|
|
139
140
|
}
|
|
140
141
|
|
|
@@ -45,15 +45,10 @@ export const NetworkError = (props: NoNetworkParams) => {
|
|
|
45
45
|
/>
|
|
46
46
|
<OButton
|
|
47
47
|
text={t('REFRESH', 'Refresh')}
|
|
48
|
-
bgColor={theme.colors.primary}
|
|
49
|
-
borderColor={theme.colors.primary}
|
|
50
48
|
style={{
|
|
51
49
|
borderRadius: 8,
|
|
52
50
|
marginTop: 45
|
|
53
51
|
}}
|
|
54
|
-
textStyle={{
|
|
55
|
-
color: theme.colors.white
|
|
56
|
-
}}
|
|
57
52
|
onClick={() => RNRestart.Restart()}
|
|
58
53
|
/>
|
|
59
54
|
</ImageContainer>
|
|
@@ -42,11 +42,8 @@ export const NotFoundSource = (props: NotFoundSourceParams) => {
|
|
|
42
42
|
<View style={{ marginTop: 10, width: '100%' }}>
|
|
43
43
|
<OButton
|
|
44
44
|
style={{ width: '100%', height: 50, ...btnStyle }}
|
|
45
|
-
bgColor={theme.colors.primary}
|
|
46
|
-
borderColor={theme.colors.primary}
|
|
47
45
|
onClick={() => onClickButton()}
|
|
48
46
|
text={btnTitle}
|
|
49
|
-
textStyle={{ color: theme.colors.white }}
|
|
50
47
|
/>
|
|
51
48
|
</View>
|
|
52
49
|
)}
|
|
@@ -75,11 +75,6 @@ const NotificationsUI = (props: any) => {
|
|
|
75
75
|
showCall={false}
|
|
76
76
|
style={{ paddingVertical: 0 }}
|
|
77
77
|
btnStyle={{ paddingLeft: 0 }}
|
|
78
|
-
buttonProps={{
|
|
79
|
-
bgColor: theme.colors.white,
|
|
80
|
-
borderColor: theme.colors.white,
|
|
81
|
-
textStyle: { color: theme.colors.btnFont }
|
|
82
|
-
}}
|
|
83
78
|
/>
|
|
84
79
|
{showCustomerPromotions && showNotifications && (
|
|
85
80
|
<>
|
|
@@ -10,13 +10,14 @@ export const OrderEta = (props: any) => {
|
|
|
10
10
|
|
|
11
11
|
const [{ parseDate }] = useUtils()
|
|
12
12
|
const [estimatedDeliveryTime, setEstimatedDeliveryTime] = useState(null)
|
|
13
|
-
|
|
13
|
+
const deliveryTypes = [1, 7]
|
|
14
|
+
|
|
14
15
|
const getEstimatedDeliveryTime = () => {
|
|
15
16
|
let estimatedUtcTime = null
|
|
16
17
|
let totalEta = 0
|
|
17
18
|
if (order?.delivered_in) totalEta += order?.delivered_in
|
|
18
19
|
if (order?.prepared_in) totalEta += order?.prepared_in
|
|
19
|
-
if (order?.delivery_type
|
|
20
|
+
if (deliveryTypes?.includes?.(order?.delivery_type) && order?.eta_drive_time) {
|
|
20
21
|
totalEta += order?.eta_drive_time
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -57,7 +58,7 @@ export const OrderEta = (props: any) => {
|
|
|
57
58
|
}
|
|
58
59
|
estimatedUtcTime = moment.utc(_delivery).add(totalEta, 'minutes')
|
|
59
60
|
const _estimatedTime = outputFormat ? moment(estimatedUtcTime).local().format(outputFormat) : parseDate(estimatedUtcTime, { utc: false })
|
|
60
|
-
setEstimatedDeliveryTime(_estimatedTime)
|
|
61
|
+
setEstimatedDeliveryTime(order?.status === 13 ? parseDate(_delivery, { utc: !!order?.delivery_datetime_utc, outputFormat: outputFormat }) : _estimatedTime)
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
useEffect(() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { useTheme } from 'styled-components/native'
|
|
3
3
|
import { ScrollView, StyleSheet, View } from 'react-native'
|
|
4
|
-
import { useLanguage, useUtils } from 'ordering-components/native'
|
|
4
|
+
import { useLanguage, useUtils, useConfig } from 'ordering-components/native'
|
|
5
5
|
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'
|
|
6
6
|
import { OText, OButton } from '../shared'
|
|
7
7
|
import { formatSeconds } from '../../utils'
|
|
@@ -17,8 +17,12 @@ export const OrderHistory = (props: any) => {
|
|
|
17
17
|
|
|
18
18
|
const [, t] = useLanguage()
|
|
19
19
|
const [{ parseDate }] = useUtils()
|
|
20
|
+
const [{ configs }] = useConfig();
|
|
20
21
|
const theme = useTheme()
|
|
21
22
|
|
|
23
|
+
const excludedMessages = ['manual_driver_assignment_comment', 'driver_group_id', 'manual_driver_assignment_author_id']
|
|
24
|
+
const changeIdToExternalId = configs?.change_order_id?.value === '1'
|
|
25
|
+
|
|
22
26
|
const styles = StyleSheet.create({
|
|
23
27
|
historyItem: {
|
|
24
28
|
display: 'flex',
|
|
@@ -62,7 +66,10 @@ export const OrderHistory = (props: any) => {
|
|
|
62
66
|
20: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
|
|
63
67
|
21: 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
|
|
64
68
|
22: 'ORDER_LOOKING_FOR_DRIVER',
|
|
65
|
-
23: 'ORDER_DRIVER_ON_WAY'
|
|
69
|
+
23: 'ORDER_DRIVER_ON_WAY',
|
|
70
|
+
24: 'ORDER_DRIVER_WAITING_FOR_ORDER',
|
|
71
|
+
25: 'ORDER_ACCEPTED_BY_DRIVER_COMPANY',
|
|
72
|
+
26: 'ORDER_DRIVER_ARRIVED_CUSTOMER'
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
const getLogisticTagStatus = (status: any) => {
|
|
@@ -90,7 +97,7 @@ export const OrderHistory = (props: any) => {
|
|
|
90
97
|
return (
|
|
91
98
|
<ScrollView contentContainerStyle={styles.container}>
|
|
92
99
|
<OText size={20} style={{ alignSelf: 'center', textAlign: 'center' }} mBottom={10}>
|
|
93
|
-
{t('DETAILS_OF_ORDER', 'Details of Order_NUMBER_').replace('_NUMBER_',
|
|
100
|
+
{t('DETAILS_OF_ORDER', 'Details of Order_NUMBER_').replace('_NUMBER_', (changeIdToExternalId && order?.external_id) || `# ${order?.id}`)}
|
|
94
101
|
</OText>
|
|
95
102
|
{!messages?.loading && order && (
|
|
96
103
|
<View style={styles.historyItem}>
|
|
@@ -118,7 +125,7 @@ export const OrderHistory = (props: any) => {
|
|
|
118
125
|
</View>
|
|
119
126
|
</View>
|
|
120
127
|
)}
|
|
121
|
-
{messages && messages?.messages.map((message: any, i: number) => message.type === 1 && (
|
|
128
|
+
{messages && messages?.messages.map((message: any, i: number) => (message.type === 1 && !excludedMessages.includes(message?.change?.attribute)) && (
|
|
122
129
|
<View
|
|
123
130
|
style={styles.historyItem}
|
|
124
131
|
key={i}
|
|
@@ -145,10 +152,10 @@ export const OrderHistory = (props: any) => {
|
|
|
145
152
|
</>
|
|
146
153
|
)
|
|
147
154
|
: message.change?.attribute === 'prepared_in' ? (
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
<>
|
|
156
|
+
{t('TIME_ADDED_BY_BUSINESS', 'Time added by business')}{'\n'}
|
|
157
|
+
{formatSeconds(parseInt(message.change.new, 10))}
|
|
158
|
+
</>
|
|
152
159
|
) : t(ORDER_STATUS[parseInt(message.change.new, 10)])
|
|
153
160
|
}
|
|
154
161
|
</OText>
|
|
@@ -170,11 +177,9 @@ export const OrderHistory = (props: any) => {
|
|
|
170
177
|
))}
|
|
171
178
|
<OButton
|
|
172
179
|
text={enableReview ? t('REVIEW_ORDER', 'Review order') : t('CONTINUE', 'Continue')}
|
|
173
|
-
textStyle={{ fontSize: 14
|
|
180
|
+
textStyle={{ fontSize: 14 }}
|
|
174
181
|
imgRightSrc={theme.images.general.arrow_right}
|
|
175
182
|
imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
|
|
176
|
-
borderColor='transparent'
|
|
177
|
-
bgColor={theme.colors.primary}
|
|
178
183
|
style={{ borderRadius: 7.6, borderWidth: 1, height: 44, shadowOpacity: 0, marginBottom: 30, marginTop: 20 }}
|
|
179
184
|
onClick={() => handleReview()}
|
|
180
185
|
/>
|
|
@@ -129,11 +129,13 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
129
129
|
const [showTitle, setShowTitle] = useState(false)
|
|
130
130
|
|
|
131
131
|
const { order, businessData } = props.order;
|
|
132
|
-
const mapValidStatuses = [9, 19, 23]
|
|
132
|
+
const mapValidStatuses = [9, 19, 23, 26]
|
|
133
133
|
const placeSpotTypes = [3, 4, 5]
|
|
134
134
|
const directionTypes = [2, 3, 4, 5]
|
|
135
|
-
const activeStatus = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23]
|
|
135
|
+
const activeStatus = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26]
|
|
136
136
|
const reorderStatus = [1, 2, 5, 6, 10, 11, 12]
|
|
137
|
+
const cateringTypes = [7, 8]
|
|
138
|
+
const deliveryTypes = [1, 7]
|
|
137
139
|
const [isPickup, setIsPickup] = useState(order?.delivery_type === 2)
|
|
138
140
|
const enabledPoweredByOrdering = configs?.powered_by_ordering_module?.value
|
|
139
141
|
const isGiftCardOrder = !order?.business_id
|
|
@@ -148,6 +150,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
148
150
|
const hideDriverMessages = theme?.confirmation?.components?.driver?.components?.messages?.hidden
|
|
149
151
|
const hideCustomerPhone = theme?.confirmation?.components?.customer?.components?.phone?.hidden
|
|
150
152
|
const hideCustomerAddress = theme?.confirmation?.components?.customer?.components?.address?.hidden
|
|
153
|
+
const changeIdToExternalId = configs?.change_order_id?.value === '1'
|
|
154
|
+
|
|
151
155
|
const progressBarObjt = isPickup ? getOrderStatuPickUp : getOrderStatus
|
|
152
156
|
const walletName: any = {
|
|
153
157
|
cash: {
|
|
@@ -185,18 +189,18 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
185
189
|
navigation.navigate('BottomTab');
|
|
186
190
|
};
|
|
187
191
|
|
|
188
|
-
const getIncludedTaxes = () => {
|
|
192
|
+
const getIncludedTaxes = (isDeliveryFee?: boolean) => {
|
|
189
193
|
if (order?.taxes?.length === 0 || !order?.taxes) {
|
|
190
194
|
return order.tax_type === 1 ? order?.summary?.tax ?? 0 : 0
|
|
191
195
|
} else {
|
|
192
196
|
return order?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
193
|
-
return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
|
|
197
|
+
return taxIncluded + (((!isDeliveryFee && tax.type === 1 && tax.target === 'product') || (isDeliveryFee && tax.type === 1 && tax.target === 'delivery_fee')) ? tax.summary?.tax : 0)
|
|
194
198
|
}, 0)
|
|
195
199
|
}
|
|
196
200
|
}
|
|
197
201
|
|
|
198
202
|
const getIncludedTaxesDiscounts = () => {
|
|
199
|
-
return order?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
203
|
+
return order?.taxes?.filter((tax: any) => tax?.type === 1 && tax?.target === 'product')?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
200
204
|
}
|
|
201
205
|
|
|
202
206
|
const handleClickOrderReview = (order: any) => {
|
|
@@ -361,7 +365,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
361
365
|
}
|
|
362
366
|
}, [props?.order?.error, props?.order?.loading])
|
|
363
367
|
|
|
364
|
-
|
|
365
368
|
useEffect(() => {
|
|
366
369
|
if (!order?.delivery_type) return
|
|
367
370
|
setIsPickup(order?.delivery_type === 2)
|
|
@@ -386,7 +389,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
386
389
|
numberOfLines={2}
|
|
387
390
|
ellipsizeMode='tail'
|
|
388
391
|
>
|
|
389
|
-
{`${t('ORDER', 'Order')}
|
|
392
|
+
{`${t('ORDER', 'Order')} ${(changeIdToExternalId && order?.external_id) || `#${order?.id}`}`}
|
|
390
393
|
</OText>
|
|
391
394
|
)}
|
|
392
395
|
</>
|
|
@@ -460,18 +463,21 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
460
463
|
<Header>
|
|
461
464
|
<NavBar
|
|
462
465
|
hideArrowLeft
|
|
463
|
-
title={`${t('ORDER', 'Order')}
|
|
464
|
-
titleAlign={'
|
|
466
|
+
title={`${t('ORDER', 'Order')} ${(changeIdToExternalId && order?.external_id) || `#${order?.id}`}`}
|
|
467
|
+
titleAlign={'left'}
|
|
465
468
|
showCall={false}
|
|
466
469
|
btnStyle={{ paddingLeft: 0 }}
|
|
467
470
|
style={{ marginTop: Platform.OS === 'ios' ? 0 : 20 }}
|
|
468
471
|
titleWrapStyle={{ paddingHorizontal: 0 }}
|
|
469
|
-
titleStyle={{ marginRight: 0, marginLeft: 0 }}
|
|
472
|
+
titleStyle={{ marginRight: 0, marginLeft: 0, paddingHorizontal: 0 }}
|
|
470
473
|
subTitle={!hideDeliveryDate && <OText size={12} lineHeight={18} color={theme.colors.textNormal}>
|
|
471
474
|
{activeStatus.includes(order?.status) ? (
|
|
472
|
-
|
|
475
|
+
<>
|
|
476
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('CREATED_AT', 'Created at')}: ${parseDate(order?.created_at)}\n` : ''}
|
|
477
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('PLACED_TO', 'Placed to')}:` : ''} <OrderEta order={order} outputFormat={`YYYY-MM-DD ${configs?.general_hour_format?.value}`} />
|
|
478
|
+
</>
|
|
473
479
|
) : (
|
|
474
|
-
parseDate(order?.reporting_data?.at[`status:${order.status}`])
|
|
480
|
+
parseDate(order?.reporting_data?.at[`status:${order.status}`], { outputFormat: `YYYY-MM-DD ${configs?.general_hour_format?.value}` })
|
|
475
481
|
)}
|
|
476
482
|
</OText>}
|
|
477
483
|
/>
|
|
@@ -643,7 +649,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
643
649
|
<OButton
|
|
644
650
|
text={t('GET_DIRECTIONS', 'Get Directions')}
|
|
645
651
|
imgRightSrc=''
|
|
646
|
-
textStyle={{ color: theme.colors.white }}
|
|
647
652
|
style={{
|
|
648
653
|
alignSelf: 'center',
|
|
649
654
|
borderRadius: 10,
|
|
@@ -708,18 +713,18 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
708
713
|
{order?.customer?.address}
|
|
709
714
|
</OText>
|
|
710
715
|
)}
|
|
711
|
-
{(!!order?.customer?.cellphone && !hideCustomerPhone) && (
|
|
716
|
+
{(!!(order?.customer?.cellphone || order?.customer?.guest_cellphone) && !hideCustomerPhone) && (
|
|
712
717
|
<OText
|
|
713
718
|
size={12}
|
|
714
719
|
lineHeight={18}
|
|
715
720
|
color={theme.colors.textNormal}
|
|
716
721
|
mBottom={2}>
|
|
717
|
-
{`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
|
|
722
|
+
{`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.guest_id ? order?.customer?.guest_cellphone : order?.customer?.cellphone}`}
|
|
718
723
|
</OText>
|
|
719
724
|
)}
|
|
720
725
|
</InfoBlock>
|
|
721
726
|
</Customer>
|
|
722
|
-
{!isGiftCardOrder && order?.delivery_option !== undefined && order?.delivery_type
|
|
727
|
+
{!isGiftCardOrder && order?.delivery_option !== undefined && deliveryTypes?.includes?.(order?.delivery_type) && (
|
|
723
728
|
<View style={{ marginTop: 15 }}>
|
|
724
729
|
<OText size={16} style={{ textAlign: 'left' }} color={theme.colors.textNormal}>
|
|
725
730
|
{t('DELIVERY_PREFERENCE', 'Delivery Preference')}
|
|
@@ -750,6 +755,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
750
755
|
}
|
|
751
756
|
locations={parsedLocations}
|
|
752
757
|
readOnly
|
|
758
|
+
manualZoom
|
|
753
759
|
/>
|
|
754
760
|
</Map>
|
|
755
761
|
)}
|
|
@@ -832,9 +838,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
832
838
|
<OButton
|
|
833
839
|
text={t('YOUR_ORDERS', 'Your Orders')}
|
|
834
840
|
textStyle={{ fontSize: 14, color: theme.colors.primary }}
|
|
841
|
+
bgColor={theme.colors.white}
|
|
835
842
|
imgRightSrc={null}
|
|
836
|
-
borderColor={theme.colors.primary}
|
|
837
|
-
bgColor={theme.colors.clear}
|
|
838
843
|
style={{ borderRadius: 7.6, borderWidth: 1, height: 44, shadowOpacity: 0 }}
|
|
839
844
|
parentStyle={{ marginTop: 29, marginEnd: 15 }}
|
|
840
845
|
onClick={() => navigation.navigate('BottomTab', { screen: 'MyOrders' })}
|
|
@@ -934,7 +939,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
934
939
|
)
|
|
935
940
|
}
|
|
936
941
|
{
|
|
937
|
-
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0).map((tax: any) => (
|
|
942
|
+
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'product').map((tax: any) => (
|
|
938
943
|
<Table key={tax.id}>
|
|
939
944
|
<OSRow>
|
|
940
945
|
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal} numberOfLines={1}>
|
|
@@ -983,12 +988,30 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
983
988
|
</Table>
|
|
984
989
|
))
|
|
985
990
|
}
|
|
986
|
-
{typeof order?.summary?.delivery_price === 'number' && (
|
|
991
|
+
{typeof order?.summary?.delivery_price === 'number' && !isPickup && (
|
|
987
992
|
<Table>
|
|
988
993
|
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
|
|
989
|
-
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal}>{parsePrice(order?.summary?.delivery_price)}</OText>
|
|
994
|
+
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal}>{parsePrice(order?.summary?.delivery_price + getIncludedTaxes(true))}</OText>
|
|
990
995
|
</Table>
|
|
991
996
|
)}
|
|
997
|
+
{
|
|
998
|
+
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'delivery_fee').map((tax: any, i: number) => (
|
|
999
|
+
<Table key={`${tax?.description}_${i}`}>
|
|
1000
|
+
<OSRow>
|
|
1001
|
+
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal} numberOfLines={1}>
|
|
1002
|
+
{t(tax?.name?.toUpperCase()?.replace(/ /g, '_'), tax?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
1003
|
+
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}
|
|
1004
|
+
</OText>
|
|
1005
|
+
{setOpenTaxModal && (
|
|
1006
|
+
<TouchableOpacity onClick={() => setOpenTaxModal({ open: true, data: tax, type: 'tax' })}>
|
|
1007
|
+
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
1008
|
+
</TouchableOpacity>
|
|
1009
|
+
)}
|
|
1010
|
+
</OSRow>
|
|
1011
|
+
<OText size={12} lineHeight={18} weight={'400'} color={theme.colors.textNormal}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
|
|
1012
|
+
</Table>
|
|
1013
|
+
))
|
|
1014
|
+
}
|
|
992
1015
|
{
|
|
993
1016
|
order?.offers?.length > 0 && order?.offers?.filter((offer: any) => offer?.target === 2)?.map((offer: any) => (
|
|
994
1017
|
<Table key={offer.id}>
|
|
@@ -41,7 +41,8 @@ const OrderProgressUI = (props: any) => {
|
|
|
41
41
|
const [lastOrder, setLastOrder] = useState<any>(null)
|
|
42
42
|
const imageFails = theme.images.general.emptyActiveOrders
|
|
43
43
|
const [initialLoaded, setInitialLoaded] = useState(false)
|
|
44
|
-
const statusToShow = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23]
|
|
44
|
+
const statusToShow = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26]
|
|
45
|
+
const deliveryTypes = [1, 7]
|
|
45
46
|
|
|
46
47
|
const styles = StyleSheet.create({
|
|
47
48
|
main: {
|
|
@@ -172,7 +173,7 @@ const OrderProgressUI = (props: any) => {
|
|
|
172
173
|
<ProgressTextWrapper>
|
|
173
174
|
<OText size={12} style={{ width: '50%' }}>{progressBarObjt(lastOrder.status)?.value}</OText>
|
|
174
175
|
<TimeWrapper>
|
|
175
|
-
<OText size={11}>{lastOrder?.delivery_type
|
|
176
|
+
<OText size={11}>{deliveryTypes?.includes?.(lastOrder?.delivery_type) ? t('ESTIMATED_DELIVERY', 'Estimated delivery') : t('ESTIMATED_TIME', 'Estimated time')}</OText>
|
|
176
177
|
<OText size={11}>
|
|
177
178
|
{lastOrder?.delivery_datetime_utc
|
|
178
179
|
? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: configs?.general_hour_format?.value || 'HH:mm' })
|
|
@@ -205,7 +206,7 @@ export const OrderProgress = (props: any) => {
|
|
|
205
206
|
const orderProgressProps = {
|
|
206
207
|
...props,
|
|
207
208
|
UIComponent: OrderProgressUI,
|
|
208
|
-
orderStatus: [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23],
|
|
209
|
+
orderStatus: [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26],
|
|
209
210
|
useDefualtSessionManager: true,
|
|
210
211
|
paginationSettings: {
|
|
211
212
|
initialPage: 1,
|
|
@@ -47,7 +47,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
47
47
|
cateringTypes,
|
|
48
48
|
hideDeliveryFee,
|
|
49
49
|
loyaltyRewardRate,
|
|
50
|
-
maxDate
|
|
50
|
+
maxDate,
|
|
51
|
+
hideCommentsByValidationCheckout,
|
|
52
|
+
hideCouponByValidationCheckout
|
|
51
53
|
} = props;
|
|
52
54
|
|
|
53
55
|
const theme = useTheme()
|
|
@@ -55,11 +57,11 @@ const OrderSummaryUI = (props: any) => {
|
|
|
55
57
|
const [{ configs }] = useConfig();
|
|
56
58
|
const [orderState] = useOrder();
|
|
57
59
|
const [{ parsePrice, parseNumber }] = useUtils();
|
|
58
|
-
const [validationFields] = useValidationFields();
|
|
59
60
|
const commentRef = useRef()
|
|
60
61
|
const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null, type: '' })
|
|
61
|
-
const
|
|
62
|
-
const
|
|
62
|
+
const [comment] = useState<any>(orderState?.carts?.[`businessId:${props.cart.business_id}`]?.comment ?? '')
|
|
63
|
+
const hideCartDiscount = hideCouponByValidationCheckout
|
|
64
|
+
const hideCartComments = hideCommentsByValidationCheckout
|
|
63
65
|
|
|
64
66
|
const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
|
|
65
67
|
|
|
@@ -72,12 +74,14 @@ const OrderSummaryUI = (props: any) => {
|
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
const getIncludedTaxes = () => {
|
|
77
|
+
const getIncludedTaxes = (isDeliveryFee?: boolean) => {
|
|
76
78
|
if (cart?.taxes === null || !cart?.taxes) {
|
|
77
79
|
return cart?.business?.tax_type === 1 ? cart?.tax : 0
|
|
78
80
|
} else {
|
|
79
81
|
return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
80
|
-
return taxIncluded +
|
|
82
|
+
return taxIncluded +
|
|
83
|
+
(((!isDeliveryFee && tax.type === 1 && tax.target === 'product') ||
|
|
84
|
+
(isDeliveryFee && tax.type === 1 && tax.target === 'delivery_fee')) ? tax.summary?.tax : 0)
|
|
81
85
|
}, 0)
|
|
82
86
|
}
|
|
83
87
|
}
|
|
@@ -102,7 +106,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
102
106
|
}
|
|
103
107
|
|
|
104
108
|
const getIncludedTaxesDiscounts = () => {
|
|
105
|
-
return cart?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
109
|
+
return cart?.taxes?.filter((tax: any) => (tax?.type === 1 && tax?.target === 'product'))?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
106
110
|
}
|
|
107
111
|
|
|
108
112
|
const OfferAlert = ({ offerId }: any) => {
|
|
@@ -194,7 +198,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
194
198
|
</OSTable>
|
|
195
199
|
)}
|
|
196
200
|
{
|
|
197
|
-
cart.taxes?.length > 0 && cart.taxes.filter((tax: any) => tax.type === 2 && tax?.rate !== 0).map((tax: any) => (
|
|
201
|
+
cart.taxes?.length > 0 && cart.taxes.filter((tax: any) => tax.type === 2 && tax?.rate !== 0 && tax?.target === 'product').map((tax: any, i: number) => (
|
|
198
202
|
<OSTable key={tax.id}>
|
|
199
203
|
<OSRow>
|
|
200
204
|
<OText size={12} numberOfLines={1} >
|
|
@@ -249,9 +253,25 @@ const OrderSummaryUI = (props: any) => {
|
|
|
249
253
|
{orderState?.options?.type === 1 && !hideDeliveryFee && (
|
|
250
254
|
<OSTable>
|
|
251
255
|
<OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
|
|
252
|
-
<OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
|
|
256
|
+
<OText size={12}>{parsePrice(cart?.delivery_price_with_discount + getIncludedTaxes(true))}</OText>
|
|
253
257
|
</OSTable>
|
|
254
258
|
)}
|
|
259
|
+
{
|
|
260
|
+
cart?.taxes?.length > 0 && cart?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'delivery_fee').map((tax: any, i: number) => (
|
|
261
|
+
<OSTable key={`${tax.description}_${i}`}>
|
|
262
|
+
<OSRow>
|
|
263
|
+
<OText size={12} numberOfLines={1}>
|
|
264
|
+
{tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
265
|
+
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}
|
|
266
|
+
</OText>
|
|
267
|
+
<TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: tax, type: 'tax' })}>
|
|
268
|
+
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
269
|
+
</TouchableOpacity>
|
|
270
|
+
</OSRow>
|
|
271
|
+
<OText size={12}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
|
|
272
|
+
</OSTable>
|
|
273
|
+
))
|
|
274
|
+
}
|
|
255
275
|
{
|
|
256
276
|
cart?.offers?.length > 0 && cart?.offers?.filter((offer: any) => offer?.target === 2)?.map((offer: any) => (
|
|
257
277
|
<OSTable key={offer.id}>
|
|
@@ -295,7 +315,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
295
315
|
<OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
|
|
296
316
|
</OSTable>
|
|
297
317
|
))}
|
|
298
|
-
{
|
|
318
|
+
{!hideCartDiscount && !isCartPending && cart?.business_id && (
|
|
299
319
|
<View>
|
|
300
320
|
<View style={{ paddingVertical: 5 }}>
|
|
301
321
|
<CouponControl
|
|
@@ -330,7 +350,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
330
350
|
<OText size={12}>{t('COMMENTS', 'Comments')}</OText>
|
|
331
351
|
<View style={{ flex: 1, width: '100%' }}>
|
|
332
352
|
<OInput
|
|
333
|
-
value={cart?.comment}
|
|
353
|
+
value={comment || cart?.comment}
|
|
334
354
|
placeholder={t('SPECIAL_COMMENTS', 'Special Comments')}
|
|
335
355
|
onChange={(value: string) => handleChangeComment(value)}
|
|
336
356
|
style={{
|
|
@@ -397,6 +417,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
397
417
|
export const OrderSummary = (props: any) => {
|
|
398
418
|
const orderSummaryProps = {
|
|
399
419
|
...props,
|
|
420
|
+
disablePreviousComment: true,
|
|
400
421
|
UIComponent: OrderSummaryUI
|
|
401
422
|
}
|
|
402
423
|
|
|
@@ -31,14 +31,14 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
|
|
|
31
31
|
const [orderState] = useOrder();
|
|
32
32
|
const [, t] = useLanguage();
|
|
33
33
|
const _orderTypes = orderTypes.filter((type: any) => configTypes?.includes(type.value));
|
|
34
|
-
const orderTypeTitle = (type
|
|
35
|
-
const orderTypeDescription = (type
|
|
36
|
-
const orderTypeCallAction = (type
|
|
34
|
+
const orderTypeTitle = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.title
|
|
35
|
+
const orderTypeDescription = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.description
|
|
36
|
+
const orderTypeCallAction = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.call_to_action
|
|
37
37
|
const items = _orderTypes.map((type) => {
|
|
38
38
|
return {
|
|
39
39
|
value: type.value,
|
|
40
|
-
label:
|
|
41
|
-
description:
|
|
40
|
+
label: t(type.content, type.content),
|
|
41
|
+
description: t(type.description, 'Lorem ipsum dolor sit amet, consectetur.')
|
|
42
42
|
}
|
|
43
43
|
})
|
|
44
44
|
|
|
@@ -102,12 +102,8 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
|
|
|
102
102
|
style={{ paddingBottom: 0 }}
|
|
103
103
|
title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
|
|
104
104
|
titleAlign={'center'}
|
|
105
|
+
titleStyle={{ fontSize: 14 }}
|
|
105
106
|
noMargin
|
|
106
|
-
buttonProps={{
|
|
107
|
-
bgColor: theme.colors.white,
|
|
108
|
-
borderColor: theme.colors.white,
|
|
109
|
-
textStyle: { color: theme.colors.btnFont }
|
|
110
|
-
}}
|
|
111
107
|
/>
|
|
112
108
|
{
|
|
113
109
|
items.length > 0 && (
|
|
@@ -120,7 +116,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
|
|
|
120
116
|
<OText size={12} lineHeight={18} color={theme.colors.white} weight={Platform.OS === 'android' ? 'bold' : '600'}>{item?.label}</OText>
|
|
121
117
|
<OText size={10} lineHeight={15} color={theme.colors.white}>{item?.description}</OText>
|
|
122
118
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
123
|
-
<OText size={10} lineHeight={15} color={theme.colors.white}>{
|
|
119
|
+
<OText size={10} lineHeight={15} color={theme.colors.white}>{t('START_MY_ORDER', 'Start my order')}</OText>
|
|
124
120
|
<AntDesignIcon name='arrowleft' size={26} color={theme.colors.white} style={{ transform: [{ rotate: '180deg' }], marginStart: 4 }} />
|
|
125
121
|
</View>
|
|
126
122
|
</MaskCont>
|
|
@@ -159,10 +159,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
|
|
|
159
159
|
|
|
160
160
|
useEffect(() => {
|
|
161
161
|
if (reorderState?.error) {
|
|
162
|
-
|
|
163
|
-
? reorderState?.result
|
|
164
|
-
: t('CANT_REORDER_FOR_THIS_BUSINESS', 'Can’t reorder for this store, please create order manually.')
|
|
165
|
-
showToast(ToastType.Error, errorMessage)
|
|
162
|
+
showToast(ToastType.Error, reorderState?.result)
|
|
166
163
|
}
|
|
167
164
|
}, [reorderState])
|
|
168
165
|
|
|
@@ -355,9 +352,9 @@ export const OrdersOption = (props: OrdersOptionParams) => {
|
|
|
355
352
|
UIComponent: OrdersOptionUI,
|
|
356
353
|
noGiftCardOrders: true,
|
|
357
354
|
orderStatus: getAllOrders
|
|
358
|
-
? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
|
|
355
|
+
? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
|
|
359
356
|
: props.preOrders ? [13] : props.activeOrders
|
|
360
|
-
? [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23]
|
|
357
|
+
? [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26]
|
|
361
358
|
: [1, 2, 5, 6, 10, 11, 12, 15, 16, 17],
|
|
362
359
|
useDefualtSessionManager: true,
|
|
363
360
|
paginationSettings: {
|
|
@@ -131,7 +131,6 @@ const PaymentOptionStripeUI = (props: any) => {
|
|
|
131
131
|
bgColor={theme.colors.backgroundGray}
|
|
132
132
|
borderColor={theme.colors.backgroundGray}
|
|
133
133
|
style={styles.btnAddStyle}
|
|
134
|
-
textStyle={{ color: 'white' }}
|
|
135
134
|
imgRightSrc={null}
|
|
136
135
|
onClick={() => setAddCardOpen(true)}
|
|
137
136
|
/>
|
|
@@ -141,7 +140,6 @@ const PaymentOptionStripeUI = (props: any) => {
|
|
|
141
140
|
text={t('CANCEL', 'Cancel')}
|
|
142
141
|
bgColor={theme.colors.backgroundGray}
|
|
143
142
|
borderColor={theme.colors.backgroundGray}
|
|
144
|
-
textStyle={{ color: 'white' }}
|
|
145
143
|
style={styles.btnAction}
|
|
146
144
|
imgRightSrc={null}
|
|
147
145
|
onClick={() => onCancel()}
|
|
@@ -150,9 +148,6 @@ const PaymentOptionStripeUI = (props: any) => {
|
|
|
150
148
|
<View style={{ width: '48%' }}>
|
|
151
149
|
<OButton
|
|
152
150
|
text={t('ACCEPT', 'Accept')}
|
|
153
|
-
bgColor={theme.colors.primary}
|
|
154
|
-
borderColor={theme.colors.primary}
|
|
155
|
-
textStyle={{ color: 'white' }}
|
|
156
151
|
style={styles.btnAction}
|
|
157
152
|
imgRightSrc={null}
|
|
158
153
|
isDisabled={!cardSelected || cardsList?.cards?.length === 0}
|