ordering-ui-react-native 0.17.42 → 0.17.43-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 (212) 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 +29 -8
  6. package/src/components/StripeMethodForm/index.tsx +136 -102
  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 +125 -113
  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 +49 -50
  24. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  25. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +92 -49
  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 +35 -18
  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 +79 -44
  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 +160 -91
  72. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -7
  73. package/themes/original/src/components/BusinessController/index.tsx +141 -67
  74. package/themes/original/src/components/BusinessController/styles.tsx +22 -2
  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 +351 -326
  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/UpsellingRedirect.tsx +1 -1
  84. package/themes/original/src/components/BusinessProductsListing/index.tsx +684 -524
  85. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -4
  86. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  87. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  88. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +106 -79
  89. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  90. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  91. package/themes/original/src/components/Cart/index.tsx +102 -69
  92. package/themes/original/src/components/CartContent/index.tsx +115 -19
  93. package/themes/original/src/components/CartContent/styles.tsx +17 -7
  94. package/themes/original/src/components/Checkout/index.tsx +375 -179
  95. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  96. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  97. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  98. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  99. package/themes/original/src/components/DriverTips/index.tsx +52 -34
  100. package/themes/original/src/components/Favorite/index.tsx +8 -9
  101. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  102. package/themes/original/src/components/FavoriteList/index.tsx +51 -80
  103. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  104. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  105. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  106. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  107. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
  108. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
  109. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
  110. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
  111. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +191 -0
  112. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
  113. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
  114. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
  115. package/themes/original/src/components/GoogleMap/index.tsx +15 -4
  116. package/themes/original/src/components/Help/index.tsx +8 -8
  117. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
  118. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  119. package/themes/original/src/components/HelpGuide/index.tsx +12 -16
  120. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  121. package/themes/original/src/components/HelpOrder/index.tsx +12 -25
  122. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  123. package/themes/original/src/components/Home/index.tsx +13 -4
  124. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  125. package/themes/original/src/components/LoginForm/Otp/index.tsx +139 -75
  126. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  127. package/themes/original/src/components/LoginForm/index.tsx +71 -28
  128. package/themes/original/src/components/LottieAnimation/index.tsx +89 -55
  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 +151 -49
  134. package/themes/original/src/components/MultiCheckout/index.tsx +308 -88
  135. package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
  136. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  137. package/themes/original/src/components/MultiOrdersDetails/index.tsx +68 -21
  138. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  139. package/themes/original/src/components/MyOrders/index.tsx +53 -51
  140. package/themes/original/src/components/NavBar/index.tsx +18 -18
  141. package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
  142. package/themes/original/src/components/Notifications/index.tsx +46 -50
  143. package/themes/original/src/components/Notifications/styles.tsx +6 -3
  144. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  145. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +15 -3
  146. package/themes/original/src/components/OrderDetails/index.tsx +199 -359
  147. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  148. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  149. package/themes/original/src/components/OrderProgress/index.tsx +93 -114
  150. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  151. package/themes/original/src/components/OrderSummary/index.tsx +87 -59
  152. package/themes/original/src/components/OrderTypeSelector/index.tsx +1 -1
  153. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +24 -19
  154. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
  155. package/themes/original/src/components/OrdersOption/index.tsx +70 -65
  156. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  157. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  158. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  159. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  160. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  161. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  162. package/themes/original/src/components/PaymentOptions/index.tsx +64 -7
  163. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -4
  164. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  165. package/themes/original/src/components/ProductForm/index.tsx +116 -37
  166. package/themes/original/src/components/ProductForm/styles.tsx +5 -7
  167. package/themes/original/src/components/ProductItemAccordion/index.tsx +14 -13
  168. package/themes/original/src/components/ProductOptionSubOption/index.tsx +19 -11
  169. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  170. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  171. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  172. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  173. package/themes/original/src/components/Promotions/index.tsx +234 -220
  174. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  175. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  176. package/themes/original/src/components/ReviewOrder/index.tsx +26 -9
  177. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  178. package/themes/original/src/components/ReviewProducts/index.tsx +23 -11
  179. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  180. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  181. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  182. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  183. package/themes/original/src/components/ServiceForm/index.tsx +74 -19
  184. package/themes/original/src/components/Sessions/index.tsx +11 -8
  185. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  186. package/themes/original/src/components/SignupForm/index.tsx +42 -19
  187. package/themes/original/src/components/SingleOrderCard/index.tsx +130 -52
  188. package/themes/original/src/components/SingleOrderCard/styles.tsx +11 -2
  189. package/themes/original/src/components/SingleProductCard/index.tsx +72 -34
  190. package/themes/original/src/components/SingleProductCard/styles.tsx +22 -4
  191. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  192. package/themes/original/src/components/StripeCardsList/index.tsx +13 -3
  193. package/themes/original/src/components/StripeElementsForm/index.tsx +51 -34
  194. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
  195. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  196. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  197. package/themes/original/src/components/UserFormDetails/index.tsx +47 -7
  198. package/themes/original/src/components/UserProfile/index.tsx +5 -7
  199. package/themes/original/src/components/UserProfileForm/index.tsx +25 -28
  200. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  201. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  202. package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
  203. package/themes/original/src/components/Wallets/index.tsx +67 -24
  204. package/themes/original/src/components/Wallets/styles.tsx +5 -4
  205. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  206. package/themes/original/src/components/shared/OButton.tsx +6 -2
  207. package/themes/original/src/components/shared/OInput.tsx +16 -2
  208. package/themes/original/src/components/shared/OModal.tsx +3 -3
  209. package/themes/original/src/layouts/Container.tsx +1 -1
  210. package/themes/original/src/types/index.tsx +38 -9
  211. package/themes/original/src/utils/index.tsx +364 -58
  212. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -20,7 +20,8 @@ export const OrderItAgain = (props: OrderItAgainParams) => {
20
20
  currentCart,
21
21
  handleUpdateProducts,
22
22
  navigation,
23
- searchValue
23
+ searchValue,
24
+ businessSingleId
24
25
  } = props
