ordering-ui-react-native 0.17.23 → 0.17.24-test

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 (211) hide show
  1. package/package.json +8 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/OrderCreating/index.tsx +1 -21
  5. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  6. package/src/components/StripeMethodForm/index.tsx +108 -79
  7. package/src/components/VerifyPhone/styles.tsx +1 -2
  8. package/src/components/shared/OToast.tsx +4 -4
  9. package/src/types/index.tsx +5 -0
  10. package/src/utils/index.tsx +7 -1
  11. package/themes/business/index.tsx +2 -0
  12. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
  13. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  14. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  15. package/themes/business/src/components/Chat/index.tsx +118 -107
  16. package/themes/business/src/components/DriverMap/index.tsx +17 -6
  17. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  18. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  19. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  20. package/themes/business/src/components/LoginForm/index.tsx +238 -80
  21. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  22. package/themes/business/src/components/MapView/index.tsx +10 -10
  23. package/themes/business/src/components/NewOrderNotification/index.tsx +43 -50
  24. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  25. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +90 -47
  26. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +59 -62
  27. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  28. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  29. package/themes/business/src/components/OrderMessage/index.tsx +18 -17
  30. package/themes/business/src/components/OrderSummary/index.tsx +113 -121
  31. package/themes/business/src/components/OrdersOption/index.tsx +32 -75
  32. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  33. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  34. package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
  35. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  36. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  37. package/themes/business/src/components/ReviewCustomer/index.tsx +41 -24
  38. package/themes/business/src/components/StoresList/index.tsx +2 -2
  39. package/themes/business/src/components/shared/OLink.tsx +33 -13
  40. package/themes/business/src/components/shared/OModal.tsx +16 -9
  41. package/themes/business/src/components/shared/OText.tsx +8 -2
  42. package/themes/business/src/types/index.tsx +32 -2
  43. package/themes/business/src/utils/index.tsx +44 -1
  44. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  45. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  46. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  47. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  48. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  49. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  50. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  51. package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
  52. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  53. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  54. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  55. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  56. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +3 -2
  57. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  58. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  59. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  60. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  61. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  62. package/themes/kiosk/src/types/index.d.ts +13 -0
  63. package/themes/kiosk/src/utils/index.tsx +15 -0
  64. package/themes/original/index.tsx +6 -0
  65. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  66. package/themes/original/src/components/AddressForm/index.tsx +49 -19
  67. package/themes/original/src/components/AddressList/index.tsx +26 -21
  68. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  69. package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
  70. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  71. package/themes/original/src/components/BusinessBasicInformation/index.tsx +166 -89
  72. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -7
  73. package/themes/original/src/components/BusinessController/index.tsx +145 -68
  74. package/themes/original/src/components/BusinessController/styles.tsx +22 -9
  75. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  76. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  77. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  78. package/themes/original/src/components/BusinessItemAccordion/index.tsx +23 -22
  79. package/themes/original/src/components/BusinessListingSearch/index.tsx +350 -323
  80. package/themes/original/src/components/BusinessPreorder/index.tsx +97 -16
  81. package/themes/original/src/components/BusinessProductsList/index.tsx +20 -11
  82. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  83. package/themes/original/src/components/BusinessProductsListing/index.tsx +616 -495
  84. package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -9
  85. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  86. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  87. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +105 -78
  88. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  89. package/themes/original/src/components/BusinessesListing/index.tsx +5 -3
  90. package/themes/original/src/components/Cart/index.tsx +102 -69
  91. package/themes/original/src/components/CartContent/index.tsx +110 -19
  92. package/themes/original/src/components/CartContent/styles.tsx +15 -1
  93. package/themes/original/src/components/Checkout/index.tsx +323 -178
  94. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  95. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  96. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  97. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  98. package/themes/original/src/components/DriverTips/index.tsx +52 -34
  99. package/themes/original/src/components/Favorite/index.tsx +7 -4
  100. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  101. package/themes/original/src/components/FavoriteList/index.tsx +51 -80
  102. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  103. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  104. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  105. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  106. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
  107. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
  108. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
  109. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
  110. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +178 -0
  111. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
  112. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
  113. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
  114. package/themes/original/src/components/GoogleMap/index.tsx +4 -2
  115. package/themes/original/src/components/Help/index.tsx +8 -8
  116. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
  117. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  118. package/themes/original/src/components/HelpGuide/index.tsx +12 -16
  119. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  120. package/themes/original/src/components/HelpOrder/index.tsx +12 -25
  121. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  122. package/themes/original/src/components/Home/index.tsx +13 -4
  123. package/themes/original/src/components/LanguageSelector/index.tsx +17 -13
  124. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  125. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  126. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  127. package/themes/original/src/components/LoginForm/index.tsx +59 -22
  128. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  129. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  130. package/themes/original/src/components/Messages/index.tsx +32 -10
  131. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  132. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  133. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +197 -116
  134. package/themes/original/src/components/MultiCheckout/index.tsx +288 -86
  135. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  136. package/themes/original/src/components/MultiOrdersDetails/index.tsx +67 -20
  137. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  138. package/themes/original/src/components/MyOrders/index.tsx +55 -51
  139. package/themes/original/src/components/NavBar/index.tsx +6 -11
  140. package/themes/original/src/components/Notifications/index.tsx +46 -50
  141. package/themes/original/src/components/Notifications/styles.tsx +6 -3
  142. package/themes/original/src/components/OrderDetails/OrderEta.tsx +64 -0
  143. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +15 -3
  144. package/themes/original/src/components/OrderDetails/index.tsx +262 -368
  145. package/themes/original/src/components/OrderDetails/styles.tsx +3 -4
  146. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  147. package/themes/original/src/components/OrderProgress/index.tsx +74 -112
  148. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  149. package/themes/original/src/components/OrderSummary/index.tsx +87 -59
  150. package/themes/original/src/components/OrderTypeSelector/index.tsx +3 -2
  151. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +24 -19
  152. package/themes/original/src/components/OrdersOption/index.tsx +96 -88
  153. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  154. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  155. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  156. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  157. package/themes/original/src/components/PaymentOptions/index.tsx +34 -6
  158. package/themes/original/src/components/PhoneInputNumber/index.tsx +3 -3
  159. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  160. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  161. package/themes/original/src/components/ProductForm/index.tsx +230 -261
  162. package/themes/original/src/components/ProductForm/styles.tsx +4 -7
  163. package/themes/original/src/components/ProductItemAccordion/index.tsx +197 -138
  164. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  165. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  166. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  167. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  168. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  169. package/themes/original/src/components/Promotions/index.tsx +234 -220
  170. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  171. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  172. package/themes/original/src/components/ReviewOrder/index.tsx +26 -9
  173. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  174. package/themes/original/src/components/ReviewProducts/index.tsx +23 -11
  175. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  176. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  177. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  178. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  179. package/themes/original/src/components/ServiceForm/index.tsx +366 -288
  180. package/themes/original/src/components/Sessions/index.tsx +11 -8
  181. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  182. package/themes/original/src/components/SignupForm/index.tsx +82 -67
  183. package/themes/original/src/components/SingleOrderCard/index.tsx +149 -63
  184. package/themes/original/src/components/SingleOrderCard/styles.tsx +11 -9
  185. package/themes/original/src/components/SingleProductCard/index.tsx +99 -55
  186. package/themes/original/src/components/SingleProductCard/styles.tsx +27 -13
  187. package/themes/original/src/components/SingleProductReview/index.tsx +8 -2
  188. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  189. package/themes/original/src/components/StripeCardsList/index.tsx +9 -2
  190. package/themes/original/src/components/StripeElementsForm/index.tsx +28 -15
  191. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
  192. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  193. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  194. package/themes/original/src/components/UserFormDetails/index.tsx +47 -7
  195. package/themes/original/src/components/UserProfile/index.tsx +9 -14
  196. package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
  197. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  198. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  199. package/themes/original/src/components/Wallets/index.tsx +94 -33
  200. package/themes/original/src/components/Wallets/styles.tsx +2 -0
  201. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  202. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  203. package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
  204. package/themes/original/src/components/shared/OButton.tsx +6 -2
  205. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  206. package/themes/original/src/components/shared/OInput.tsx +16 -2
  207. package/themes/original/src/components/shared/OModal.tsx +3 -3
  208. package/themes/original/src/layouts/Container.tsx +13 -9
  209. package/themes/original/src/types/index.tsx +38 -9
  210. package/themes/original/src/utils/index.tsx +375 -58
  211. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -7,13 +7,12 @@ import {
7
7
  useToast,
8
8
  ToastType,
9
9
  } from 'ordering-components/native'
