ordering-ui-react-native 0.22.21 → 0.22.22-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.
Files changed (164) hide show
  1. package/package.json +6 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/Checkout/index.tsx +40 -39
  5. package/src/components/StripeMethodForm/index.tsx +4 -2
  6. package/src/components/VerifyPhone/styles.tsx +1 -2
  7. package/src/context/OfflineActions/index.tsx +236 -0
  8. package/src/types/index.tsx +2 -1
  9. package/themes/business/index.tsx +2 -0
  10. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
  11. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  12. package/themes/business/src/components/BusinessController/index.tsx +8 -3
  13. package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
  14. package/themes/business/src/components/Chat/index.tsx +15 -3
  15. package/themes/business/src/components/DriverMap/index.tsx +49 -26
  16. package/themes/business/src/components/FloatingButton/index.tsx +3 -2
  17. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  18. package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
  19. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  20. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  21. package/themes/business/src/components/MapView/index.tsx +36 -17
  22. package/themes/business/src/components/NewOrderNotification/index.tsx +38 -19
  23. package/themes/business/src/components/OrderDetails/Business.tsx +47 -27
  24. package/themes/business/src/components/OrderDetails/Delivery.tsx +134 -53
  25. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +128 -41
  26. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +45 -18
  27. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  28. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
  29. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
  30. package/themes/business/src/components/OrderSummary/index.tsx +6 -4
  31. package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
  32. package/themes/business/src/components/OrdersOption/index.tsx +217 -156
  33. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  34. package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
  35. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +39 -16
  36. package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
  37. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
  38. package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
  39. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
  40. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  41. package/themes/business/src/components/PrinterSettings/index.tsx +162 -174
  42. package/themes/business/src/components/PrinterSettings/styles.tsx +14 -1
  43. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  44. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  45. package/themes/business/src/components/StoresList/index.tsx +2 -2
  46. package/themes/business/src/components/UserProfileForm/index.tsx +55 -22
  47. package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
  48. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  49. package/themes/business/src/components/shared/OTextarea.tsx +8 -9
  50. package/themes/business/src/config/currency.tsx +1010 -0
  51. package/themes/business/src/hooks/useLocation.tsx +16 -12
  52. package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
  53. package/themes/business/src/types/index.tsx +16 -4
  54. package/themes/business/src/utils/index.tsx +33 -3
  55. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  56. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  57. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  58. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  59. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  60. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  61. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  62. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  63. package/themes/original/index.tsx +11 -0
  64. package/themes/original/src/components/AddressForm/index.tsx +32 -17
  65. package/themes/original/src/components/AddressList/index.tsx +8 -7
  66. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  67. package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
  68. package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
  69. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
  70. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +8 -6
  71. package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
  72. package/themes/original/src/components/BusinessPreorder/index.tsx +46 -28
  73. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
  74. package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
  75. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  76. package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
  77. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  78. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  79. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  80. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  81. package/themes/original/src/components/Cart/index.tsx +46 -14
  82. package/themes/original/src/components/CartContent/index.tsx +2 -4
  83. package/themes/original/src/components/Checkout/index.tsx +127 -77
  84. package/themes/original/src/components/CitiesControl/index.tsx +0 -3
  85. package/themes/original/src/components/CouponControl/index.tsx +1 -3
  86. package/themes/original/src/components/DriverTips/index.tsx +1 -3
  87. package/themes/original/src/components/Favorite/index.tsx +1 -5
  88. package/themes/original/src/components/FavoriteList/index.tsx +0 -1
  89. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
  90. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
  91. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
  92. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
  93. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
  94. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
  95. package/themes/original/src/components/GoogleMap/index.tsx +39 -18
  96. package/themes/original/src/components/Help/index.tsx +2 -0
  97. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  98. package/themes/original/src/components/Home/index.tsx +3 -11
  99. package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
  100. package/themes/original/src/components/LoginForm/index.tsx +12 -9
  101. package/themes/original/src/components/MessageListing/index.tsx +2 -1
  102. package/themes/original/src/components/Messages/index.tsx +27 -19
  103. package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
  104. package/themes/original/src/components/MomentOption/index.tsx +80 -51
  105. package/themes/original/src/components/MomentSelector/index.tsx +5 -2
  106. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
  107. package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
  108. package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
  109. package/themes/original/src/components/MyOrders/index.tsx +2 -2
  110. package/themes/original/src/components/NavBar/index.tsx +7 -4
  111. package/themes/original/src/components/NetworkError/index.tsx +0 -5
  112. package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
  113. package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
  114. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +16 -11
  115. package/themes/original/src/components/OrderDetails/index.tsx +44 -21
  116. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  117. package/themes/original/src/components/OrderProgress/index.tsx +4 -3
  118. package/themes/original/src/components/OrderSummary/index.tsx +29 -10
  119. package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
  120. package/themes/original/src/components/OrdersOption/index.tsx +3 -6
  121. package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
  122. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  123. package/themes/original/src/components/PaymentOptions/index.tsx +4 -3
  124. package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
  125. package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
  126. package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
  127. package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
  128. package/themes/original/src/components/ProductForm/index.tsx +107 -102
  129. package/themes/original/src/components/ProductItemAccordion/index.tsx +50 -43
  130. package/themes/original/src/components/ProductItemAccordion/styles.tsx +0 -3
  131. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  132. package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
  133. package/themes/original/src/components/Promotions/index.tsx +6 -9
  134. package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
  135. package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
  136. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  137. package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
  138. package/themes/original/src/components/ServiceForm/index.tsx +52 -54
  139. package/themes/original/src/components/Sessions/index.tsx +3 -3
  140. package/themes/original/src/components/SignupForm/index.tsx +102 -88
  141. package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
  142. package/themes/original/src/components/SingleProductCard/index.tsx +5 -5
  143. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  144. package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
  145. package/themes/original/src/components/StripeCardsList/index.tsx +16 -3
  146. package/themes/original/src/components/StripeElementsForm/index.tsx +76 -62
  147. package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
  148. package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
  149. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  150. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
  151. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
  152. package/themes/original/src/components/UserDetails/index.tsx +17 -16
  153. package/themes/original/src/components/UserFormDetails/index.tsx +164 -135
  154. package/themes/original/src/components/UserProfile/index.tsx +9 -1
  155. package/themes/original/src/components/UserVerification/index.tsx +15 -4
  156. package/themes/original/src/components/Wallets/index.tsx +6 -3
  157. package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
  158. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  159. package/themes/original/src/components/shared/OButton.tsx +5 -4
  160. package/themes/original/src/components/shared/OInput.tsx +4 -8
  161. package/themes/original/src/components/shared/OModal.tsx +7 -2
  162. package/themes/original/src/types/index.tsx +10 -3
  163. package/themes/original/src/utils/index.tsx +30 -1
  164. 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,13 +53,15 @@ 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'