25
26
 
26
27
  const [, t] = useLanguage()
@@ -65,6 +66,7 @@ export const OrderItAgain = (props: OrderItAgainParams) => {
65
66
  handleUpdateProducts={handleUpdateProducts}
66
67
  navigation={navigation}
67
68
  isPreviously
69
+ businessSingleId={businessSingleId}
68
70
  />
69
71
  </ProductWrapper>
70
72
  ))}
@@ -2,7 +2,8 @@ import React, { useEffect, useState } from 'react'
2
2
  import {
3
3
  OrderList,
4
4
  useLanguage,
5
- useUtils
5
+ useUtils,
6
+ useConfig
6
7
  } from 'ordering-components/native'
7
8
  import { useTheme } from 'styled-components/native';
8
9
  import IconAntDesign from 'react-native-vector-icons/AntDesign'
@@ -12,13 +13,17 @@ import { NotFoundSource } from '../NotFoundSource'
12
13
  import { View, StyleSheet, TouchableOpacity, Platform } from 'react-native'
13
14
  import { Placeholder, Fade, PlaceholderLine } from "rn-placeholder";
14
15
  import FastImage from 'react-native-fast-image'
16
+ import { OrderEta } from '../OrderDetails/OrderEta'
15
17
  import {
16
18
  ProgressContentWrapper,
17
19
  ProgressBar,
18
20
  TimeWrapper,
19
21
  ProgressTextWrapper,
20
- OrderInfoWrapper
22
+ OrderInfoWrapper,
23
+ OrderProgressWrapper
21
24
  } from './styles'
