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.
Files changed (161) 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/StripeMethodForm/index.tsx +4 -2
  5. package/src/components/VerifyPhone/styles.tsx +1 -2
  6. package/src/context/OfflineActions/index.tsx +236 -0
  7. package/src/types/index.tsx +2 -1
  8. package/themes/business/index.tsx +2 -0
  9. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
  10. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  11. package/themes/business/src/components/BusinessController/index.tsx +8 -3
  12. package/themes/business/src/components/BusinessProductList/index.tsx +2 -1
  13. package/themes/business/src/components/Chat/index.tsx +15 -3
  14. package/themes/business/src/components/DriverMap/index.tsx +49 -27
  15. package/themes/business/src/components/FloatingButton/index.tsx +3 -2
  16. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  17. package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
  18. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  19. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  20. package/themes/business/src/components/MapView/index.tsx +36 -17
  21. package/themes/business/src/components/NewOrderNotification/index.tsx +40 -27
  22. package/themes/business/src/components/OrderDetails/Business.tsx +54 -37
  23. package/themes/business/src/components/OrderDetails/Delivery.tsx +138 -55
  24. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +125 -43
  25. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +62 -24
  26. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  27. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +138 -64
  28. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
  29. package/themes/business/src/components/OrderSummary/index.tsx +210 -65
  30. package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
  31. package/themes/business/src/components/OrdersOption/index.tsx +217 -156
  32. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  33. package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
  34. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +39 -16
  35. package/themes/business/src/components/PreviousOrders/index.tsx +76 -66
  36. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
  37. package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
  38. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
  39. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  40. package/themes/business/src/components/PrinterSettings/index.tsx +173 -154
  41. package/themes/business/src/components/PrinterSettings/styles.tsx +20 -0
  42. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  43. package/themes/business/src/components/StoresList/index.tsx +2 -2
  44. package/themes/business/src/components/UserProfileForm/index.tsx +16 -17
  45. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  46. package/themes/business/src/components/shared/OTextarea.tsx +8 -9
  47. package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
  48. package/themes/business/src/types/index.tsx +14 -5
  49. package/themes/business/src/utils/index.tsx +25 -1
  50. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  52. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  53. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  54. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  55. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  56. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  57. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  58. package/themes/original/index.tsx +11 -0
  59. package/themes/original/src/components/AddressForm/index.tsx +32 -17
  60. package/themes/original/src/components/AddressList/index.tsx +8 -7
  61. package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
  62. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  63. package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
  64. package/themes/original/src/components/BusinessController/index.tsx +5 -5
  65. package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
  66. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
  67. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
  68. package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
  69. package/themes/original/src/components/BusinessPreorder/index.tsx +44 -32
  70. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
  71. package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
  72. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  73. package/themes/original/src/components/BusinessProductsListing/index.tsx +18 -6
  74. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  75. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  76. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
  77. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  78. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  79. package/themes/original/src/components/Cart/index.tsx +38 -14
  80. package/themes/original/src/components/CartContent/index.tsx +2 -4
  81. package/themes/original/src/components/Checkout/index.tsx +112 -58
  82. package/themes/original/src/components/CitiesControl/index.tsx +0 -3
  83. package/themes/original/src/components/CouponControl/index.tsx +1 -3
  84. package/themes/original/src/components/DriverTips/index.tsx +1 -3
  85. package/themes/original/src/components/Favorite/index.tsx +1 -5
  86. package/themes/original/src/components/FavoriteList/index.tsx +0 -1
  87. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
  88. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
  89. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
  90. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
  91. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
  92. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
  93. package/themes/original/src/components/GoogleMap/index.tsx +39 -18
  94. package/themes/original/src/components/Help/index.tsx +2 -0
  95. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  96. package/themes/original/src/components/Home/index.tsx +3 -11
  97. package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
  98. package/themes/original/src/components/LoginForm/index.tsx +4 -7
  99. package/themes/original/src/components/MessageListing/index.tsx +2 -1
  100. package/themes/original/src/components/Messages/index.tsx +29 -17
  101. package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
  102. package/themes/original/src/components/MomentOption/index.tsx +79 -56
  103. package/themes/original/src/components/MomentSelector/index.tsx +1 -1
  104. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
  105. package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
  106. package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
  107. package/themes/original/src/components/MyOrders/index.tsx +2 -2
  108. package/themes/original/src/components/NavBar/index.tsx +7 -4
  109. package/themes/original/src/components/NetworkError/index.tsx +0 -5
  110. package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
  111. package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
  112. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +13 -10
  113. package/themes/original/src/components/OrderDetails/index.tsx +44 -21
  114. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  115. package/themes/original/src/components/OrderProgress/index.tsx +5 -4
  116. package/themes/original/src/components/OrderSummary/index.tsx +29 -10
  117. package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
  118. package/themes/original/src/components/OrdersOption/index.tsx +3 -6
  119. package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
  120. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  121. package/themes/original/src/components/PaymentOptions/index.tsx +10 -8
  122. package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
  123. package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
  124. package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
  125. package/themes/original/src/components/ProductForm/index.tsx +107 -102
  126. package/themes/original/src/components/ProductItemAccordion/index.tsx +51 -44
  127. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  128. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  129. package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
  130. package/themes/original/src/components/Promotions/index.tsx +6 -9
  131. package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
  132. package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
  133. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  134. package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
  135. package/themes/original/src/components/ServiceForm/index.tsx +52 -54
  136. package/themes/original/src/components/Sessions/index.tsx +3 -3
  137. package/themes/original/src/components/SignupForm/index.tsx +86 -78
  138. package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
  139. package/themes/original/src/components/SingleProductCard/index.tsx +3 -4
  140. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  141. package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
  142. package/themes/original/src/components/StripeCardsList/index.tsx +10 -3
  143. package/themes/original/src/components/StripeElementsForm/index.tsx +76 -62
  144. package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
  145. package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
  146. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  147. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
  148. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
  149. package/themes/original/src/components/UserDetails/index.tsx +17 -16
  150. package/themes/original/src/components/UserFormDetails/index.tsx +159 -133
  151. package/themes/original/src/components/UserProfile/index.tsx +9 -1
  152. package/themes/original/src/components/UserVerification/index.tsx +14 -4
  153. package/themes/original/src/components/Wallets/index.tsx +6 -3
  154. package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
  155. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  156. package/themes/original/src/components/shared/OButton.tsx +5 -4
  157. package/themes/original/src/components/shared/OInput.tsx +4 -8
  158. package/themes/original/src/components/shared/OModal.tsx +7 -2
  159. package/themes/original/src/types/index.tsx +5 -1
  160. package/themes/original/src/utils/index.tsx +30 -1
  161. 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 validStatusComplete = [9, 19, 23]
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 marginContainer: any = {
107
- 0: true,
108
- 3: true,
109
- 7: true,
110
- 8: true,
111
- 9: true,
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
- : 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')
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
- 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)) {
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 (order?.status === 3 || order?.status === 9 || order?.status === 19 || order?.status === 23) {
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 === 1 && (
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
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
523
+ isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
487
524
  }
488
525
  imgLeftStyle={{ tintColor: theme.colors.backArrow }}
489
526
  />
490
527
  </Pickup>
491
528
  )}
492
- {order?.status === 3 && order?.delivery_type === 1 && !isHideRejectButtons && (
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 === 1 ? 50 : 35,
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
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(9) : goToPermissionPage()
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
- handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(11) : goToPermissionPage()
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
- 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')}
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}