ordering-ui-react-native 0.21.86 → 0.21.87-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 (168) 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 +6 -4
  5. package/src/components/VerifyPhone/styles.tsx +1 -2
  6. package/src/types/index.tsx +3 -1
  7. package/themes/business/index.tsx +2 -0
  8. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
  9. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  10. package/themes/business/src/components/BusinessController/index.tsx +8 -3
  11. package/themes/business/src/components/BusinessProductList/index.tsx +2 -1
  12. package/themes/business/src/components/Chat/index.tsx +5 -2
  13. package/themes/business/src/components/DriverMap/index.tsx +49 -27
  14. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  15. package/themes/business/src/components/Home/index.tsx +5 -1
  16. package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
  17. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  18. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  19. package/themes/business/src/components/MapView/index.tsx +36 -17
  20. package/themes/business/src/components/NewOrderNotification/index.tsx +69 -33
  21. package/themes/business/src/components/OrderDetails/Business.tsx +74 -9
  22. package/themes/business/src/components/OrderDetails/Delivery.tsx +131 -51
  23. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +112 -41
  24. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +55 -24
  25. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  26. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +221 -0
  27. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
  28. package/themes/business/src/components/OrderSummary/index.tsx +223 -73
  29. package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
  30. package/themes/business/src/components/OrdersOption/index.tsx +251 -159
  31. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  32. package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
  33. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +42 -20
  34. package/themes/business/src/components/PreviousOrders/index.tsx +76 -66
  35. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
  36. package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
  37. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
  38. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  39. package/themes/business/src/components/PrinterSettings/index.tsx +267 -0
  40. package/themes/business/src/components/PrinterSettings/styles.tsx +30 -0
  41. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  42. package/themes/business/src/components/Sessions/index.tsx +1 -1
  43. package/themes/business/src/components/StoresList/index.tsx +2 -2
  44. package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
  45. package/themes/business/src/components/UserProfileForm/index.tsx +56 -35
  46. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  47. package/themes/business/src/components/shared/OInput.tsx +2 -0
  48. package/themes/business/src/components/shared/OTextarea.tsx +8 -9
  49. package/themes/business/src/hooks/useLocation.tsx +5 -4
  50. package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
  51. package/themes/business/src/types/index.tsx +14 -4
  52. package/themes/business/src/utils/index.tsx +25 -1
  53. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  55. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  56. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  57. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  58. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  59. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  60. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  61. package/themes/original/index.tsx +13 -1
  62. package/themes/original/src/components/AddressDetails/index.tsx +20 -10
  63. package/themes/original/src/components/AddressForm/index.tsx +32 -17
  64. package/themes/original/src/components/AddressList/index.tsx +8 -7
  65. package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
  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/BusinessController/index.tsx +12 -7
  69. package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
  70. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
  71. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
  72. package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
  73. package/themes/original/src/components/BusinessPreorder/index.tsx +20 -15
  74. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +5 -5
  75. package/themes/original/src/components/BusinessProductsList/index.tsx +2 -2
  76. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  77. package/themes/original/src/components/BusinessProductsListing/index.tsx +18 -6
  78. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  79. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  80. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
  81. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  82. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  83. package/themes/original/src/components/Cart/index.tsx +43 -15
  84. package/themes/original/src/components/CartContent/index.tsx +21 -8
  85. package/themes/original/src/components/Checkout/index.tsx +109 -60
  86. package/themes/original/src/components/CitiesControl/index.tsx +0 -3
  87. package/themes/original/src/components/CouponControl/index.tsx +1 -3
  88. package/themes/original/src/components/DriverTips/index.tsx +1 -3
  89. package/themes/original/src/components/Favorite/index.tsx +1 -5
  90. package/themes/original/src/components/FavoriteList/index.tsx +0 -1
  91. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
  92. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
  93. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
  94. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
  95. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
  96. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
  97. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
  98. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
  99. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
  100. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +82 -0
  101. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
  102. package/themes/original/src/components/GoogleMap/index.tsx +39 -18
  103. package/themes/original/src/components/Help/index.tsx +2 -0
  104. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  105. package/themes/original/src/components/Home/index.tsx +2 -10
  106. package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
  107. package/themes/original/src/components/LoginForm/index.tsx +4 -7
  108. package/themes/original/src/components/MessageListing/index.tsx +2 -1
  109. package/themes/original/src/components/Messages/index.tsx +13 -9
  110. package/themes/original/src/components/MomentOption/index.tsx +13 -2
  111. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
  112. package/themes/original/src/components/MultiCheckout/index.tsx +139 -87
  113. package/themes/original/src/components/MultiOrdersDetails/index.tsx +2 -1
  114. package/themes/original/src/components/MyOrders/index.tsx +21 -26
  115. package/themes/original/src/components/NavBar/index.tsx +7 -4
  116. package/themes/original/src/components/NetworkError/index.tsx +0 -5
  117. package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
  118. package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
  119. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +13 -10
  120. package/themes/original/src/components/OrderDetails/index.tsx +42 -19
  121. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  122. package/themes/original/src/components/OrderProgress/index.tsx +26 -6
  123. package/themes/original/src/components/OrderSummary/index.tsx +28 -9
  124. package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
  125. package/themes/original/src/components/OrdersOption/index.tsx +4 -6
  126. package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
  127. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  128. package/themes/original/src/components/PaymentOptions/index.tsx +17 -9
  129. package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
  130. package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
  131. package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
  132. package/themes/original/src/components/ProductForm/index.tsx +107 -102
  133. package/themes/original/src/components/ProductItemAccordion/index.tsx +55 -49
  134. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  135. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  136. package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
  137. package/themes/original/src/components/Promotions/index.tsx +6 -9
  138. package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
  139. package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
  140. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  141. package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
  142. package/themes/original/src/components/ServiceForm/index.tsx +52 -54
  143. package/themes/original/src/components/Sessions/index.tsx +3 -3
  144. package/themes/original/src/components/SignupForm/index.tsx +86 -78
  145. package/themes/original/src/components/SingleOrderCard/index.tsx +7 -5
  146. package/themes/original/src/components/SingleProductCard/index.tsx +3 -4
  147. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  148. package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
  149. package/themes/original/src/components/StripeCardsList/index.tsx +10 -3
  150. package/themes/original/src/components/StripeElementsForm/index.tsx +77 -60
  151. package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
  152. package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
  153. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  154. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
  155. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
  156. package/themes/original/src/components/UserDetails/index.tsx +3 -2
  157. package/themes/original/src/components/UserFormDetails/index.tsx +154 -130
  158. package/themes/original/src/components/UserProfile/index.tsx +11 -2
  159. package/themes/original/src/components/Wallets/index.tsx +6 -3
  160. package/themes/original/src/components/WebsocketStatus/index.tsx +169 -0
  161. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
  162. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  163. package/themes/original/src/components/shared/OButton.tsx +5 -4
  164. package/themes/original/src/components/shared/OInput.tsx +4 -8
  165. package/themes/original/src/components/shared/OModal.tsx +7 -2
  166. package/themes/original/src/types/index.tsx +5 -1
  167. package/themes/original/src/utils/index.tsx +30 -1
  168. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { Platform, PlatformIOSStatic, StyleSheet, TouchableOpacity, View } from 'react-native';
