ordering-ui-react-native 0.22.2 → 0.22.3-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 +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/StripeMethodForm/index.tsx +4 -2
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/types/index.tsx +2 -1
- package/themes/business/index.tsx +2 -0
- 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 +2 -1
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +49 -27
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
- package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +36 -17
- package/themes/business/src/components/NewOrderNotification/index.tsx +40 -27
- package/themes/business/src/components/OrderDetails/Business.tsx +54 -37
- package/themes/business/src/components/OrderDetails/Delivery.tsx +138 -55
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +125 -43
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +62 -24
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +138 -64
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +210 -65
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +217 -156
- package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +39 -16
- package/themes/business/src/components/PreviousOrders/index.tsx +76 -66
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +173 -154
- package/themes/business/src/components/PrinterSettings/styles.tsx +20 -0
- 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 +16 -17
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +14 -5
- package/themes/business/src/utils/index.tsx +25 -1
- 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 +6 -0
- 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/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +11 -0
- package/themes/original/src/components/AddressForm/index.tsx +32 -17
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessController/index.tsx +5 -5
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +44 -32
- 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 +18 -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/index.tsx +1 -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 +38 -14
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +112 -58
- 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 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- 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 +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +3 -11
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +4 -7
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +29 -17
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +79 -56
- package/themes/original/src/components/MomentSelector/index.tsx +1 -1
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
- 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 -2
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- 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/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +13 -10
- 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 +5 -4
- package/themes/original/src/components/OrderSummary/index.tsx +29 -10
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- 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 +10 -8
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +51 -44
- package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
- 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 +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +86 -78
- package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
- 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 +10 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +76 -62
- package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -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 +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +159 -133
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserVerification/index.tsx +14 -4
- package/themes/original/src/components/Wallets/index.tsx +6 -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 +5 -1
- package/themes/original/src/utils/index.tsx +30 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
//React & React Native
|
|
2
1
|
import React, { useState, useEffect } from 'react';
|
|
3
2
|
import { StyleSheet, View } from 'react-native';
|
|
4
3
|
|
|
5
|
-
// Thirds
|
|
6
4
|
import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
|
|
7
5
|
import Clipboard from '@react-native-clipboard/clipboard';
|
|
6
|
+
import MCIcon from 'react-native-vector-icons/MaterialCommunityIcons';
|
|
8
7
|
|
|
9
|
-
//OrderingComponent
|
|
10
8
|
import {
|
|
11
9
|
useLanguage,
|
|
12
10
|
OrderDetails as OrderDetailsConTableoller,
|
|
@@ -14,16 +12,16 @@ import {
|
|
|
14
12
|
useSession,
|
|
15
13
|
ToastType,
|
|
16
14
|
useUtils,
|
|
17
|
-
useConfig
|
|
15
|
+
useConfig,
|
|
16
|
+
useApi
|
|
18
17
|
} from 'ordering-components/native';
|
|
19
18
|
|
|
20
|
-
//Components
|
|
21
19
|
import Alert from '../../providers/AlertProvider';
|
|
22
20
|
import { AcceptOrRejectOrder } from '../AcceptOrRejectOrder';
|
|
23
21
|
import { Chat } from '../Chat';
|
|
24
22
|
import { FloatingButton } from '../FloatingButton';
|
|
25
23
|
import { DriverMap } from '../DriverMap';
|
|
26
|
-
import { OButton } from '../shared';
|
|
24
|
+
import { OButton, OText } from '../shared';
|
|
27
25
|
import { OModal } from '../shared';
|
|
28
26
|
import { OrderDetailsParams } from '../../types';
|
|
29
27
|
import { USER_TYPE } from '../../config/constants';
|
|
@@ -32,8 +30,8 @@ import { NotFoundSource } from '../NotFoundSource';
|
|
|
32
30
|
import { verifyDecimals, getProductPrice, getOrderStatus } from '../../utils';
|
|
33
31
|
import { OrderHeaderComponent } from './OrderHeaderComponent';
|
|
34
32
|
import { OrderContentComponent } from './OrderContentComponent';
|
|
35
|
-
//Styles
|
|
36
33
|
import { OrderDetailsContainer, Pickup } from './styles';
|
|
34
|
+
import { useOfflineActions } from '../../../../../src/context/OfflineActions';
|
|
37
35
|
|
|
38
36
|
export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
39
37
|
const {
|
|
@@ -42,7 +40,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
42
40
|
setMessages,
|
|
43
41
|
readMessages,
|
|
44
42
|
messagesReadList,
|
|
45
|
-
handleChangeOrderStatus,
|
|
46
43
|
permissions,
|
|
47
44
|
askLocationPermission,
|
|
48
45
|
driverLocation,
|
|
@@ -56,20 +53,26 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
56
53
|
forceUpdate,
|
|
57
54
|
getPermissions,
|
|
58
55
|
orderAssingId,
|
|
59
|
-
isGrantedPermissions
|
|
56
|
+
isGrantedPermissions
|
|
60
57
|
} = props;
|
|
58
|
+
|
|
61
59
|
const [, { showToast }] = useToast();
|
|
62
60
|
const [{ parsePrice, parseNumber }] = useUtils();
|
|
63
61
|
const [{ configs }] = useConfig();
|
|
64
|
-
|
|
62
|
+
const [ordering] = useApi()
|
|
65
63
|
const { order } = props.order
|
|
64
|
+
const isDelosiProject = ['delosi', 'delosipruebas'].includes(ordering?.project)
|
|
66
65
|
|
|
67
66
|
const hideTimer = configs?.hidden_driver_eta_time?.value === '1'
|
|
68
67
|
const isAllowedDriverRejectOrder = configs?.allow_driver_reject_order?.value === '1'
|
|
69
68
|
const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1'
|
|
69
|
+
const isEnabledOrderNotReady = configs?.order_not_ready_enabled?.value === '1'
|
|
70
|
+
const isEnabledFailedPickupDriver = configs?.failed_pickup_by_driver_enabled?.value === '1'
|
|
70
71
|
const theme = useTheme();
|
|
71
72
|
const [, t] = useLanguage();
|
|
72
73
|
const [session] = useSession();
|
|
74
|
+
const [{ isNetConnected, canSaveChangesOffline }, { applyOffAction, registerOffOrder }] = useOfflineActions()
|
|
75
|
+
|
|
73
76
|
const [actionOrder, setActionOrder] = useState('');
|
|
74
77
|
const [unreadAlert, setUnreadAlert] = useState({
|
|
75
78
|
business: false,
|
|
@@ -84,12 +87,17 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
84
87
|
key?: string | null;
|
|
85
88
|
}>({ open: false, content: [], key: null });
|
|
86
89
|
|
|
87
|
-
const
|
|
90
|
+
const disabledActionsByInternet = isNetConnected !== null && !isNetConnected && canSaveChangesOffline === false
|
|
91
|
+
|
|
92
|
+
const validStatusComplete = [9, 19, 23, 26]
|
|
88
93
|
|
|
89
94
|
const pendingOrderStatus = [1, 4, 7, 13]
|
|
90
95
|
|
|
91
96
|
const logisticOrderStatus = [4, 6, 7]
|
|
92
97
|
|
|
98
|
+
const deliveryTypes = [1, 7]
|
|
99
|
+
|
|
100
|
+
|
|
93
101
|
const showFloatButtonsPickUp: any = {
|
|
94
102
|
8: !isHideRejectButtons,
|
|
95
103
|
3: true,
|
|
@@ -103,13 +111,23 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
103
111
|
14: true
|
|
104
112
|
};
|
|
105
113
|
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
114
|
+
const handleChangeOrderStatus = async (status: number) => {
|
|
115
|
+
if (!isNetConnected && canSaveChangesOffline !== false) {
|
|
116
|
+
const result = applyOffAction({
|
|
117
|
+
event: 'evt_off_change_order_status',
|
|
118
|
+
data: { orderId: order?.id, body: { status } }
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const dataToSave: any = !isNetConnected && canSaveChangesOffline !== false
|
|
123
|
+
? { dataToSave: { status, unsync: true } }
|
|
124
|
+
: null
|
|
125
|
+
const orderUpdated = await props.handleChangeOrderStatus(status, {}, dataToSave)
|
|
126
|
+
|
|
127
|
+
if (!isNetConnected && canSaveChangesOffline !== false) {
|
|
128
|
+
await registerOffOrder(orderUpdated)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
113
131
|
|
|
114
132
|
const handleOpenMessagesForBusiness = () => {
|
|
115
133
|
setOpenModalForBusiness(true);
|
|
@@ -220,7 +238,13 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
220
238
|
? t('EAT_IN', 'Eat in')
|
|
221
239
|
: order.delivery_type === 4
|
|
222
240
|
? t('CURBSIDE', 'Curbside')
|
|
223
|
-
:
|
|
241
|
+
: order.delivery_type === 5
|
|
242
|
+
? t('DRIVER_THRU', 'Driver thru')
|
|
243
|
+
: order.delivery_type === 7
|
|
244
|
+
? t('CATERING_DELIVERY', 'Catering delivery')
|
|
245
|
+
: order.delivery_type === 8
|
|
246
|
+
? t('CATERING_PICKUP', 'Catering pickup')
|
|
247
|
+
: t('DELIVERY', 'Delivery')
|
|
224
248
|
}\n`
|
|
225
249
|
: '';
|
|
226
250
|
|
|
@@ -426,6 +450,16 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
426
450
|
forceUpdate && handleViewActionOrder && handleViewActionOrder(forceUpdate === 9 ? 'forcePickUp' : 'forceDelivery')
|
|
427
451
|
}, [forceUpdate])
|
|
428
452
|
|
|
453
|
+
useEffect(() => {
|
|
454
|
+
if (!!props.order?.error || props.order?.error?.length > 0) {
|
|
455
|
+
showToast(ToastType.Error,
|
|
456
|
+
props.order?.error?.[0] ||
|
|
457
|
+
props.order?.error ||
|
|
458
|
+
t('NETWORK_ERROR', 'Network Error'),
|
|
459
|
+
5000)
|
|
460
|
+
}
|
|
461
|
+
}, [props.order?.error])
|
|
462
|
+
|
|
429
463
|
const styles = StyleSheet.create({
|
|
430
464
|
btnPickUp: {
|
|
431
465
|
borderWidth: 0,
|
|
@@ -437,8 +471,10 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
437
471
|
let locationMarker: any;
|
|
438
472
|
let isToFollow = false;
|
|
439
473
|
let isBusinessMarker = false;
|
|
440
|
-
|
|
441
|
-
|
|
474
|
+
const customerStatusses = [3, 9, 19, 23, 26]
|
|
475
|
+
const businessStatusses = [7, 8, 18]
|
|
476
|
+
const arrivedCustomerStatusses = [9, 19, 23]
|
|
477
|
+
if (businessStatusses?.includes(order?.status)) {
|
|
442
478
|
const markerBusiness = 'Business';
|
|
443
479
|
isBusinessMarker = true;
|
|
444
480
|
locationMarker = locations.find(
|
|
@@ -448,7 +484,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
448
484
|
if (order?.status === 8 || order?.status === 18) {
|
|
449
485
|
isToFollow = true;
|
|
450
486
|
}
|
|
451
|
-
} else if (
|
|
487
|
+
} else if (customerStatusses?.includes(order?.status)) {
|
|
452
488
|
const markerCustomer = 'Customer';
|
|
453
489
|
isToFollow = true;
|
|
454
490
|
isBusinessMarker = false;
|
|
@@ -476,20 +512,35 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
476
512
|
isOrderGroup={isOrderGroup}
|
|
477
513
|
lastOrder={lastOrder}
|
|
478
514
|
/>
|
|
479
|
-
{(order?.status === 8 || order?.status === 18) && order?.delivery_type
|
|
515
|
+
{(order?.status === 8 || order?.status === 18) && deliveryTypes?.includes(order?.delivery_type) && !props.order?.loading && (
|
|
480
516
|
<Pickup>
|
|
481
517
|
<OButton
|
|
482
518
|
style={styles.btnPickUp}
|
|
483
519
|
textStyle={{ color: theme.colors.primary }}
|
|
484
520
|
text={t('ARRIVED_TO_BUSINESS', 'Arrived to bussiness')}
|
|
521
|
+
isDisabled={disabledActionsByInternet}
|
|
485
522
|
onClick={() =>
|
|
486
|
-
|
|
523
|
+
isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
|
|
487
524
|
}
|
|
488
525
|
imgLeftStyle={{ tintColor: theme.colors.backArrow }}
|
|
489
526
|
/>
|
|
490
527
|
</Pickup>
|
|
491
528
|
)}
|
|
492
|
-
{order?.status
|
|
529
|
+
{arrivedCustomerStatusses.includes(order?.status) && deliveryTypes?.includes(order?.delivery_type) && !props.order?.loading && (
|
|
530
|
+
<View style={{ paddingVertical: 20, marginBottom: 20 }}>
|
|
531
|
+
<OButton
|
|
532
|
+
style={styles.btnPickUp}
|
|
533
|
+
textStyle={{ color: theme.colors.primary }}
|
|
534
|
+
text={t('ARRIVED_TO_CUSTOMER', 'Arrived to customer')}
|
|
535
|
+
isDisabled={disabledActionsByInternet}
|
|
536
|
+
onClick={() =>
|
|
537
|
+
isGrantedPermissions ? handleChangeOrderStatus(26) : goToPermissionPage()
|
|
538
|
+
}
|
|
539
|
+
imgLeftStyle={{ tintColor: theme.colors.backArrow }}
|
|
540
|
+
/>
|
|
541
|
+
</View>
|
|
542
|
+
)}
|
|
543
|
+
{order?.status === 3 && deliveryTypes?.includes(order?.delivery_type) && !isHideRejectButtons && isEnabledOrderNotReady && !props.order?.loading && (
|
|
493
544
|
<View style={{ paddingVertical: 20, marginBottom: 20 }}>
|
|
494
545
|
<OButton
|
|
495
546
|
style={styles.btnPickUp}
|
|
@@ -506,7 +557,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
506
557
|
<View
|
|
507
558
|
style={{
|
|
508
559
|
height:
|
|
509
|
-
order?.status === 8 && order?.delivery_type
|
|
560
|
+
order?.status === 8 && deliveryTypes?.includes(order?.delivery_type) ? 50 : 35,
|
|
510
561
|
}}
|
|
511
562
|
/>
|
|
512
563
|
|
|
@@ -533,21 +584,31 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
533
584
|
))}
|
|
534
585
|
</View>
|
|
535
586
|
)}
|
|
536
|
-
|
|
537
|
-
{(!!props.order?.error || props.order?.error?.length > 0) && (
|
|
538
|
-
<NotFoundSource
|
|
539
|
-
btnTitle={t('GO_TO_MY_ORDERS', 'Go to my orders')}
|
|
540
|
-
content={
|
|
541
|
-
props.order.error[0] ||
|
|
542
|
-
props.order.error ||
|
|
543
|
-
t('NETWORK_ERROR', 'Network Error')
|
|
544
|
-
}
|
|
545
|
-
onClickButton={() => navigation.navigate('Orders')}
|
|
546
|
-
/>
|
|
547
|
-
)}
|
|
548
587
|
{!((!order || Object.keys(order).length === 0) &&
|
|
549
|
-
(props.order?.error?.length < 1 || !props.order?.error)) && (
|
|
588
|
+
(props.order?.error?.length < 1 || !props.order?.error)) && order?.id && (
|
|
550
589
|
<View style={{ flex: 1 }}>
|
|
590
|
+
{order?.unsync && (
|
|
591
|
+
<View
|
|
592
|
+
style={{
|
|
593
|
+
flexDirection: 'row',
|
|
594
|
+
justifyContent: 'flex-start',
|
|
595
|
+
alignItems: 'center'
|
|
596
|
+
}}
|
|
597
|
+
>
|
|
598
|
+
<MCIcon
|
|
599
|
+
name={'cloud-sync'}
|
|
600
|
+
color={'#444'}
|
|
601
|
+
size={16}
|
|
602
|
+
/>
|
|
603
|
+
<OText
|
|
604
|
+
size={14}
|
|
605
|
+
color={theme.colors.textGray}
|
|
606
|
+
style={{ marginLeft: 5 }}
|
|
607
|
+
>
|
|
608
|
+
{t('PENDING_SYNC_CHANGES', 'Pending sync changes')}
|
|
609
|
+
</OText>
|
|
610
|
+
</View>
|
|
611
|
+
)}
|
|
551
612
|
<OrderHeaderComponent
|
|
552
613
|
order={order}
|
|
553
614
|
handleOpenMapView={handleOpenMapView}
|
|
@@ -571,11 +632,11 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
571
632
|
</OrderDetailsContainer>
|
|
572
633
|
{showFloatButtonsPickUp[order?.status] && (
|
|
573
634
|
<FloatingButton
|
|
574
|
-
disabled={props.order?.loading}
|
|
635
|
+
disabled={props.order?.loading || disabledActionsByInternet}
|
|
575
636
|
btnText={t('PICKUP_FAILED', 'Pickup failed')}
|
|
576
637
|
isSecondaryBtn={false}
|
|
577
638
|
secondButtonClick={() =>
|
|
578
|
-
|
|
639
|
+
isGrantedPermissions ? handleChangeOrderStatus(9) : goToPermissionPage()
|
|
579
640
|
}
|
|
580
641
|
firstButtonClick={() =>
|
|
581
642
|
handleViewActionOrder && handleViewActionOrder('pickupFailed')
|
|
@@ -584,43 +645,52 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
584
645
|
secondButton={true}
|
|
585
646
|
firstColorCustom={theme.colors.red}
|
|
586
647
|
secondColorCustom={theme.colors.green}
|
|
587
|
-
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
588
|
-
isHideRejectButtons={isHideRejectButtons}
|
|
648
|
+
widthButton={isHideRejectButtons || !isEnabledFailedPickupDriver ? '100%' : '45%'}
|
|
649
|
+
isHideRejectButtons={isHideRejectButtons || !isEnabledFailedPickupDriver}
|
|
589
650
|
/>
|
|
590
651
|
)}
|
|
591
|
-
{(validStatusComplete.includes(order?.status)) && (
|
|
652
|
+
{(validStatusComplete.includes(order?.status)) && !(isDelosiProject && order?.status !== 26 && isHideRejectButtons) && (
|
|
592
653
|
<>
|
|
593
654
|
<FloatingButton
|
|
594
|
-
disabled={props.order?.loading}
|
|
655
|
+
disabled={props.order?.loading || disabledActionsByInternet}
|
|
595
656
|
btnText={t('DELIVERY_FAILED', 'Delivery Failed')}
|
|
596
657
|
isSecondaryBtn={false}
|
|
597
658
|
secondButtonClick={() =>
|
|
598
|
-
|
|
659
|
+
isGrantedPermissions ? handleChangeOrderStatus(11) : goToPermissionPage()
|
|
599
660
|
}
|
|
600
661
|
firstButtonClick={() =>
|
|
601
662
|
handleViewActionOrder && handleViewActionOrder('deliveryFailed')
|
|
602
663
|
}
|
|
603
664
|
secondBtnText={t('DELIVERY_COMPLETE', 'Delivery complete')}
|
|
604
|
-
secondButton={true}
|
|
665
|
+
secondButton={isDelosiProject ? order?.status === 26 : true}
|
|
605
666
|
firstColorCustom={theme.colors.red}
|
|
667
|
+
principalButtonColor={theme.colors.red}
|
|
606
668
|
secondColorCustom={theme.colors.green}
|
|
607
|
-
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
669
|
+
widthButton={isHideRejectButtons || (isDelosiProject && order?.status !== 26) ? '100%' : '45%'}
|
|
608
670
|
isHideRejectButtons={isHideRejectButtons}
|
|
609
671
|
/>
|
|
610
672
|
</>
|
|
611
673
|
)}
|
|
612
674
|
{showFloatButtonsAcceptOrReject[order?.status] && (
|
|
613
675
|
<FloatingButton
|
|
676
|
+
disabled={props.order?.loading || disabledActionsByInternet}
|
|
677
|
+
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
678
|
+
isHideRejectButtons={isHideRejectButtons}
|
|
614
679
|
btnText={t('REJECT', 'Reject')}
|
|
680
|
+
firstColorCustom={theme.colors.red}
|
|
681
|
+
firstButtonClick={() => order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status))
|
|
682
|
+
? handleRejectLogisticOrder()
|
|
683
|
+
: handleViewActionOrder('reject')
|
|
684
|
+
}
|
|
615
685
|
isSecondaryBtn={false}
|
|
616
|
-
secondButtonClick={() => hideTimer ? handleChangeOrderStatus && handleChangeOrderStatus(8) : (order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status))) ? handleAcceptLogisticOrder(order) : handleViewActionOrder('accept')}
|
|
617
|
-
firstButtonClick={() => order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status)) ? handleRejectLogisticOrder() : handleViewActionOrder('reject')}
|
|
618
|
-
secondBtnText={t('ACCEPT', 'Accept')}
|
|
619
686
|
secondButton={true}
|
|
620
|
-
|
|
687
|
+
secondBtnText={t('ACCEPT', 'Accept')}
|
|
688
|
+
secondButtonClick={() => hideTimer
|
|
689
|
+
? handleChangeOrderStatus(8)
|
|
690
|
+
: (order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status)))
|
|
691
|
+
? handleAcceptLogisticOrder(order)
|
|
692
|
+
: handleViewActionOrder('accept')}
|
|
621
693
|
secondColorCustom={theme.colors.green}
|
|
622
|
-
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
623
|
-
isHideRejectButtons={isHideRejectButtons}
|
|
624
694
|
/>
|
|
625
695
|
)}
|
|
626
696
|
</>
|
|
@@ -675,7 +745,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
675
745
|
entireModal
|
|
676
746
|
customClose>
|
|
677
747
|
<AcceptOrRejectOrder
|
|
678
|
-
handleUpdateOrder={handleChangeOrderStatus}
|
|
748
|
+
handleUpdateOrder={props.handleChangeOrderStatus}
|
|
679
749
|
closeModal={setOpenModalForAccept}
|
|
680
750
|
customerCellphone={order?.customer?.cellphone}
|
|
681
751
|
loading={props.order?.loading}
|
|
@@ -685,11 +755,24 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
685
755
|
actions={actions}
|
|
686
756
|
orderTitle={orderTitle}
|
|
687
757
|
appTitle={appTitle}
|
|
758
|
+
isLoadingOrder={props.order?.loading}
|
|
688
759
|
/>
|
|
689
760
|
</OModal>
|
|
690
761
|
)}
|
|
691
762
|
</View>
|
|
692
763
|
)}
|
|
764
|
+
|
|
765
|
+
{(!!props.order?.error || props.order?.error?.length > 0) && (
|
|
766
|
+
<NotFoundSource
|
|
767
|
+
btnTitle={t('GO_TO_MY_ORDERS', 'Go to my orders')}
|
|
768
|
+
content={
|
|
769
|
+
props.order.error[0] ||
|
|
770
|
+
props.order.error ||
|
|
771
|
+
t('NETWORK_ERROR', 'Network Error')
|
|
772
|
+
}
|
|
773
|
+
onClickButton={() => navigation.navigate('Orders')}
|
|
774
|
+
/>
|
|
775
|
+
)}
|
|
693
776
|
{alertState?.open && (
|
|
694
777
|
<Alert
|
|
695
778
|
open={alertState.open}
|