ordering-ui-react-native 0.16.95 → 0.16.96-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 (210) hide show
  1. package/package.json +5 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/styles.tsx +8 -14
  4. package/src/components/BusinessInformation/index.tsx +11 -4
  5. package/src/components/BusinessInformation/styles.tsx +2 -2
  6. package/src/components/BusinessProductsList/index.tsx +1 -1
  7. package/src/components/BusinessesListing/index.tsx +1 -1
  8. package/src/components/OrderCreating/index.tsx +1 -21
  9. package/src/components/OrdersOption/index.tsx +54 -56
  10. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  11. package/src/components/SingleProductReview/index.tsx +7 -4
  12. package/src/components/VerifyPhone/styles.tsx +1 -2
  13. package/src/components/shared/OToast.tsx +4 -4
  14. package/src/utils/index.tsx +7 -1
  15. package/themes/business/index.tsx +2 -0
  16. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
  17. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  18. package/themes/business/src/components/BusinessController/index.tsx +2 -3
  19. package/themes/business/src/components/Chat/index.tsx +146 -135
  20. package/themes/business/src/components/DriverMap/index.tsx +22 -9
  21. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  22. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  23. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  24. package/themes/business/src/components/LoginForm/index.tsx +239 -80
  25. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  26. package/themes/business/src/components/MapView/index.tsx +18 -7
  27. package/themes/business/src/components/NewOrderNotification/index.tsx +33 -43
  28. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  29. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +96 -50
  30. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +59 -62
  31. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  32. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  33. package/themes/business/src/components/OrderMessage/index.tsx +18 -17
  34. package/themes/business/src/components/OrdersOption/index.tsx +33 -75
  35. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +1 -1
  36. package/themes/business/src/components/PreviousMessages/index.tsx +16 -18
  37. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  38. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  39. package/themes/business/src/components/PreviousOrders/index.tsx +447 -247
  40. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  41. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  42. package/themes/business/src/components/ReviewCustomer/index.tsx +42 -25
  43. package/themes/business/src/components/StoresList/index.tsx +2 -2
  44. package/themes/business/src/components/shared/OLink.tsx +33 -13
  45. package/themes/business/src/components/shared/OModal.tsx +16 -9
  46. package/themes/business/src/components/shared/OText.tsx +8 -2
  47. package/themes/business/src/types/index.tsx +33 -2
  48. package/themes/business/src/utils/index.tsx +53 -0
  49. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  50. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  51. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  52. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  53. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  54. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  55. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  56. package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
  57. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  58. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  59. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  60. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  61. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +3 -2
  62. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  63. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  64. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  65. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  66. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  67. package/themes/kiosk/src/types/index.d.ts +13 -0
  68. package/themes/kiosk/src/utils/index.tsx +15 -0
  69. package/themes/original/index.tsx +8 -0
  70. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  71. package/themes/original/src/components/AddressForm/index.tsx +152 -117
  72. package/themes/original/src/components/AddressList/index.tsx +26 -21
  73. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  74. package/themes/original/src/components/AnalyticsSegment/index.tsx +164 -8
  75. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  76. package/themes/original/src/components/BusinessBasicInformation/index.tsx +125 -82
  77. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -4
  78. package/themes/original/src/components/BusinessController/index.tsx +145 -68
  79. package/themes/original/src/components/BusinessController/styles.tsx +22 -9
  80. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  81. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  82. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  83. package/themes/original/src/components/BusinessItemAccordion/index.tsx +24 -23
  84. package/themes/original/src/components/BusinessListingSearch/index.tsx +52 -24
  85. package/themes/original/src/components/BusinessPreorder/index.tsx +96 -15
  86. package/themes/original/src/components/BusinessProductsList/index.tsx +20 -11
  87. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  88. package/themes/original/src/components/BusinessProductsListing/index.tsx +617 -490
  89. package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -13
  90. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  91. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -3
  92. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  93. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +98 -78
  94. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  95. package/themes/original/src/components/BusinessesListing/index.tsx +6 -6
  96. package/themes/original/src/components/Cart/index.tsx +87 -43
  97. package/themes/original/src/components/CartContent/index.tsx +77 -15
  98. package/themes/original/src/components/CartContent/styles.tsx +11 -1
  99. package/themes/original/src/components/Checkout/index.tsx +294 -175
  100. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  101. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  102. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  103. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  104. package/themes/original/src/components/DriverTips/index.tsx +52 -37
  105. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  106. package/themes/original/src/components/Favorite/index.tsx +7 -4
  107. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  108. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  109. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  110. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  111. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  112. package/themes/original/src/components/GoogleMap/index.tsx +10 -1
  113. package/themes/original/src/components/Help/index.tsx +8 -8
  114. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
  115. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  116. package/themes/original/src/components/HelpGuide/index.tsx +12 -16
  117. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  118. package/themes/original/src/components/HelpOrder/index.tsx +12 -25
  119. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  120. package/themes/original/src/components/Home/index.tsx +13 -4
  121. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  122. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  123. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  124. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  125. package/themes/original/src/components/LoginForm/index.tsx +43 -19
  126. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  127. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  128. package/themes/original/src/components/Messages/index.tsx +32 -10
  129. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  130. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  131. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +117 -96
  132. package/themes/original/src/components/MultiCheckout/index.tsx +247 -83
  133. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  134. package/themes/original/src/components/MultiOrdersDetails/index.tsx +67 -20
  135. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  136. package/themes/original/src/components/MyOrders/index.tsx +66 -17
  137. package/themes/original/src/components/NavBar/index.tsx +6 -11
  138. package/themes/original/src/components/NotFoundSource/index.tsx +1 -1
  139. package/themes/original/src/components/Notifications/index.tsx +144 -0
  140. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  141. package/themes/original/src/components/OrderDetails/OrderEta.tsx +59 -0
  142. package/themes/original/src/components/OrderDetails/index.tsx +110 -221
  143. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  144. package/themes/original/src/components/OrderItAgain/index.tsx +47 -43
  145. package/themes/original/src/components/OrderProgress/index.tsx +74 -112
  146. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  147. package/themes/original/src/components/OrderSummary/index.tsx +66 -29
  148. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
  149. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +28 -19
  150. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  151. package/themes/original/src/components/OrdersOption/index.tsx +76 -83
  152. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  153. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  154. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  155. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  156. package/themes/original/src/components/PaymentOptions/index.tsx +2 -2
  157. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  158. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  159. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  160. package/themes/original/src/components/ProductForm/index.tsx +240 -261
  161. package/themes/original/src/components/ProductForm/styles.tsx +4 -7
  162. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  163. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  164. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  165. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  166. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
  167. package/themes/original/src/components/ProfessionalProfile/index.tsx +54 -14
  168. package/themes/original/src/components/Promotions/index.tsx +234 -220
  169. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  170. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  171. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  172. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  173. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  174. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  175. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  176. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  177. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  178. package/themes/original/src/components/ServiceForm/index.tsx +377 -270
  179. package/themes/original/src/components/Sessions/index.tsx +11 -8
  180. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  181. package/themes/original/src/components/SignupForm/index.tsx +79 -66
  182. package/themes/original/src/components/SingleOrderCard/index.tsx +126 -57
  183. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  184. package/themes/original/src/components/SingleProductCard/index.tsx +111 -49
  185. package/themes/original/src/components/SingleProductCard/styles.tsx +27 -13
  186. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  187. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  188. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  189. package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
  190. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -218
  191. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  192. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  193. package/themes/original/src/components/UserFormDetails/index.tsx +53 -54
  194. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  195. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  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/Wallets/index.tsx +20 -19
  199. package/themes/original/src/components/Wallets/styles.tsx +2 -0
  200. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  201. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  202. package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
  203. package/themes/original/src/components/shared/OButton.tsx +6 -2
  204. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  205. package/themes/original/src/components/shared/OInput.tsx +10 -1
  206. package/themes/original/src/components/shared/OModal.tsx +3 -3
  207. package/themes/original/src/layouts/Container.tsx +13 -9
  208. package/themes/original/src/types/index.tsx +45 -7
  209. package/themes/original/src/utils/index.tsx +359 -58
  210. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -20,54 +20,58 @@ 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()