10
- import { NotificationsGroupSwitchWrapper, SwitchWrapper } from './styles'
11
- import { Platform, StyleSheet, View } from 'react-native'
10
+ import { NotificationsGroupSwitchWrapper, SwitchWrapper, Container } from './styles'
11
+ import { StyleSheet, View } from 'react-native'
12
12
  import { useState } from 'react'
13
13
  import { useTheme } from 'styled-components/native';
14
14
  import Spinner from 'react-native-loading-spinner-overlay';
15
15
  import ToggleSwitch from 'toggle-switch-react-native'
16
- import { Container } from '../../layouts/Container'
17
16
  import NavBar from '../NavBar'
18
17
  import { OText } from '../shared'
19
18
 
@@ -70,58 +69,59 @@ const NotificationsUI = (props: any) => {
70
69
  }, [notificationsList])
71
70
 
72
71
  return (
73
- <Container noPadding>
72
+ <Container>
74
73
  <NavBar
75
74
  title={t('NOTIFICATIONS', 'Notifications')}
76
75
  titleAlign={'center'}
77
76
  onActionLeft={goToBack}
78
77
  showCall={false}
79
- style={{ paddingHorizontal: 40, paddingVertical: Platform.OS === 'ios' ? 0 : 20, marginTop: Platform.OS === 'ios' ? 0 : 30 }}
78
+ style={{
79
+ paddingHorizontal: 40,
80
+ paddingVertical: 0,
81
+ }}
80
82
  />
81
83
  {showCustomerPromotions && showNotifications && (
82
84
  <>
83
85
  <Spinner visible={singleNotifications?.loading} />
84
- <View style={{ ...styles.pagePadding }}>
85
- <NotificationsGroupSwitchWrapper>
86
- <OText style={{ ...styles.title }}>{t('MARKETING_NOTIFICATIONS', 'Marketing Notifications')}</OText>
87
- <SwitchWrapper>
88
- <OText>{t('EMAILS', 'Emails')}</OText>
89
- <ToggleSwitch
90
- isOn={notificationsList?.email}
91
- onColor={theme.colors.primary}
92
- size="small"
93
- disabled={singleNotifications?.loading}
94
- offColor={theme.colors.disabled}
95
- animationSpeed={400}
96
- onToggle={() => handleEditNotifications('email', !notificationsList?.email)}
97
- />
98
- </SwitchWrapper>
99
- <SwitchWrapper>
100
- <OText>{t('SMS', 'Sms')}</OText>
101
- <ToggleSwitch
102
- isOn={notificationsList?.sms}
103
- onColor={theme.colors.primary}
104
- size="small"
105
- disabled={singleNotifications?.loading}
106
- offColor={theme.colors.disabled}
107
- animationSpeed={400}
108
- onToggle={() => handleEditNotifications('sms', !notificationsList?.sms)}
109
- />
110
- </SwitchWrapper>
111
- <SwitchWrapper>
112
- <OText>{t('PUSH_NOTIFICATIONS', 'Push Notifications')}</OText>
113
- <ToggleSwitch
114
- isOn={notificationsList?.notification}
115
- onColor={theme.colors.primary}
116
- size="small"
117
- disabled={singleNotifications?.loading}
118
- offColor={theme.colors.disabled}
119
- animationSpeed={400}
120
- onToggle={() => handleEditNotifications('notification', !notificationsList?.notification)}
121
- />
122
- </SwitchWrapper>
123
- </NotificationsGroupSwitchWrapper>
124
- </View>
86
+ <NotificationsGroupSwitchWrapper>
87
+ <OText style={{ ...styles.title }}>{t('MARKETING_NOTIFICATIONS', 'Marketing Notifications')}</OText>
88
+ <SwitchWrapper>
89
+ <OText>{t('EMAILS', 'Emails')}</OText>
90
+ <ToggleSwitch
91
+ isOn={notificationsList?.email}
92
+ onColor={theme.colors.primary}
93
+ size="small"
94
+ disabled={singleNotifications?.loading}
95
+ offColor={theme.colors.disabled}
96
+ animationSpeed={400}
97
+ onToggle={() => handleEditNotifications('email', !notificationsList?.email)}
98
+ />
99
+ </SwitchWrapper>
100
+ <SwitchWrapper>
101
+ <OText>{t('SMS', 'Sms')}</OText>
102
+ <ToggleSwitch
103
+ isOn={notificationsList?.sms}
104
+ onColor={theme.colors.primary}
105
+ size="small"
106
+ disabled={singleNotifications?.loading}
107
+ offColor={theme.colors.disabled}
108
+ animationSpeed={400}
109
+ onToggle={() => handleEditNotifications('sms', !notificationsList?.sms)}
110
+ />
111
+ </SwitchWrapper>
112
+ <SwitchWrapper>
113
+ <OText>{t('PUSH_NOTIFICATIONS', 'Push Notifications')}</OText>
114
+ <ToggleSwitch
115
+ isOn={notificationsList?.notification}
116
+ onColor={theme.colors.primary}
117
+ size="small"
118
+ disabled={singleNotifications?.loading}
119
+ offColor={theme.colors.disabled}
120
+ animationSpeed={400}
121
+ onToggle={() => handleEditNotifications('notification', !notificationsList?.notification)}
122
+ />
123
+ </SwitchWrapper>
124
+ </NotificationsGroupSwitchWrapper>
125
125
  </>
126
126
  )}
127
127
  </Container>
@@ -132,10 +132,6 @@ const styles = StyleSheet.create({
132
132
  title: {
133
133
  marginBottom: 24,
134
134
  fontWeight: 'bold',
135
- },
136
- pagePadding: {
137
- paddingLeft: 40,
138
- paddingRight: 40
139
135
  }
140
136
  });
141
137
 
@@ -1,12 +1,15 @@
1
1
  import styled from 'styled-components/native'
2
2
 
3
- export const ContainerButtons = styled.View`
4
- margin-vertical: 50px
3
+ export const Container = styled.ScrollView`
4
+ position: relative;
5
+ flex: 1;
6
+ padding: 20px;
5
7
  `
6
8
 
7
9
  export const NotificationsGroupSwitchWrapper = styled.View`
8
10
  flex-grow: 1;
9
11
  justify-content: space-between;
12
+ padding: 0 20px;
10
13
  `
11
14
 
12
15
  export const SwitchWrapper = styled.View`
@@ -14,4 +17,4 @@ export const SwitchWrapper = styled.View`
14
17
  justify-content: space-between;
15
18
  align-items: center;
16
19
  margin-bottom: 12px;
17
- `
20
+ `
@@ -0,0 +1,64 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { useUtils } from 'ordering-components/native'
3
+ import moment from 'moment'
4
+
5
+ export const OrderEta = (props: any) => {
6
+ const {
7
+ order,
8
+ outputFormat
9
+ } = props
10
+
11
+ const [{ parseDate }] = useUtils()
12
+ const [estimatedDeliveryTime, setEstimatedDeliveryTime] = useState(null)
13
+
14
+ const getEstimatedDeliveryTime = () => {
15
+ let _estimatedTime = null
16
+ let totalEta = 0
17
+ const _delivery = order?.delivery_datetime_utc
18
+ ? order?.delivery_datetime_utc
19
+ : order?.delivery_datetime
20
+ if (order?.eta_current_status_time) {
21
+ const currentStatueEta = order?.eta_current_status_time
22
+ totalEta += currentStatueEta
23
+ let nextStatusTimes = 0
24
+ if (order?.eta_next_status_times) {
25
+ Object.keys(order.eta_next_status_times).map(key => {
26
+ if (!key.includes('status_penalty')) {
27
+ nextStatusTimes += order.eta_next_status_times[key]
28
+ }
29
+ })
30
+ }
31
+
32
+ totalEta += nextStatusTimes
33
+
34
+ const diffTimeAsSeconds = moment.utc(order?.reporting_data?.at[`status:${order.status}`]).add(order?.eta_current_status_time, 'minutes').diff(moment().utc(), 'seconds')
35
+ const diffTimeAsMinutes = Math.ceil(diffTimeAsSeconds / 60)
36
+ if (diffTimeAsMinutes <= 0) {
37
+ totalEta += (Math.floor(Math.abs(diffTimeAsMinutes / order?.eta_current_status_time) + 1) * order?.eta_current_status_penalty_time)
38
+ }
39
+ _estimatedTime = moment.utc(_delivery).add(totalEta, 'minutes')
40
+ } else {
41
+ let timesToAdd = 0
42
+ if (order?.delivered_in) timesToAdd += order?.delivered_in
43
+ if (order?.prepared_in) timesToAdd += order?.prepared_in
44
+ const _etaTime = order?.eta_time + timesToAdd
45
+ _estimatedTime = moment.utc(_delivery).add(_etaTime, 'minutes')
46
+ }
47
+ _estimatedTime = outputFormat ? moment(_estimatedTime).local().format(outputFormat) : parseDate(_estimatedTime, { utc: false })
48
+ setEstimatedDeliveryTime(_estimatedTime)
49
+ }
50
+
51
+ useEffect(() => {
52
+ getEstimatedDeliveryTime()
53
+ const interval = setInterval(() => {
54
+ getEstimatedDeliveryTime()
55
+ }, 1000)
56
+ return () => clearInterval(interval)
57
+ }, [order, outputFormat])
58
+
59
+ return (
60
+ <>
61
+ {estimatedDeliveryTime}
62
+ </>
63
+ )
64
+ }
@@ -4,6 +4,7 @@ import { ScrollView, StyleSheet, View } from 'react-native'
4
4
  import { useLanguage, useUtils } from 'ordering-components/native'
5
5
  import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'
6
6
  import { OText, OButton } from '../shared'
7
+ import { formatSeconds } from '../../utils'
7
8
 
8
9
  export const OrderHistory = (props: any) => {
9
10
  const {
@@ -61,7 +62,7 @@ export const OrderHistory = (props: any) => {
61
62
  20: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
62
63
  21: 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
63
64
  22: 'ORDER_LOOKING_FOR_DRIVER',
64
- 23: 'ORDER_DRIVER_ON_WAY'
65
+ 23: 'ORDER_DRIVER_ON_WAY'
65
66
  }
66
67
 
67
68
  const getLogisticTagStatus = (status: any) => {
@@ -128,12 +129,23 @@ export const OrderHistory = (props: any) => {
128
129
  <OText
129
130
  size={14}
130
131
  weight='bold'
131
- numberOfLines={1}
132
+ numberOfLines={message.change?.attribute.includes(['delivered_in', 'prepared_in']) ? 2 : 1}
132
133
  ellipsizeMode='tail'
133
134
  >
134
135
  {message.change?.attribute === 'logistic_status'
135
136
  ? getLogisticTagStatus(parseInt(message.change.new, 10))
136
- : t(ORDER_STATUS[parseInt(message.change.new, 10)])
137
+ : message.change?.attribute === 'delivered_in' ? (
138
+ <>
139
+ {t('TIME_ADDED_BY_DRIVER', 'Time added by driver')}{'\n'}
140
+ {formatSeconds(parseInt(message.change.new, 10))}
141
+ </>
142
+ )
143
+ : message.change?.attribute === 'prepared_in' ? (
144
+ <>
145
+ {t('TIME_ADDED_BY_BUSINESS', 'Time added by business')}{'\n'}
146
+ {formatSeconds(parseInt(message.change.new, 10))}
147
+ </>
148
+ ) : t(ORDER_STATUS[parseInt(message.change.new, 10)])
137
149
  }
138
150
  </OText>
139
151
  ) : (