2
+ import { Platform, PlatformIOSStatic, Pressable, StyleSheet, View } from 'react-native';
3
3
  import DeviceInfo from 'react-native-device-info';
4
4
  import { useTheme } from 'styled-components/native';
5
5
  import { useLanguage, useUtils, useConfig } from 'ordering-components/native';
@@ -47,6 +47,7 @@ export const OrderItem = React.memo((props: any) => {
47
47
  timer: configState?.configs?.order_deadlines_enabled?.value === '1',
48
48
  slaBar: configState?.configs?.order_deadlines_enabled?.value === '1',
49
49
  })
50
+ const showExternalId = configState?.configs?.change_order_id?.value === '1'
50
51
 
51
52
  const IS_PORTRAIT = orientationState.orientation === PORTRAIT
52
53
  const platformIOS = Platform as PlatformIOSStatic
@@ -57,9 +58,14 @@ export const OrderItem = React.memo((props: any) => {
57
58
  const styles = StyleSheet.create({
58
59
  cardButton: {
59
60
  flex: 1,
60
- paddingVertical: (isIpad || isTablet) ? 20 : 0,
61
- marginBottom: IS_PORTRAIT ? 25 : 0,
61
+ paddingVertical: (isIpad || isTablet) ? 20 : 15,
62
+ marginBottom: IS_PORTRAIT ? 15 : 0,
62
63
  marginLeft: 3,
64
+ backgroundColor: order?.time_status === 'delayed'
65
+ ? theme.colors.danger100
66
+ : order?.time_status === 'at_risk'
67
+ ? theme.colors.warning100
68
+ : theme.colors.primaryContrast
63
69
  },
64
70
  icon: {
65
71
  borderRadius: 7.6,
@@ -76,7 +82,6 @@ export const OrderItem = React.memo((props: any) => {
76
82
  marginLeft: 3,
77
83
  },
78
84
  title: {
79
- marginBottom: 6,
80
85
  fontFamily: 'Poppins',
81
86
  fontStyle: 'normal',
82
87
  fontWeight: '600',
@@ -84,7 +89,6 @@ export const OrderItem = React.memo((props: any) => {
84
89
  color: theme.colors.textGray,
85
90
  },
86
91
  date: {
87
- marginBottom: 6,
88
92
  fontFamily: 'Poppins',
89
93
  fontStyle: 'normal',
90
94
  fontWeight: 'normal',
@@ -120,7 +124,7 @@ export const OrderItem = React.memo((props: any) => {
120
124
  let restHours: string | number = Math.floor(restMinOfTargetedMin / 60)
121
125
  let restMins: string | number = restMinOfTargetedMin - 60 * restHours
122
126
  // make standard time format
123
- day = day === 0 ? '' : day + 'day '
127
+ day = day === 0 ? '' : `${day + ' ' + t('DAY', 'day') + ' '}`
124
128
  restHours = restHours < 10 ? '0' + restHours : restHours
125
129
  restMins = restMins < 10 ? '0' + restMins : restMins
126
130
 
@@ -138,8 +142,7 @@ export const OrderItem = React.memo((props: any) => {
138
142
  }, [configState.loading])
139
143
 
140
144
  return (
141
- <TouchableOpacity
142
- activeOpacity={1}
145
+ <Pressable
143
146
  disabled={order?.locked && isLogisticOrder}
144
147
  style={styles.cardButton}
145
148
  onPress={() => handlePressOrder({ ...order, logistic_order_id: _order?.id })}
@@ -155,7 +158,8 @@ export const OrderItem = React.memo((props: any) => {
155
158
  style={styles.icon}
156
159
  source={order.business?.logo?.includes('https') ? {
157
160
  uri: order.business?.logo,
158
- priority: FastImage.priority.normal,
161
+ priority: FastImage.priority.high,
162
+ cache: FastImage.cacheControl.immutable
159
163
  } : order.business?.logo ?? theme?.images?.dummies?.businessLogo}
160
164
  resizeMode={FastImage.resizeMode.cover}
161
165
  />
@@ -180,24 +184,36 @@ export const OrderItem = React.memo((props: any) => {
180
184
  />
181
185
  </NotificationIcon>
182
186
  )}
183
- <View style={{ flexDirection: 'row', flexWrap: 'wrap' }}>
184
- <OText
187
+ <View>
188
+ {!order?.order_group_id && showExternalId && !order?.order_group && (
189
+ <OText
190
+ style={styles.date}
191
+ color={theme.colors.unselectText}
192
+ numberOfLines={1}
193
+ adjustsFontSizeToFit
194
+ >
195
+ {`${order?.external_id ?? t('NO_EXTERNAL_ID', 'No external Id ') + t('NO', 'Order No.') + order?.id}` + ' · ' + `${order?.delivery_datetime_utc
196
+ ? parseDate(order?.delivery_datetime_utc)
197
+ : parseDate(order?.delivery_datetime, { utc: false })
198
+ }`}
199
+ </OText>
200
+ )}
201
+ {!showExternalId && (<OText
185
202
  style={styles.date}
186
203
  color={theme.colors.unselectText}
187
204
  numberOfLines={1}
188
205
  adjustsFontSizeToFit
189
206
  >
190
- {(!!order?.order_group_id && order?.order_group && isLogisticOrder
207
+ {((!!order?.order_group_id && order?.order_group && isLogisticOrder
191
208
  ? `${order?.order_group?.orders?.length} ${t('ORDERS', 'Orders')}`
192
- : (t('NO', 'Order No.') + order.id)
193
- ) + ' · '}
194
- {order?.delivery_datetime_utc
209
+ : (t('NO', 'Order No.') + order?.id)
210
+ ) + ' · ' + `${order?.delivery_datetime_utc
195
211
  ? parseDate(order?.delivery_datetime_utc)
196
- : parseDate(order?.delivery_datetime, { utc: false })}
212
+ : parseDate(order?.delivery_datetime, { utc: false })}`)}
197
213
  </OText>
198
- {((currentTabSelected === 'pending' || currentTabSelected === 'inProgress') && allowColumns?.timer) && (
214
+ )}
215
+ {((currentTabSelected === 'pending' || currentTabSelected === 'inProgress' || currentTabSelected === 'active') && allowColumns?.timer) && (
199
216
  <>
200
- <OText> · </OText>
201
217
  <OText
202
218
  style={styles.date}
203
219
  color={
@@ -230,13 +246,19 @@ export const OrderItem = React.memo((props: any) => {
230
246
  ? t('EAT_IN', 'Eat in')
231
247
  : order.delivery_type === 4
232
248
  ? t('CURBSIDE', 'Curbside')
233
- : t('DRIVER_THRU', 'Driver thru')}
249
+ : order.delivery_type === 5
250
+ ? t('DRIVER_THRU', 'Driver thru')
251
+ : order.delivery_type === 7
252
+ ? t('CATERING_DELIVERY', 'Catering delivery')
253
+ : order.delivery_type === 8
254
+ ? t('CATERING_PICKUP', 'Catering pickup')
255
+ : t('DELIVERY', 'Delivery')}
234
256
  {` · ${getOrderStatus(order.status)}`}
235
257
  </OText>
236
258
  </MyOrderOptions>
237
259
  )}
238
260
  </Information>
239
261
  </Card>
240
- </TouchableOpacity>
262
+ </Pressable>
241
263
  )
242
264
  }, OrderItemPropsAreEqual)
@@ -11,6 +11,7 @@ import { OrdersList } from './OrderList';
11
11
  import { AcceptOrRejectOrder } from '../AcceptOrRejectOrder';
12
12
  import { ReviewCustomer } from '../ReviewCustomer';
13
13
  import { GoogleMap } from '../GoogleMap';
14
+ import { useOfflineActions } from '../../../../../src/context/OfflineActions';
14
15
 
15
16
  export const PreviousOrders = (props: any) => {
16
17
  const {
@@ -32,7 +33,7 @@ export const PreviousOrders = (props: any) => {
32
33
  const [, t] = useLanguage();
33
34
  const theme = useTheme();
34
35
  const [{ configs }] = useConfig();
35
-
36
+ const [{ isNetConnected, canSaveChangesOffline }] = useOfflineActions()
36
37
 
37
38
  // const [, setCurrentTime] = useState()
38
39
  const [openModal, setOpenModal] = useState(false)
@@ -41,10 +42,14 @@ export const PreviousOrders = (props: any) => {
41
42
  const [orderUpdateStatus, setOrderUpdateStatus] = useState<any>({ action: '', ids: [], body: {}, order: {} })
42
43
 
43
44
  const pastOrderStatuses = [1, 2, 5, 6, 10, 11, 12, 16, 17]
44
- const viewMapStatus = [9, 18, 19, 23]
45
+ const viewMapStatus = [9, 18, 19, 23, 26]
46
+ const deliveryTypes = [1, 7]
45
47
  const deliveryPickupBtn = props.appTitle?.text?.includes('Delivery') && [3, 8, 18]
46
- const deliveryStatusCompleteBtn = props.appTitle?.text?.includes('Delivery') && [9, 19, 23]
48
+ const deliveryStatusCompleteBtn = props.appTitle?.text?.includes('Delivery') && [9, 19, 23, 26]
47
49
  const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1' && !isBusinessApp
50
+ const isEnabledOrderNotReady = configs?.order_not_ready_enabled?.value === '1'
51
+ const isEnabledFailedPickupDriver = configs?.failed_pickup_by_driver_enabled?.value === '1'
52
+ const disabledActionsByInternet = !isNetConnected && canSaveChangesOffline === false
48
53
 
49
54
  const handlePressOrder = (order: any) => {
50
55
  if (order?.locked && isLogisticOrder) return
@@ -170,7 +175,7 @@ export const PreviousOrders = (props: any) => {
170
175
  }
171
176
  )
172
177
  }
173
- {_ordersGrouped[k][0]?.status === 0 && (
178
+ {_ordersGrouped[k][0]?.status === 0 && !disabledActionsByInternet && (
174
179
  <AcceptOrRejectOrderStyle>
175
180
  {!isHideRejectButtons && (
176
181
  <OButton
@@ -206,7 +211,7 @@ export const PreviousOrders = (props: any) => {
206
211
  />
207
212
  </AcceptOrRejectOrderStyle>
208
213
  )}
209
- {_ordersGrouped[k][0]?.status === 7 && (
214
+ {_ordersGrouped[k][0]?.status === 7 && !disabledActionsByInternet && (
210
215
  <View>
211
216
  <OButton
212
217
  text={t('READY_FOR_PICKUP', 'Ready for pickup')}
@@ -224,7 +229,7 @@ export const PreviousOrders = (props: any) => {
224
229
  </View>
225
230
  )}
226
231
  {(_ordersGrouped[k][0]?.status === 8 || _ordersGrouped[k][0]?.status === 18) &&
227
- _ordersGrouped[k][0]?.delivery_type === 1 &&
232
+ deliveryTypes?.includes(_ordersGrouped[k][0]?.delivery_type) && !disabledActionsByInternet &&
228
233
  (
229
234
  <AcceptOrRejectOrderStyle>
230
235
  <OButton
@@ -242,7 +247,8 @@ export const PreviousOrders = (props: any) => {
242
247
  />
243
248
  </AcceptOrRejectOrderStyle>
244
249
  )}
245
- {_ordersGrouped[k][0]?.status === 3 && _ordersGrouped[k][0]?.delivery_type === 1 && !isHideRejectButtons &&
250
+ {_ordersGrouped[k][0]?.status === 3 && deliveryTypes?.includes(_ordersGrouped[k][0]?.delivery_type) && !isHideRejectButtons && isEnabledOrderNotReady &&
251
+ !disabledActionsByInternet &&
246
252
  (
247
253
  <AcceptOrRejectOrderStyle>
248
254
  <OButton
@@ -280,6 +286,7 @@ export const PreviousOrders = (props: any) => {
280
286
  )}
281
287
  {_ordersGrouped[k][0]?.status === 4 &&
282
288
  ![1].includes(_ordersGrouped[k][0]?.delivery_type) &&
289
+ !disabledActionsByInternet &&
283
290
  (
284
291
  <AcceptOrRejectOrderStyle>
285
292
  {!isHideRejectButtons && (
@@ -314,6 +321,7 @@ export const PreviousOrders = (props: any) => {
314
321
  )}
315
322
  {!_ordersGrouped[k][0]?.user_review &&
316
323
  pastOrderStatuses.includes(_ordersGrouped[k][0]?.status) &&
324
+ !disabledActionsByInternet &&
317
325
  (
318
326
  <OButton
319
327
  text={t('REVIEW_CUSTOMER', 'Review customer')}
@@ -330,74 +338,76 @@ export const PreviousOrders = (props: any) => {
330
338
  })}
331
339
  />
332
340
  )}
333
- {!!deliveryPickupBtn && deliveryPickupBtn?.includes(_ordersGrouped[k][0]?.status) && (
334
- <AcceptOrRejectOrderStyle>
335
- {!isHideRejectButtons && (
341
+ {!!deliveryPickupBtn && deliveryPickupBtn?.includes(_ordersGrouped[k][0]?.status) && isEnabledFailedPickupDriver &&
342
+ !disabledActionsByInternet && (
343
+ <AcceptOrRejectOrderStyle>
344
+ {!isHideRejectButtons && isEnabledOrderNotReady && (
345
+ <OButton
346
+ text={t('PICKUP_FAILED', 'Pickup failed')}
347
+ bgColor={theme.colors.danger100}
348
+ borderColor={theme.colors.danger100}
349
+ imgRightSrc={null}
350
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
351
+ parentStyle={{ width: '45%' }}
352
+ textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
353
+ onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
354
+ action: 'pickupFailed',
355
+ order: _ordersGrouped[k][0],
356
+ ids: _ordersGrouped[k].map((o: any) => o.id),
357
+ handleChangeOrderStatus
358
+ })}
359
+ />
360
+ )}
336
361
  <OButton
337
- text={t('PICKUP_FAILED', 'Pickup failed')}
338
- bgColor={theme.colors.danger100}
339
- borderColor={theme.colors.danger100}
362
+ text={t('PICKUP_COMPLETE', 'Pickup complete')}
363
+ bgColor={theme.colors.success100}
364
+ borderColor={theme.colors.success100}
340
365
  imgRightSrc={null}
341
366
  style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
342
- parentStyle={{ width: '45%' }}
343
- textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
344
- onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
345
- action: 'pickupFailed',
346
- order: _ordersGrouped[k][0],
347
- ids: _ordersGrouped[k].map((o: any) => o.id),
348
- handleChangeOrderStatus
349
- })}
367
+ parentStyle={{ width: isHideRejectButtons ? '100%' : '45%' }}
368
+ textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
369
+ onClick={() => handleChangeOrderStatus(
370
+ 9,
371
+ _ordersGrouped[k].map((o: any) => o.id),
372
+ )}
350
373
  />
351
- )}
352
- <OButton
353
- text={t('PICKUP_COMPLETE', 'Pickup complete')}
354
- bgColor={theme.colors.success100}
355
- borderColor={theme.colors.success100}
356
- imgRightSrc={null}
357
- style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
358
- parentStyle={{ width: isHideRejectButtons ? '100%' : '45%' }}
359
- textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
360
- onClick={() => handleChangeOrderStatus(
361
- 9,
362
- _ordersGrouped[k].map((o: any) => o.id),
374
+ </AcceptOrRejectOrderStyle>
375
+ )}
376
+ {!!deliveryStatusCompleteBtn && deliveryStatusCompleteBtn.includes(_ordersGrouped[k][0]?.status) &&
377
+ !disabledActionsByInternet && (
378
+ <AcceptOrRejectOrderStyle>
379
+ {!isHideRejectButtons && (
380
+ <OButton
381
+ text={t('DELIVERY_FAILED', 'Delivery Failed')}
382
+ bgColor={theme.colors.danger100}
383
+ borderColor={theme.colors.danger100}
384
+ imgRightSrc={null}
385
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
386
+ parentStyle={{ width: '45%' }}
387
+ textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
388
+ onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
389
+ action: 'deliveryFailed',
390
+ order: _ordersGrouped[k][0],
391
+ ids: _ordersGrouped[k].map((o: any) => o.id),
392
+ handleChangeOrderStatus
393
+ })}
394
+ />
363
395
  )}
364
- />
365
- </AcceptOrRejectOrderStyle>
366
- )}
367
- {!!deliveryStatusCompleteBtn && deliveryStatusCompleteBtn.includes(_ordersGrouped[k][0]?.status) && (
368
- <AcceptOrRejectOrderStyle>
369
- {!isHideRejectButtons && (
370
396
  <OButton
371
- text={t('DELIVERY_FAILED', 'Delivery Failed')}
372
- bgColor={theme.colors.danger100}
373
- borderColor={theme.colors.danger100}
397
+ text={t('DELIVERY_COMPLETE', 'Delivery complete')}
398
+ bgColor={theme.colors.success100}
399
+ borderColor={theme.colors.success100}
374
400
  imgRightSrc={null}
375
401
  style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
376
- parentStyle={{ width: '45%' }}
377
- textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
378
- onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
379
- action: 'deliveryFailed',
380
- order: _ordersGrouped[k][0],
381
- ids: _ordersGrouped[k].map((o: any) => o.id),
382
- handleChangeOrderStatus
383
- })}
402
+ parentStyle={{ width: isHideRejectButtons ? '100%' : '45%' }}
403
+ textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
404
+ onClick={() => handleChangeOrderStatus(
405
+ 11,
406
+ _ordersGrouped[k].map((o: any) => o.id),
407
+ )}
384
408
  />
385
- )}
386
- <OButton
387
- text={t('DELIVERY_COMPLETE', 'Delivery complete')}
388
- bgColor={theme.colors.success100}
389
- borderColor={theme.colors.success100}
390
- imgRightSrc={null}
391
- style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
392
- parentStyle={{ width: isHideRejectButtons ? '100%' : '45%' }}
393
- textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
394
- onClick={() => handleChangeOrderStatus(
395
- 11,
396
- _ordersGrouped[k].map((o: any) => o.id),
397
- )}
398
- />
399
- </AcceptOrRejectOrderStyle>
400
- )}
409
+ </AcceptOrRejectOrderStyle>
410
+ )}
401
411
  </OrdersGroupedItem>
402
412
  ))}
403
413
  </View>
@@ -0,0 +1,33 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { useTheme } from 'styled-components/native'
3
+ import { OText } from '../shared'
4
+
5
+ export const MessageAlert = ({ message, resetMsg }: any) => {
6
+ const theme = useTheme()
7
+
8
+ const [text, setText] = useState(message)
9
+
10
+ useEffect(() => {
11
+ setText(message)
12
+ }, [message])
13
+
14
+ useEffect(() => {
15
+ if (text) {
16
+ setTimeout(() => {
17
+ setText(null)
18
+ resetMsg()
19
+ }, 2000);
20
+ }
21
+ }, [text])
22
+
23
+ return (
24
+ text ? (
25
+ <OText
26
+ size={14}
27
+ color={theme.colors.danger500}
28
+ >
29
+ {text}
30
+ </OText>
31
+ ) : null
32
+ )
33
+ }