27
28
  const theme = useTheme()
28
29
  const { width } = Dimensions.get('window');
29
- const productsFilterd = productList?.length > 0 && productList?.sort((a: any, b:any) => moment(b?.last_ordered_date).valueOf() - moment(a?.last_ordered_date).valueOf()).filter((product : any) => product?.name?.toLowerCase()?.includes(searchValue?.toLowerCase()))
30
+ const productsFilterd = productList?.length > 0 && productList.filter((product : any) => !searchValue || product?.name?.toLowerCase()?.includes(searchValue?.toLowerCase()))?.sort((a: any, b:any) => moment(b?.last_ordered_date).valueOf() - moment(a?.last_ordered_date).valueOf())
30
31
  return (
31
- <Container hide={productsFilterd?.length === 0}>
32
- <OText
33
- size={16}
34
- lineHeight={24}
35
- color={theme.colors.textNormal}
36
- style={{
37
- fontWeight: '600',
38
- marginBottom: 6
39
- }}
40
- >
41
- {t('ORDER_IT_AGAIN', 'Order it again')}
42
- </OText>
43
- <OText
44
- size={12}
45
- lineHeight={18}
46
- color={theme.colors.disabled}
47
- >
48
- {t('ORDER_IT_AGAIN_DESC', 'Quickly add items from your past orders.')}
49
- </OText>
50
- <ScrollView
51
- horizontal
52
- showsVerticalScrollIndicator={false}
53
- showsHorizontalScrollIndicator={false}
54
- >
55
- {productsFilterd.map((product: any, i: number) => (
56
- <ProductWrapper key={'prod_' + product.id + `_${i}`} style={{ width: width - 120, }}>
57
- <SingleProductCard
58
- isSoldOut={product.inventoried && !product.quantity}
59
- product={product}
60
- businessId={businessId}
61
- categoryState={categoryState}
62
- onProductClick={() => onProductClick(product)}
63
- productAddedToCartLength={currentCart?.products?.reduce((productsLength: number, Cproduct: any) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
64
- handleUpdateProducts={handleUpdateProducts}
65
- navigation={navigation}
66
- isPreviously
67
- />
68
- </ProductWrapper>
69
- ))}
70
- </ScrollView>
71
- </Container>
32
+ productsFilterd?.length > 0 ? (
33
+ <Container>
34
+ <OText
35
+ size={16}
36
+ lineHeight={24}
37
+ color={theme.colors.textNormal}
38
+ style={{
39
+ fontWeight: '600',
40
+ marginBottom: 6
41
+ }}
42
+ >
43
+ {t('ORDER_IT_AGAIN', 'Order it again')}
44
+ </OText>
45
+ <OText
46
+ size={12}
47
+ lineHeight={18}
48
+ color={theme.colors.disabled}
49
+ >
50
+ {t('ORDER_IT_AGAIN_DESC', 'Quickly add items from your past orders.')}
51
+ </OText>
52
+ <ScrollView
53
+ horizontal
54
+ showsVerticalScrollIndicator={false}
55
+ showsHorizontalScrollIndicator={false}
56
+ >
57
+ {productsFilterd.map((product: any, i: number) => (
58
+ <ProductWrapper key={'prod_' + product.id + `_${i}`} style={{ width: width - 120, }}>
59
+ <SingleProductCard
60
+ isSoldOut={product.inventoried && !product.quantity}
61
+ product={product}
62
+ businessId={businessId}
63
+ categoryState={categoryState}
64
+ onProductClick={() => onProductClick(product)}
65
+ productAddedToCartLength={currentCart?.products?.reduce((productsLength: number, Cproduct: any) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
66
+ handleUpdateProducts={handleUpdateProducts}
67
+ navigation={navigation}
68
+ isPreviously
69
+ businessSingleId={businessSingleId}
70
+ />
71
+ </ProductWrapper>
72
+ ))}
73
+ </ScrollView>
74
+ </Container>
75
+ ) : null
72
76
  )
73
77
  }
@@ -12,13 +12,17 @@ import { NotFoundSource } from '../NotFoundSource'
12
12
  import { View, StyleSheet, TouchableOpacity, Platform } from 'react-native'
13
13
  import { Placeholder, Fade, PlaceholderLine } from "rn-placeholder";
14
14
  import FastImage from 'react-native-fast-image'
15
+ import { OrderEta } from '../OrderDetails/OrderEta'
15
16
  import {
16
17
  ProgressContentWrapper,
17
18
  ProgressBar,
18
19
  TimeWrapper,
19
20
  ProgressTextWrapper,
20
- OrderInfoWrapper
21
+ OrderInfoWrapper,
22
+ OrderProgressWrapper
21
23
  } from './styles'
24
+ import { getOrderStatus } from '../../utils'
25
+
22
26
  const OrderProgressUI = (props: any) => {
23
27
  const {
24
28
  orderList,
@@ -30,7 +34,7 @@ const OrderProgressUI = (props: any) => {
30
34
  const theme = useTheme();
31
35
 
32
36
  const [, t] = useLanguage()
33
- const [{ optimizeImage, parseDate, parseTime }] = useUtils()
37
+ const [{ optimizeImage, parseTime }] = useUtils()
34
38
  const [lastOrder, setLastOrder] = useState<any>(null)
35
39
  const imageFails = theme.images.general.emptyActiveOrders
36
40
  const [initialLoaded, setInitialLoaded] = useState(false)
@@ -47,9 +51,9 @@ const OrderProgressUI = (props: any) => {
47
51
  height: 1
48
52
  },
49
53
  shadowColor: '#000',
50
- shadowOpacity: 0.1,
51
- shadowRadius: 1,
52
- elevation: 2
54
+ shadowOpacity: 0.2,
55
+ shadowRadius: 2,
56
+ elevation: 3
53
57
  },
54
58
  logoWrapper: {
55
59
  overflow: 'hidden',
@@ -73,52 +77,6 @@ const OrderProgressUI = (props: any) => {
73
77
  }
74
78
  });
75
79
 
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
80
  const handleGoToOrder = (index: string) => {
123
81
  navigation && navigation.navigate(index)
124
82
  }
@@ -144,70 +102,74 @@ const OrderProgressUI = (props: any) => {
144
102
  return (
145
103
  <>
146
104
  {(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>
105
+ <OrderProgressWrapper>
106
+ <Placeholder Animation={Fade} height={Platform.OS === 'ios' ? 147.5 : 158}>
107
+ <PlaceholderLine height={60} style={{ borderRadius: 8, marginBottom: 10 }} />
108
+ <PlaceholderLine height={20} style={{ marginBottom: 10 }} />
109
+ <PlaceholderLine height={40} style={{ borderRadius: 8, marginBottom: 10 }} />
110
+ </Placeholder>
111
+ </OrderProgressWrapper>
152
112
  )}
153
113
  {(!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>
114
+ <OrderProgressWrapper>
115
+ <View style={styles.main}>
116
+ <OrderInfoWrapper style={{ flex: 1 }}>
117
+ <View style={styles.logoWrapper}>
118
+ <FastImage
119
+ style={{ width: 50, height: 50 }}
120
+ source={orderList?.orders.length === 1 ? {
121
+ uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
122
+ priority: FastImage.priority.normal,
123
+ } : theme.images.logos.logotype}
124
+ resizeMode={FastImage.resizeMode.contain}
125
+ />
126
+ </View>
127
+ <View style={{
128
+ paddingHorizontal: 10,
129
+ flex: 1
130
+ }}
131
+ >
132
+ <OText
133
+ size={13}
134
+ style={{
135
+ fontWeight: 'bold',
136
+ marginBottom: 3
137
+ }}
138
+ >{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
139
+ <OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
140
+ <TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
141
+ <View style={styles.navigationButton}>
142
+ <OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
143
+ <IconAntDesign
144
+ name='arrowright'
145
+ color={theme.colors.primary}
146
+ size={13}
147
+ style={{ marginHorizontal: 5 }}
148
+ />
149
+ </View>
150
+ </TouchableOpacity>
151
+ </View>
152
+ </OrderInfoWrapper>
153
+ <View style={{ flex: 1 }}>
154
+ <ProgressContentWrapper>
155
+ <ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)?.percentage}%` : '0%' }} />
156
+ </ProgressContentWrapper>
157
+ <ProgressTextWrapper>
158
+ <OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
159
+ <TimeWrapper>
160
+ <OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
161
+ <OText size={11}>
162
+ {lastOrder?.delivery_datetime_utc
163
+ ? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: 'hh:mm A' })
164
+ : parseTime(lastOrder?.delivery_datetime, { utc: false })}
165
+ &nbsp;-&nbsp;
166
+ <OrderEta order={lastOrder} outputFormat='hh:mm A' />
167
+ </OText>
168
+ </TimeWrapper>
169
+ </ProgressTextWrapper>
190
170
  </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
171
  </View>
210
- </View>
172
+ </OrderProgressWrapper>
211
173
  )}
212
174
  {/* {!orderList?.loading && orderList?.orders?.length === 0 && (
213
175
  <NotFoundSource
@@ -228,7 +190,7 @@ export const OrderProgress = (props: any) => {
228
190
  useDefualtSessionManager: true,
229
191
  paginationSettings: {
230
192
  initialPage: 1,
231
- pageSize: 1,
193
+ pageSize: 10,
232
194
  controlType: 'infinity'
233
195
  }
234
196
  }
@@ -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
+ `
@@ -26,6 +26,7 @@ import AntIcon from 'react-native-vector-icons/AntDesign'
26
26
  import { TaxInformation } from '../TaxInformation';
27
27
  import { TouchableOpacity } from 'react-native';
28
28
  import { OAlert } from '../../../../../src/components/shared'
29
+ import { MomentOption } from '../MomentOption';
29
30
 
30
31
  const OrderSummaryUI = (props: any) => {
31
32
  const {
@@ -38,7 +39,16 @@ const OrderSummaryUI = (props: any) => {
38
39
  commentState,
39
40
  handleChangeComment,
40
41
  onNavigationRedirect,
41
- handleRemoveOfferClick
42
+ handleRemoveOfferClick,
43
+ preorderSlotInterval,
44
+ preorderLeadTime,
45
+ preorderTimeRange,
46
+ preorderMaximumDays,
47
+ preorderMinimumDays,
48
+ cateringTypes,
49
+ hideDeliveryFee,
50
+ loyaltyRewardRate,
51
+ maxDate
42
52
  } = props;
43
53
 
44
54
  const theme = useTheme()
@@ -51,6 +61,29 @@ const OrderSummaryUI = (props: any) => {
51
61
  const [confirm, setConfirm] = useState<any>({ open: false, content: null, handleOnAccept: null, id: null, title: null })
52
62
  const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled;
53
63
 
64
+ const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
65
+
66
+ const walletName: any = {
67
+ cash: {
68
+ name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
69
+ },
70
+ credit_point: {
71
+ name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
72
+ }
73
+ }
74
+
75
+ const getIncludedTaxes = () => {
76
+ if (cart?.taxes === null || !cart?.taxes) {
77
+ return cart.business.tax_type === 1 ? cart?.tax : 0
78
+ } else {
79
+ return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
80
+ return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
81
+ }, 0)
82
+ }
83
+ }
84
+
85
+ const loyaltyRewardValue = Math.round((cart?.subtotal + getIncludedTaxes()) / loyaltyRewardRate)
86
+
54
87
  const handleDeleteClick = (product: any) => {
55
88
  removeProduct(product, cart)
56
89
  }
@@ -67,16 +100,6 @@ const OrderSummaryUI = (props: any) => {
67
100
  })
68
101
  }
69
102
 
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
103
  const getIncludedTaxesDiscounts = () => {
81
104
  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
105
  }
@@ -93,17 +116,6 @@ const OrderSummaryUI = (props: any) => {
93
116
  })
94
117
  }
95
118
 
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
- }
105
- }
106
-
107
119
  return (
108
120
  <OSContainer>
109
121
  {cart?.products?.length > 0 && (
@@ -121,6 +133,7 @@ const OrderSummaryUI = (props: any) => {
121
133
  onDeleteProduct={handleDeleteClick}
122
134
  onEditProduct={handleEditProduct}
123
135
  isFromCheckout={isFromCheckout}
136
+ isDisabledEdit={!cart?.business_id}
124
137
  />
125
138
  ))}
126
139
  </OSProductList>
@@ -166,7 +179,9 @@ const OrderSummaryUI = (props: any) => {
166
179
  </OSTable>
167
180
  ))
168
181
  }
169
- <Divider />
182
+ {cart?.business_id && (
183
+ <Divider />
184
+ )}
170
185
  {cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
171
186
  <OSTable>
172
187
  <OText size={12} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
@@ -230,10 +245,10 @@ const OrderSummaryUI = (props: any) => {
230
245
  </OSTable>
231
246
  ))
232
247
  }