25
+ import { getOrderStatus } from '../../utils'
26
+
22
27
  const OrderProgressUI = (props: any) => {
23
28
  const {
24
29
  orderList,
@@ -30,10 +35,12 @@ const OrderProgressUI = (props: any) => {
30
35
  const theme = useTheme();
31
36
 
32
37
  const [, t] = useLanguage()
33
- const [{ optimizeImage, parseDate, parseTime }] = useUtils()
38
+ const [{ optimizeImage, parseTime, parseDate }] = useUtils()
39
+ const [{ configs }] = useConfig()
34
40
  const [lastOrder, setLastOrder] = useState<any>(null)
35
41
  const imageFails = theme.images.general.emptyActiveOrders
36
42
  const [initialLoaded, setInitialLoaded] = useState(false)
43
+ const statusToShow = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23]
37
44
 
38
45
  const styles = StyleSheet.create({
39
46
  main: {
@@ -47,9 +54,9 @@ const OrderProgressUI = (props: any) => {
47
54
  height: 1
48
55
  },
49
56
  shadowColor: '#000',
50
- shadowOpacity: 0.1,
51
- shadowRadius: 1,
52
- elevation: 2
57
+ shadowOpacity: 0.2,
58
+ shadowRadius: 2,
59
+ elevation: 3
53
60
  },
54
61
  logoWrapper: {
55
62
  overflow: 'hidden',
@@ -73,52 +80,6 @@ const OrderProgressUI = (props: any) => {
73
80
  }
74
81
  });
75
82
 
76
- const getOrderStatus = (s: any) => {
77
- const status = parseInt(s)
78
- const orderStatus = [
79
- { key: 0, value: t('PENDING', theme?.defaultLanguages?.PENDING || 'Pending'), slug: 'PENDING', percentage: 25 },
80
- { key: 1, value: t('COMPLETED', theme?.defaultLanguages?.COMPLETED || 'Completed'), slug: 'COMPLETED', percentage: 100 },
81
- { key: 2, value: t('REJECTED', theme?.defaultLanguages?.REJECTED || 'Rejected'), slug: 'REJECTED', percentage: 0 },
82
- { key: 3, value: t('DRIVER_IN_BUSINESS', theme?.defaultLanguages?.DRIVER_IN_BUSINESS || 'Driver in business'), slug: 'DRIVER_IN_BUSINESS', percentage: 60 },
83
- { key: 4, value: t('PREPARATION_COMPLETED', theme?.defaultLanguages?.PREPARATION_COMPLETED || 'Preparation Completed'), slug: 'PREPARATION_COMPLETED', percentage: 70 },
84
- { key: 5, value: t('REJECTED_BY_BUSINESS', theme?.defaultLanguages?.REJECTED_BY_BUSINESS || 'Rejected by business'), slug: 'REJECTED_BY_BUSINESS', percentage: 0 },
85
- { key: 6, value: t('REJECTED_BY_DRIVER', theme?.defaultLanguages?.REJECTED_BY_DRIVER || 'Rejected by Driver'), slug: 'REJECTED_BY_DRIVER', percentage: 0 },
86
- { key: 7, value: t('ACCEPTED_BY_BUSINESS', theme?.defaultLanguages?.ACCEPTED_BY_BUSINESS || 'Accepted by business'), slug: 'ACCEPTED_BY_BUSINESS', percentage: 35 },
87
- { key: 8, value: t('ACCEPTED_BY_DRIVER', theme?.defaultLanguages?.ACCEPTED_BY_DRIVER || 'Accepted by driver'), slug: 'ACCEPTED_BY_DRIVER', percentage: 45 },
88
- { key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_COMPLETED_BY_DRIVER || 'Pick up completed by driver'), slug: 'PICK_UP_COMPLETED_BY_DRIVER', percentage: 80 },
89
- { key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_FAILED_BY_DRIVER || 'Pick up Failed by driver'), slug: 'PICK_UP_FAILED_BY_DRIVER', percentage: 0 },
90
- { key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_COMPLETED_BY_DRIVER || 'Delivery completed by driver'), slug: 'DELIVERY_COMPLETED_BY_DRIVER', percentage: 100 },
91
- { key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_FAILED_BY_DRIVER || 'Delivery Failed by driver'), slug: 'DELIVERY_FAILED_BY_DRIVER', percentage: 0 },
92
- { key: 13, value: t('PREORDER', theme?.defaultLanguages?.PREORDER || 'PreOrder'), slug: 'PREORDER', percentage: 0 },
93
- { key: 14, value: t('ORDER_NOT_READY', theme?.defaultLanguages?.ORDER_NOT_READY || 'Order not ready'), slug: 'ORDER_NOT_READY', percentage: 65 },
94
- { key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER || 'Order picked up completed by customer'), slug: 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', percentage: 100 },
95
- { key: 16, value: t('ORDER_STATUS_CANCELLED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_STATUS_CANCELLED_BY_CUSTOMER || 'Order cancelled by customer'), slug: 'ORDER_STATUS_CANCELLED_BY_CUSTOMER', percentage: 0 },
96
- { key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_NOT_PICKEDUP_BY_CUSTOMER || 'Order not picked up by customer'), slug: 'ORDER_NOT_PICKEDUP_BY_CUSTOMER', percentage: 0 },
97
- { key: 18, value: t('ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS || 'Driver almost arrived to business'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', percentage: 55 },
98
- { key: 19, value: t('ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER || 'Driver almost arrived to customer'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', percentage: 90 },
99
- { key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS || 'Customer almost arrived to business'), slug: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', percentage: 90 },
100
- { key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ARRIVED_BUSINESS || 'Customer arrived to business'), slug: 'ORDER_CUSTOMER_ARRIVED_BUSINESS', percentage: 95 },
101
- { key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', theme?.defaultLanguages?.ORDER_LOOKING_FOR_DRIVER || 'Looking for driver'), slug: 'ORDER_LOOKING_FOR_DRIVER', percentage: 35 },
102
- { key: 23, value: t('ORDER_DRIVER_ON_WAY', theme?.defaultLanguages?.ORDER_DRIVER_ON_WAY || 'Driver on way'), slug: 'ORDER_DRIVER_ON_WAY', percentage: 45 }
103
- ]
104
-
105
- const objectStatus = orderStatus.find((o) => o.key === status)
106
-
107
- return objectStatus && objectStatus
108
- }
109
-
110
- const convertDiffToHours = (order: any) => {
111
- const time = order.delivery_type === 1 ? order?.business?.delivery_time : order?.business?.pickup_time
112
- const deliveryTime = order?.delivery_datetime_utc
113
- ? parseDate(order?.delivery_datetime_utc, { outputFormat: 'YYYY-MM-DD HH:mm' })
114
- : parseDate(order?.delivery_datetime, { utc: false, outputFormat: 'YYYY-MM-DD HH:mm' })
115
- const hour = time?.split(':')?.[0]
116
- const minute = time?.split(':')?.[1]
117
- const result = time ? (parseInt(hour, 10) * 60) + parseInt(minute, 10) : 0
118
- const returnedDate = moment(deliveryTime).add(result, 'minutes').format('hh:mm A')
119
- return returnedDate
120
- }
121
-
122
83
  const handleGoToOrder = (index: string) => {
123
84
  navigation && navigation.navigate(index)
124
85
  }
@@ -126,7 +87,15 @@ const OrderProgressUI = (props: any) => {
126
87
  useEffect(() => {
127
88
  if (orderList?.orders.length > 0) {
128
89
  const sortedOrders = orderList.orders.sort((a: any, b: any) => a.id > b.id ? -1 : 1)
129
- setLastOrder(sortedOrders[0])
90
+ const orderInProgress = sortedOrders.find((order: any) => (statusToShow.includes(order.status)))
91
+
92
+ let _lastOrder = null
93
+ if (orderInProgress) {
94
+ _lastOrder = orderInProgress
95
+ } else {
96
+ _lastOrder = sortedOrders[0]
97
+ }
98
+ setLastOrder(_lastOrder)
130
99
  }
131
100
  }, [orderList?.orders])
132
101
 
@@ -144,70 +113,80 @@ const OrderProgressUI = (props: any) => {
144
113
  return (
145
114
  <>
146
115
  {(orderList?.loading && !initialLoaded) && (
147
- <Placeholder Animation={Fade} height={Platform.OS === 'ios' ? 147.5 : 158}>
148
- <PlaceholderLine height={60} style={{ borderRadius: 8, marginBottom: 10 }} />
149
- <PlaceholderLine height={20} style={{ marginBottom: 10 }} />
150
- <PlaceholderLine height={40} style={{ borderRadius: 8, marginBottom: 10 }} />
151
- </Placeholder>
116
+ <OrderProgressWrapper>
117
+ <Placeholder Animation={Fade} height={Platform.OS === 'ios' ? 147.5 : 158}>
118
+ <PlaceholderLine height={60} style={{ borderRadius: 8, marginBottom: 10 }} />
119
+ <PlaceholderLine height={20} style={{ marginBottom: 10 }} />
120
+ <PlaceholderLine height={40} style={{ borderRadius: 8, marginBottom: 10 }} />
121
+ </Placeholder>
122
+ </OrderProgressWrapper>
152
123
  )}
153
124
  {(!orderList?.loading || initialLoaded) && orderList?.orders?.length > 0 && lastOrder && (
154
- <View style={styles.main}>
155
- <OrderInfoWrapper style={{ flex: 1 }}>
156
- <View style={styles.logoWrapper}>
157
- <FastImage
158
- style={{ width: 50, height: 50 }}
159
- source={{
160
- uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
161
- priority: FastImage.priority.normal,
162
- }}
163
- resizeMode={FastImage.resizeMode.cover}
164
- />
165
- </View>
166
- <View style={{
167
- paddingHorizontal: 10,
168
- flex: 1
169
- }}
170
- >
171
- <OText
172
- size={13}
173
- style={{
174
- fontWeight: 'bold',
175
- marginBottom: 3
176
- }}
177
- >{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
178
- <OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
179
- <TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
180
- <View style={styles.navigationButton}>
181
- <OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
182
- <IconAntDesign
183
- name='arrowright'
184
- color={theme.colors.primary}
185
- size={13}
186
- style={{ marginHorizontal: 5 }}
187
- />
188
- </View>
189
- </TouchableOpacity>
125
+ <OrderProgressWrapper>
126
+ <View style={styles.main}>
127
+ <OrderInfoWrapper style={{ flex: 1 }}>
128
+ <View style={styles.logoWrapper}>
129
+ <FastImage
130
+ style={{ width: 50, height: 50 }}
131
+ source={orderList?.orders.length === 1 ? {
132
+ uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
133
+ priority: FastImage.priority.normal,
134
+ } : theme.images.logos.logotype}
135
+ resizeMode={FastImage.resizeMode.contain}
136
+ />
137
+ </View>
138
+ <View style={{
139
+ paddingHorizontal: 10,
140
+ flex: 1
141
+ }}
142
+ >
143
+ <OText
144
+ size={13}
145
+ style={{
146
+ fontWeight: 'bold',
147
+ marginBottom: 3
148
+ }}
149
+ >{statusToShow.includes(lastOrder?.status) ? t('ORDER_IN_PROGRESS', 'Order in progress') : t('ORDER', 'Order')}</OText>
150
+ {statusToShow.includes(lastOrder?.status) && (
151
+ <OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
152
+ )}
153
+ <TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
154
+ <View style={styles.navigationButton}>
155
+ <OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
156
+ <IconAntDesign
157
+ name='arrowright'
158
+ color={theme.colors.primary}
159
+ size={13}
160
+ style={{ marginHorizontal: 5 }}
161
+ />
162
+ </View>
163
+ </TouchableOpacity>
164
+ </View>
165
+ </OrderInfoWrapper>
166
+ <View style={{ flex: 1 }}>
167
+ <ProgressContentWrapper>
168
+ <ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${(getOrderStatus(lastOrder.status) as any).percentage * 100}%` : '0%' }} />
169
+ </ProgressContentWrapper>
170
+ <ProgressTextWrapper>
171
+ <OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
172
+ <TimeWrapper>
173
+ <OText size={11}>{lastOrder?.delivery_type === 1 ? t('ESTIMATED_DELIVERY', 'Estimated delivery') : t('ESTIMATED_TIME', 'Estimated time')}</OText>
174
+ <OText size={11}>
175
+ {lastOrder?.delivery_datetime_utc
176
+ ? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: configs?.general_hour_format?.value || 'HH:mm' })
177
+ : parseTime(lastOrder?.delivery_datetime, { utc: false })}
178
+ &nbsp;-&nbsp;
179
+ {statusToShow.includes(lastOrder?.status) ? (
180
+ <OrderEta order={lastOrder} outputFormat={configs?.general_hour_format?.value || 'HH:mm'} />
181
+ ) : (
182
+ parseDate(lastOrder?.reporting_data?.at[`status:${lastOrder.status}`], { outputFormat: configs?.general_hour_format?.value })
183
+ )}
184
+ </OText>
185
+ </TimeWrapper>
186
+ </ProgressTextWrapper>
190
187
  </View>
191
- </OrderInfoWrapper>
192
- <View style={{ flex: 1 }}>
193
- <ProgressContentWrapper>
194
- <ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)?.percentage}%` : '0%' }} />
195
- </ProgressContentWrapper>
196
- <ProgressTextWrapper>
197
- <OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
198
- <TimeWrapper>
199
- <OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
200
- <OText size={11}>
201
- {lastOrder?.delivery_datetime_utc
202
- ? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: 'hh:mm A' })
203
- : parseTime(lastOrder?.delivery_datetime, { utc: false })}
204
- &nbsp;-&nbsp;
205
- {convertDiffToHours(lastOrder)}
206
- </OText>
207
- </TimeWrapper>
208
- </ProgressTextWrapper>
209
188
  </View>
210
- </View>
189
+ </OrderProgressWrapper>
211
190
  )}
212
191
  {/* {!orderList?.loading && orderList?.orders?.length === 0 && (
213
192
  <NotFoundSource
@@ -228,7 +207,7 @@ export const OrderProgress = (props: any) => {
228
207
  useDefualtSessionManager: true,
229
208
  paginationSettings: {
230
209
  initialPage: 1,
231
- pageSize: 1,
210
+ pageSize: 10,
232
211
  controlType: 'infinity'
233
212
  }
234
213
  }
@@ -29,3 +29,8 @@ export const OrderInfoWrapper = styled.View`
29
29
  align-items: center;
30
30
  margin-bottom: 15px;
31
31
  `
32
+ export const OrderProgressWrapper = styled.View`
33
+ margin-top: 37px;
34
+ margin-bottom: 20px;
35
+ padding-horizontal: 40px;
36
+ `
@@ -20,12 +20,12 @@ import {
20
20
 
21
21
  import { ProductItemAccordion } from '../ProductItemAccordion';
22
22
  import { CouponControl } from '../CouponControl';
23
- import { OInput, OModal, OText } from '../shared';
23
+ import { OInput, OModal, OText, OAlert } from '../shared';
24
24
  import { verifyDecimals } from '../../utils';
25
25
  import AntIcon from 'react-native-vector-icons/AntDesign'
26
26
  import { TaxInformation } from '../TaxInformation';
27
27
  import { TouchableOpacity } from 'react-native';
28
- import { OAlert } from '../../../../../src/components/shared'
28
+ import { MomentOption } from '../MomentOption';
29
29
 
30
30
  const OrderSummaryUI = (props: any) => {
31
31
  const {
@@ -38,7 +38,16 @@ const OrderSummaryUI = (props: any) => {
38
38
  commentState,
39
39
  handleChangeComment,
40
40
  onNavigationRedirect,
41
- handleRemoveOfferClick
41
+ handleRemoveOfferClick,
42
+ preorderSlotInterval,
43
+ preorderLeadTime,
44
+ preorderTimeRange,
45
+ preorderMaximumDays,
46
+ preorderMinimumDays,
47
+ cateringTypes,
48
+ hideDeliveryFee,
49
+ loyaltyRewardRate,
50
+ maxDate
42
51
  } = props;
43
52
 
44
53
  const theme = useTheme()
@@ -48,9 +57,32 @@ const OrderSummaryUI = (props: any) => {
48
57
  const [{ parsePrice, parseNumber }] = useUtils();
49
58
  const [validationFields] = useValidationFields();
50
59
  const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null, type: '' })
51
- const [confirm, setConfirm] = useState<any>({ open: false, content: null, handleOnAccept: null, id: null, title: null })
52
60
  const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled;
53
61
 
62
+ const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
63
+
64
+ const walletName: any = {
65
+ cash: {
66
+ name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
67
+ },
68
+ credit_point: {
69
+ name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
70
+ }
71
+ }
72
+
73
+ const getIncludedTaxes = () => {
74
+ if (cart?.taxes === null || !cart?.taxes) {
75
+ return cart?.business?.tax_type === 1 ? cart?.tax : 0
76
+ } else {
77
+ return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
78
+ return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
79
+ }, 0)
80
+ }
81
+ }
82
+
83
+ const clearAmount = (value: any) => parseFloat((Math.trunc(value * 100) / 100).toFixed(configs.format_number_decimal_length?.value ?? 2))
84
+ const loyaltyRewardValue = clearAmount((cart?.subtotal + getIncludedTaxes()) * loyaltyRewardRate)
85
+
54
86
  const handleDeleteClick = (product: any) => {
55
87
  removeProduct(product, cart)
56
88
  }
@@ -67,41 +99,20 @@ const OrderSummaryUI = (props: any) => {
67
99
  })
68
100
  }
69
101
 
70
- const getIncludedTaxes = () => {
71
- if (cart?.taxes === null || !cart?.taxes) {
72
- return cart.business.tax_type === 1 ? cart?.tax : 0
73
- } else {
74
- return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
75
- return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
76
- }, 0)
77
- }
78
- }
79
-
80
102
  const getIncludedTaxesDiscounts = () => {
81
103
  return cart?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
82
104
  }
83
105
 
84
- const onRemoveOffer = (id: number) => {
85
- setConfirm({
86
- open: true,
87
- content: [t('QUESTION_DELETE_OFFER', 'Are you sure that you want to delete the offer?')],
88
- title: t('OFFER', 'Offer'),
89
- handleOnAccept: () => {
90
- setConfirm({ ...confirm, open: false })
91
- handleRemoveOfferClick(id)
92
- }
93
- })
94
- }
95
-
96
- const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
97
-
98
- const walletName: any = {
99
- cash: {
100
- name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
101
- },
102
- credit_point: {
103
- name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
104
- }
106
+ const OfferAlert = ({ offerId }: any) => {
107
+ return (
108
+ <OAlert
109
+ title={t('OFFER', 'Offer')}
110
+ message={t('QUESTION_DELETE_OFFER', 'Are you sure that you want to delete the offer?')}
111
+ onAccept={() => handleRemoveOfferClick(offerId)}
112
+ >
113
+ <AntIcon style={{ marginLeft: 3 }} name='closecircle' size={16} color={theme.colors.primary} />
114
+ </OAlert>
115
+ )
105
116
  }
106
117
 
107
118
  return (
@@ -121,6 +132,7 @@ const OrderSummaryUI = (props: any) => {
121
132
  onDeleteProduct={handleDeleteClick}
122
133
  onEditProduct={handleEditProduct}
123
134
  isFromCheckout={isFromCheckout}
135
+ isDisabledEdit={!cart?.business_id}
124
136
  />
125
137
  ))}
126
138
  </OSProductList>
@@ -156,9 +168,9 @@ const OrderSummaryUI = (props: any) => {
156
168
  <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_1' })}>
157
169
  <AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
158
170
  </TouchableOpacity>
159
- <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
160
- <AntIcon name='closecircle' size={16} color={theme.colors.primary} />
161
- </TouchableOpacity>
171
+ {!!offer?.id && (
172
+ <OfferAlert offerId={offer?.id} />
173
+ )}
162
174
  </OSRow>
163
175
  <OText size={12}>
164
176
  - {parsePrice(offer?.summary?.discount)}
@@ -166,7 +178,9 @@ const OrderSummaryUI = (props: any) => {
166
178
  </OSTable>
167
179
  ))
168
180
  }
169
- <Divider />
181
+ {cart?.business_id && (
182
+ <Divider />
183
+ )}
170
184
  {cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
171
185
  <OSTable>
172
186
  <OText size={12} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
@@ -220,9 +234,9 @@ const OrderSummaryUI = (props: any) => {
220
234
  <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_3' })}>
221
235
  <AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
222
236
  </TouchableOpacity>
223
- <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
224
- <AntIcon name='closecircle' size={16} color={theme.colors.primary} />
225
- </TouchableOpacity>
237
+ {!!offer?.id && (
238
+ <OfferAlert offerId={offer?.id} />
239
+ )}
226
240
  </OSRow>
227
241
  <OText size={12}>
228
242
  - {parsePrice(offer?.summary?.discount)}
@@ -230,10 +244,10 @@ const OrderSummaryUI = (props: any) => {
230
244
  </OSTable>
231
245
  ))
232
246
  }
233
- {orderState?.options?.type === 1 && cart?.delivery_price > 0 && (
247
+ {orderState?.options?.type === 1 && cart?.delivery_price_with_discount > 0 && !hideDeliveryFee && (
234
248
  <OSTable>
235
249
  <OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
236
- <OText size={12}>{parsePrice(cart?.delivery_price)}</OText>
250
+ <OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
237
251
  </OSTable>
238
252
  )}
239
253
  {
@@ -247,9 +261,9 @@ const OrderSummaryUI = (props: any) => {
247
261
  <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_2' })}>
248
262
  <AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
249
263
  </TouchableOpacity>
250
- <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
251
- <AntIcon name='closecircle' size={16} color={theme.colors.primary} />
252
- </TouchableOpacity>
264
+ {!!offer?.id && (
265
+ <OfferAlert offerId={offer?.id} />
266
+ )}
253
267
  </OSRow>
254
268
  <OText size={12}>
255
269
  - {parsePrice(offer?.summary?.discount)}
@@ -279,7 +293,7 @@ const OrderSummaryUI = (props: any) => {
279
293
  <OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
280
294
  </OSTable>
281
295
  ))}
282
- {isCouponEnabled && !isCartPending && (
296
+ {isCouponEnabled && !isCartPending && cart?.business_id && (
283
297
  <View>
284
298
  <View style={{ paddingVertical: 5 }}>
285
299
  <CouponControl
@@ -292,16 +306,23 @@ const OrderSummaryUI = (props: any) => {
292
306
  {cart?.total >= 1 && (
293
307
  <View style={{ marginTop: 15, borderTopWidth: 1, borderTopColor: '#d9d9d9' }}>
294
308
  <OSTable style={{ marginTop: 15 }}>
295
- <OText size={14} style={{ fontWeight: 'bold' }}>
309
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
296
310
  {t('TOTAL', 'Total')}
297
311
  </OText>
298
- <OText size={14} style={{ fontWeight: 'bold' }} >
312
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
299
313
  {parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
300
314
  </OText>
301
315
  </OSTable>
316
+ {!!loyaltyRewardValue && (
317
+ <OSTable style={{ justifyContent: 'flex-end' }}>
318
+ <OText size={12} color={theme.colors.textNormal}>
319
+ {t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue)}
320
+ </OText>
321
+ </OSTable>
322
+ )}
302
323
  </View>
303
324
  )}
304
- {cart?.status !== 2 && (
325
+ {cart?.business_id && cart?.status !== 2 && (
305
326
  <OSTable>
306
327
  <View style={{ width: '100%', marginTop: 20 }}>
307
328
  <OText size={12}>{t('COMMENTS', 'Comments')}</OText>
@@ -336,6 +357,21 @@ const OrderSummaryUI = (props: any) => {
336
357
  )}
337
358
  </OSBill>
338
359
  )}
360
+ {cateringTypes.includes(orderState?.options?.type) && maxDate && cart?.business && (
361
+ <View>
362
+ <MomentOption
363
+ maxDate={maxDate}
364
+ cateringPreorder
365
+ isCart
366
+ preorderSlotInterval={preorderSlotInterval}
367
+ preorderLeadTime={preorderLeadTime}
368
+ preorderTimeRange={preorderTimeRange}
369
+ preorderMaximumDays={preorderMaximumDays}
370
+ preorderMinimumDays={preorderMinimumDays}
371
+ business={cart?.business}
372
+ />
373
+ </View>
374
+ )}
339
375
  <OModal
340
376
  open={openTaxModal.open}
341
377
  onClose={() => setOpenTaxModal({ open: false, data: null, type: '' })}
@@ -349,14 +385,6 @@ const OrderSummaryUI = (props: any) => {
349
385
  products={cart?.products}
350
386
  />
351
387
  </OModal>
352
- <OAlert
353
- open={confirm.open}
354
- title={confirm.title}
355
- content={confirm.content}
356
- onAccept={confirm.handleOnAccept}
357
- onCancel={() => setConfirm({ ...confirm, open: false, title: null })}
358
- onClose={() => setConfirm({ ...confirm, open: false, title: null })}
359
- />
360
388
  </>
361
389
  )}
362
390
  </OSContainer>
@@ -96,7 +96,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
96
96
  <NavBar
97
97
  onActionLeft={() => goToBack()}
98
98
  btnStyle={{ paddingLeft: 0, width: 50 }}
99
- paddingTop={0}
99
+ paddingTop={Platform.OS === 'ios' ? 10 : 0}
100
100
  style={{ paddingBottom: 0 }}
101
101
  title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
102
102
  titleAlign={'center'}
@@ -16,24 +16,24 @@ const BusinessControllerList = ({ businesses, onBusinessClick, navigation, order
16
16
  return (
17
17
  <>
18
18
  {businesses?.result?.map((business: any, i: number) => (
19
- <BusinessController
20
- key={`${business.id}_` + i}
21
- business={business}
22
- isBusinessOpen={business.open}
23
- handleCustomClick={() => onBusinessClick(business)}
24
- orderType={orderState?.options?.type}
25
- navigation={navigation}
26
- businessHeader={business?.header}
27
- businessFeatured={business?.featured}
28
- businessLogo={business?.logo}
29
- businessReviews={business?.reviews}
30
- businessDeliveryPrice={business?.delivery_price}
31
- businessDeliveryTime={business?.delivery_time}
32
- businessPickupTime={business?.pickup_time}
33
- businessDistance={business?.distance}
34
- handleCustomUpdate={handleCustomUpdate}
35
- style={style}
36
- />
19
+ <View style={style} key={`${business.id}_` + i}>
20
+ <BusinessController
21
+ business={business}
22
+ isBusinessOpen={business.open}
23
+ handleCustomClick={() => onBusinessClick(business)}
24
+ orderType={orderState?.options?.type}
25
+ navigation={navigation}
26
+ businessHeader={business?.header}
27
+ businessFeatured={business?.featured}
28
+ businessLogo={business?.logo}
29
+ businessReviews={business?.reviews}
30
+ businessDeliveryPrice={business?.delivery_price}
31
+ businessDeliveryTime={business?.delivery_time}
32
+ businessPickupTime={business?.pickup_time}
33
+ businessDistance={business?.distance}
34
+ handleCustomUpdate={handleCustomUpdate}
35
+ />
36
+ </View>
37
37
  ))}
38
38
  </>
39
39
  )
@@ -109,7 +109,12 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
109
109
  });
110
110
 
111
111
  return (
112
- <ScrollView horizontal={isBusinessesSearchList} style={styles.container} showsVerticalScrollIndicator={false}>
112
+ <ScrollView
113
+ horizontal={isBusinessesSearchList}
114
+ style={styles.container}
115
+ showsVerticalScrollIndicator={false}
116
+ showsHorizontalScrollIndicator={false}
117
+ >
113
118
  {isBusinessesSearchList ? (
114
119
  <>
115
120
  {!businesses?.loading && (