@@ -72,6 +71,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
72
71
  const theme = useTheme();
73
72
  const [, t] = useLanguage();
74
73
  const [session] = useSession();
74
+ const [{ isNetConnected, canSaveChangesOffline }, { applyOffAction, registerOffOrder }] = useOfflineActions()
75
+
75
76
  const [actionOrder, setActionOrder] = useState('');
76
77
  const [unreadAlert, setUnreadAlert] = useState({
77
78
  business: false,
@@ -86,12 +87,17 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
86
87
  key?: string | null;
87
88
  }>({ open: false, content: [], key: null });
88
89
 
89
- const validStatusComplete = [9, 19, 23]
90
+ const disabledActionsByInternet = isNetConnected !== null && !isNetConnected && canSaveChangesOffline === false
91
+
92
+ const validStatusComplete = [9, 19, 23, 26]
90
93
 
91
94
  const pendingOrderStatus = [1, 4, 7, 13]
92
95
 
93
96
  const logisticOrderStatus = [4, 6, 7]
94
97
 
98
+ const deliveryTypes = [1, 7]
99
+
100
+
95
101
  const showFloatButtonsPickUp: any = {
96
102
  8: !isHideRejectButtons,
97
103
  3: true,
@@ -105,13 +111,23 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
105
111
  14: true
106
112
  };
107
113
 
108
- const marginContainer: any = {
109
- 0: true,
110
- 3: true,
111
- 7: true,
112
- 8: true,
113
- 9: true,
114
- };
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
+ }
115
131
 