233
- {orderState?.options?.type === 1 && cart?.delivery_price > 0 && (
248
+ {orderState?.options?.type === 1 && cart?.delivery_price_with_discount > 0 && !hideDeliveryFee && (
234
249
  <OSTable>
235
250
  <OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
236
- <OText size={12}>{parsePrice(cart?.delivery_price)}</OText>
251
+ <OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
237
252
  </OSTable>
238
253
  )}
239
254
  {
@@ -279,7 +294,7 @@ const OrderSummaryUI = (props: any) => {
279
294
  <OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
280
295
  </OSTable>
281
296
  ))}
282
- {isCouponEnabled && !isCartPending && (
297
+ {isCouponEnabled && !isCartPending && cart?.business_id && (
283
298
  <View>
284
299
  <View style={{ paddingVertical: 5 }}>
285
300
  <CouponControl
@@ -292,16 +307,23 @@ const OrderSummaryUI = (props: any) => {
292
307
  {cart?.total >= 1 && (
293
308
  <View style={{ marginTop: 15, borderTopWidth: 1, borderTopColor: '#d9d9d9' }}>
294
309
  <OSTable style={{ marginTop: 15 }}>
295
- <OText size={14} style={{ fontWeight: 'bold' }}>
310
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
296
311
  {t('TOTAL', 'Total')}
297
312
  </OText>
298
- <OText size={14} style={{ fontWeight: 'bold' }} >
313
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
299
314
  {parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
300
315
  </OText>
301
316
  </OSTable>
317
+ {!!loyaltyRewardValue && isFinite(loyaltyRewardValue) && (
318
+ <OSTable style={{ justifyContent: 'flex-end' }}>
319
+ <OText size={12} color={theme.colors.textNormal}>
320
+ {t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue)}
321
+ </OText>
322
+ </OSTable>
323
+ )}
302
324
  </View>
303
325
  )}
304
- {cart?.status !== 2 && (
326
+ {cart?.business_id && cart?.status !== 2 && (
305
327
  <OSTable>
306
328
  <View style={{ width: '100%', marginTop: 20 }}>
307
329
  <OText size={12}>{t('COMMENTS', 'Comments')}</OText>
@@ -336,6 +358,21 @@ const OrderSummaryUI = (props: any) => {
336
358
  )}
337
359
  </OSBill>
338
360
  )}
361
+ {cateringTypes.includes(orderState?.options?.type) && maxDate && cart?.business && (
362
+ <View>
363
+ <MomentOption
364
+ maxDate={maxDate}
365
+ cateringPreorder
366
+ isCart
367
+ preorderSlotInterval={preorderSlotInterval}
368
+ preorderLeadTime={preorderLeadTime}
369
+ preorderTimeRange={preorderTimeRange}
370
+ preorderMaximumDays={preorderMaximumDays}
371
+ preorderMinimumDays={preorderMinimumDays}
372
+ business={cart?.business}
373
+ />
374
+ </View>
375
+ )}
339
376
  <OModal
340
377
  open={openTaxModal.open}
341
378
  onClose={() => setOpenTaxModal({ open: false, data: null, type: '' })}
@@ -53,7 +53,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
53
53
  }
54
54
 
55
55
  useEffect(() => {
56
- handleChangeType(typeSelected)
56
+ handleChangeType && handleChangeType(typeSelected)
57
57
  }, [typeSelected])
58
58
 
59
59
  return (
@@ -95,12 +95,13 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
95
95
  <>
96
96
  <NavBar
97
97
  onActionLeft={() => goToBack()}
98
- btnStyle={{ paddingLeft: 0 }}
99
- paddingTop={0}
98
+ btnStyle={{ paddingLeft: 0, width: 50 }}
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'}
103
103
  titleStyle={{ fontSize: 14 }}
104
+ noMargin
104
105
  />
105
106
  {
106
107
  items.length > 0 && (
@@ -12,27 +12,28 @@ import {
12
12
  } from 'react-native';
13
13
  import { PreviousBusinessOrderedParams } from '../../../types';
14
14
 
15
- const BusinessControllerList = ({ businesses, onBusinessClick, navigation, orderState, style }: any) => {
15
+ const BusinessControllerList = ({ businesses, onBusinessClick, navigation, orderState, handleCustomUpdate, style }: any) => {
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
- style={style}
35
- />
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>
36
37
  ))}
37
38
  </>
38
39
  )
@@ -92,6 +93,7 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
92
93
  businesses,
93
94
  onNavigationRedirect,
94
95
  isBusinessesSearchList,
96
+ handleUpdateBusinesses,
95
97
  } = props
96
98
 
97
99
  const [orderState] = useOrder()
@@ -107,7 +109,12 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
107
109
  });
108
110
 
109
111
  return (
110
- <ScrollView horizontal={isBusinessesSearchList} style={styles.container} showsVerticalScrollIndicator={false}>
112
+ <ScrollView
113
+ horizontal={isBusinessesSearchList}
114
+ style={styles.container}
115
+ showsVerticalScrollIndicator={false}
116
+ showsHorizontalScrollIndicator={false}
117
+ >
111
118
  {isBusinessesSearchList ? (
112
119
  <>
113
120
  {!businesses?.loading && (
@@ -117,6 +124,7 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
117
124
  orderState={orderState}
118
125
  navigation={navigation}
119
126
  businesses={businesses}
127
+ handleCustomUpdate={handleUpdateBusinesses}
120
128
  />
121
129
  )}
122
130
  </>
@@ -130,6 +138,7 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
130
138
  orderState={orderState}
131
139
  navigation={navigation}
132
140
  businesses={businesses}
141
+ handleCustomUpdate={handleUpdateBusinesses}
133
142
  />
134
143
  )}
135
144
  </ListWrapper>