116
132
  const handleOpenMessagesForBusiness = () => {
117
133
  setOpenModalForBusiness(true);
@@ -222,7 +238,13 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
222
238
  ? t('EAT_IN', 'Eat in')
223
239
  : order.delivery_type === 4
224
240
  ? t('CURBSIDE', 'Curbside')
225
- : t('DRIVER_THRU', 'Driver thru')
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')
226
248
  }\n`
227
249
  : '';
228
250
 
@@ -428,6 +450,16 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
428
450
  forceUpdate && handleViewActionOrder && handleViewActionOrder(forceUpdate === 9 ? 'forcePickUp' : 'forceDelivery')
429
451
  }, [forceUpdate])
430
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
+
431
463
  const styles = StyleSheet.create({
432
464
  btnPickUp: {
433
465
  borderWidth: 0,
@@ -439,8 +471,10 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
439
471
  let locationMarker: any;
440
472
  let isToFollow = false;
441
473
  let isBusinessMarker = false;
442
-
443
- if (order?.status === 7 || order?.status === 8 || order?.status === 18) {
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)) {
444
478
  const markerBusiness = 'Business';
445
479
  isBusinessMarker = true;
446
480
  locationMarker = locations.find(
@@ -450,7 +484,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
450
484
  if (order?.status === 8 || order?.status === 18) {
451
485
  isToFollow = true;
452
486
  }
453
- } else if (order?.status === 3 || order?.status === 9 || order?.status === 19 || order?.status === 23) {
487
+ } else if (customerStatusses?.includes(order?.status)) {
454
488
  const markerCustomer = 'Customer';
455
489
  isToFollow = true;
456
490
  isBusinessMarker = false;
@@ -478,20 +512,35 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
478
512
  isOrderGroup={isOrderGroup}
479
513
  lastOrder={lastOrder}
480
514
  />
481
- {(order?.status === 8 || order?.status === 18) && order?.delivery_type === 1 && (
515
+ {(order?.status === 8 || order?.status === 18) && deliveryTypes?.includes(order?.delivery_type) && !props.order?.loading && (
482
516
  <Pickup>
483
517
  <OButton
484
518
  style={styles.btnPickUp}
485
519
  textStyle={{ color: theme.colors.primary }}
486
520
  text={t('ARRIVED_TO_BUSINESS', 'Arrived to bussiness')}
521
+ isDisabled={disabledActionsByInternet}
487
522
  onClick={() =>
488
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
523
+ isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
489
524
  }
490
525
  imgLeftStyle={{ tintColor: theme.colors.backArrow }}
491
526
  />
492
527
  </Pickup>
493
528
  )}
494
- {order?.status === 3 && order?.delivery_type === 1 && !isHideRejectButtons && isEnabledOrderNotReady && (
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 && (
495
544
  <View style={{ paddingVertical: 20, marginBottom: 20 }}>
496
545
  <OButton
497
546
  style={styles.btnPickUp}
@@ -508,7 +557,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
508
557
  <View
509
558
  style={{
510
559
  height:
511
- order?.status === 8 && order?.delivery_type === 1 ? 50 : 35,
560
+ order?.status === 8 && deliveryTypes?.includes(order?.delivery_type) ? 50 : 35,
512
561
  }}
513
562
  />
514
563
 
@@ -535,21 +584,31 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
535
584
  ))}
536
585
  </View>
537
586
  )}
538
-
539
- {(!!props.order?.error || props.order?.error?.length > 0) && (
540
- <NotFoundSource
541
- btnTitle={t('GO_TO_MY_ORDERS', 'Go to my orders')}
542
- content={
543
- props.order.error[0] ||
544
- props.order.error ||
545
- t('NETWORK_ERROR', 'Network Error')
546
- }
547
- onClickButton={() => navigation.navigate('Orders')}
548
- />
549
- )}
550
587
  {!((!order || Object.keys(order).length === 0) &&
551
- (props.order?.error?.length < 1 || !props.order?.error)) && (
588
+ (props.order?.error?.length < 1 || !props.order?.error)) && order?.id && (
552
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
+ )}
553
612
  <OrderHeaderComponent
554
613
  order={order}
555
614
  handleOpenMapView={handleOpenMapView}
@@ -573,11 +632,11 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
573
632
  </OrderDetailsContainer>
574
633
  {showFloatButtonsPickUp[order?.status] && (
575
634
  <FloatingButton
576
- disabled={props.order?.loading}
635
+ disabled={props.order?.loading || disabledActionsByInternet}
577
636
  btnText={t('PICKUP_FAILED', 'Pickup failed')}
578
637
  isSecondaryBtn={false}
579
638
  secondButtonClick={() =>
580
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(9) : goToPermissionPage()
639
+ isGrantedPermissions ? handleChangeOrderStatus(9) : goToPermissionPage()
581
640
  }
582
641
  firstButtonClick={() =>
583
642
  handleViewActionOrder && handleViewActionOrder('pickupFailed')
@@ -590,39 +649,48 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
590
649
  isHideRejectButtons={isHideRejectButtons || !isEnabledFailedPickupDriver}
591
650
  />
592
651
  )}
593
- {(validStatusComplete.includes(order?.status)) && (
652
+ {(validStatusComplete.includes(order?.status)) && !(isDelosiProject && order?.status !== 26 && isHideRejectButtons) && (
594
653
  <>
595
654
  <FloatingButton
596
- disabled={props.order?.loading}
655
+ disabled={props.order?.loading || disabledActionsByInternet}
597
656
  btnText={t('DELIVERY_FAILED', 'Delivery Failed')}
598
657
  isSecondaryBtn={false}
599
658
  secondButtonClick={() =>
600
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(11) : goToPermissionPage()
659
+ isGrantedPermissions ? handleChangeOrderStatus(11) : goToPermissionPage()
601
660
  }
602
661
  firstButtonClick={() =>
603
662
  handleViewActionOrder && handleViewActionOrder('deliveryFailed')
604
663
  }
605
664
  secondBtnText={t('DELIVERY_COMPLETE', 'Delivery complete')}
606
- secondButton={true}
665
+ secondButton={isDelosiProject ? order?.status === 26 : true}
607
666
  firstColorCustom={theme.colors.red}
667
+ principalButtonColor={theme.colors.red}
608
668
  secondColorCustom={theme.colors.green}
609
- widthButton={isHideRejectButtons ? '100%' : '45%'}
669
+ widthButton={isHideRejectButtons || (isDelosiProject && order?.status !== 26) ? '100%' : '45%'}
610
670
  isHideRejectButtons={isHideRejectButtons}
611
671
  />
612
672
  </>
613
673
  )}
614
674
  {showFloatButtonsAcceptOrReject[order?.status] && (
615
675
  <FloatingButton
676
+ disabled={props.order?.loading || disabledActionsByInternet}
677
+ widthButton={isHideRejectButtons ? '100%' : '45%'}
678
+ isHideRejectButtons={isHideRejectButtons}
616
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
+ }
617
685
  isSecondaryBtn={false}
618
- secondButtonClick={() => hideTimer ? handleChangeOrderStatus && handleChangeOrderStatus(8) : (order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status))) ? handleAcceptLogisticOrder(order) : handleViewActionOrder('accept')}
619
- firstButtonClick={() => order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status)) ? handleRejectLogisticOrder() : handleViewActionOrder('reject')}
620
- secondBtnText={t('ACCEPT', 'Accept')}
621
686
  secondButton={true}
622
- firstColorCustom={theme.colors.red}
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')}
623
693
  secondColorCustom={theme.colors.green}
624
- widthButton={isHideRejectButtons ? '100%' : '45%'}
625
- isHideRejectButtons={isHideRejectButtons}
626
694
  />
627
695
  )}
628
696
  </>
@@ -677,7 +745,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
677
745
  entireModal
678
746
  customClose>
679
747
  <AcceptOrRejectOrder
680
- handleUpdateOrder={handleChangeOrderStatus}
748
+ handleUpdateOrder={props.handleChangeOrderStatus}
681
749
  closeModal={setOpenModalForAccept}
682
750
  customerCellphone={order?.customer?.cellphone}
683
751
  loading={props.order?.loading}
@@ -687,11 +755,24 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
687
755
  actions={actions}
688
756
  orderTitle={orderTitle}
689
757
  appTitle={appTitle}
758
+ isLoadingOrder={props.order?.loading}
690
759
  />
691
760
  </OModal>
692
761
  )}
693
762
  </View>
694
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
+ )}
695
776
  {alertState?.open && (
696
777
  <Alert
697
778
  open={alertState.open}