ordering-ui-react-native 0.17.1 → 0.17.2-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 (207) 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/BusinessesListing/index.tsx +1 -1
  7. package/src/components/OrderCreating/index.tsx +1 -21
  8. package/src/components/OrdersOption/index.tsx +54 -56
  9. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  10. package/src/components/SingleProductReview/index.tsx +7 -4
  11. package/src/components/StripeMethodForm/index.tsx +1 -1
  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 +0 -1
  19. package/themes/business/src/components/Chat/index.tsx +118 -107
  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 +238 -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 +34 -44
  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/OrderSummary/index.tsx +113 -121
  35. package/themes/business/src/components/OrdersOption/index.tsx +33 -75
  36. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  37. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  38. package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
  39. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  40. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  41. package/themes/business/src/components/ReviewCustomer/index.tsx +41 -24
  42. package/themes/business/src/components/StoresList/index.tsx +2 -2
  43. package/themes/business/src/components/shared/OLink.tsx +33 -13
  44. package/themes/business/src/components/shared/OModal.tsx +16 -9
  45. package/themes/business/src/components/shared/OText.tsx +8 -2
  46. package/themes/business/src/types/index.tsx +33 -2
  47. package/themes/business/src/utils/index.tsx +51 -0
  48. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  49. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  50. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  52. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  53. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  54. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  55. package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
  56. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  57. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  58. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  59. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  60. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +3 -2
  61. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  62. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  63. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  64. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  65. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  66. package/themes/kiosk/src/types/index.d.ts +13 -0
  67. package/themes/kiosk/src/utils/index.tsx +15 -0
  68. package/themes/original/index.tsx +8 -0
  69. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  70. package/themes/original/src/components/AddressForm/index.tsx +41 -16
  71. package/themes/original/src/components/AddressList/index.tsx +26 -21
  72. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  73. package/themes/original/src/components/AnalyticsSegment/index.tsx +189 -9
  74. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  75. package/themes/original/src/components/BusinessBasicInformation/index.tsx +125 -82
  76. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -4
  77. package/themes/original/src/components/BusinessController/index.tsx +145 -68
  78. package/themes/original/src/components/BusinessController/styles.tsx +22 -9
  79. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  80. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  81. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  82. package/themes/original/src/components/BusinessItemAccordion/index.tsx +24 -23
  83. package/themes/original/src/components/BusinessListingSearch/index.tsx +52 -24
  84. package/themes/original/src/components/BusinessPreorder/index.tsx +97 -16
  85. package/themes/original/src/components/BusinessProductsList/index.tsx +20 -11
  86. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  87. package/themes/original/src/components/BusinessProductsListing/index.tsx +617 -490
  88. package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -13
  89. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  90. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -3
  91. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  92. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +98 -78
  93. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  94. package/themes/original/src/components/BusinessesListing/index.tsx +5 -3
  95. package/themes/original/src/components/Cart/index.tsx +87 -43
  96. package/themes/original/src/components/CartContent/index.tsx +102 -3
  97. package/themes/original/src/components/CartContent/styles.tsx +15 -1
  98. package/themes/original/src/components/Checkout/index.tsx +294 -175
  99. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  100. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  101. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  102. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  103. package/themes/original/src/components/DriverTips/index.tsx +52 -37
  104. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  105. package/themes/original/src/components/Favorite/index.tsx +7 -4
  106. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  107. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  108. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  109. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  110. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  111. package/themes/original/src/components/Help/index.tsx +8 -8
  112. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
  113. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  114. package/themes/original/src/components/HelpGuide/index.tsx +12 -16
  115. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  116. package/themes/original/src/components/HelpOrder/index.tsx +12 -25
  117. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  118. package/themes/original/src/components/Home/index.tsx +13 -4
  119. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  120. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  121. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  122. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  123. package/themes/original/src/components/LoginForm/index.tsx +43 -19
  124. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  125. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  126. package/themes/original/src/components/Messages/index.tsx +32 -10
  127. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  128. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  129. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +117 -96
  130. package/themes/original/src/components/MultiCheckout/index.tsx +248 -83
  131. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  132. package/themes/original/src/components/MultiOrdersDetails/index.tsx +67 -20
  133. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  134. package/themes/original/src/components/MyOrders/index.tsx +66 -17
  135. package/themes/original/src/components/NavBar/index.tsx +6 -11
  136. package/themes/original/src/components/Notifications/index.tsx +144 -0
  137. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  138. package/themes/original/src/components/OrderDetails/OrderEta.tsx +59 -0
  139. package/themes/original/src/components/OrderDetails/index.tsx +109 -221
  140. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  141. package/themes/original/src/components/OrderItAgain/index.tsx +47 -43
  142. package/themes/original/src/components/OrderProgress/index.tsx +74 -112
  143. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  144. package/themes/original/src/components/OrderSummary/index.tsx +68 -29
  145. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
  146. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +28 -19
  147. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  148. package/themes/original/src/components/OrdersOption/index.tsx +76 -83
  149. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  150. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  151. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  152. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  153. package/themes/original/src/components/PaymentOptions/index.tsx +2 -2
  154. package/themes/original/src/components/PhoneInputNumber/index.tsx +3 -3
  155. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  156. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  157. package/themes/original/src/components/ProductForm/index.tsx +240 -261
  158. package/themes/original/src/components/ProductForm/styles.tsx +4 -7
  159. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  160. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  161. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  162. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  163. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
  164. package/themes/original/src/components/ProfessionalProfile/index.tsx +54 -14
  165. package/themes/original/src/components/Promotions/index.tsx +234 -220
  166. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  167. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  168. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  169. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  170. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  171. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  172. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  173. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  174. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  175. package/themes/original/src/components/ServiceForm/index.tsx +377 -270
  176. package/themes/original/src/components/Sessions/index.tsx +11 -8
  177. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  178. package/themes/original/src/components/SignupForm/index.tsx +79 -66
  179. package/themes/original/src/components/SingleOrderCard/index.tsx +126 -57
  180. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  181. package/themes/original/src/components/SingleProductCard/index.tsx +111 -56
  182. package/themes/original/src/components/SingleProductCard/styles.tsx +27 -13
  183. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  184. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  185. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  186. package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
  187. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -218
  188. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  189. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  190. package/themes/original/src/components/UserFormDetails/index.tsx +53 -54
  191. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  192. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  193. package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
  194. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  195. package/themes/original/src/components/Wallets/index.tsx +18 -17
  196. package/themes/original/src/components/Wallets/styles.tsx +2 -0
  197. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  198. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  199. package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
  200. package/themes/original/src/components/shared/OButton.tsx +6 -2
  201. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  202. package/themes/original/src/components/shared/OInput.tsx +10 -1
  203. package/themes/original/src/components/shared/OModal.tsx +3 -3
  204. package/themes/original/src/layouts/Container.tsx +13 -9
  205. package/themes/original/src/types/index.tsx +44 -7
  206. package/themes/original/src/utils/index.tsx +364 -58
  207. 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,31 @@ 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 = ((
86
+ Math.trunc(((cart?.subtotal + getIncludedTaxes()) * loyaltyRewardRate) * 100) / 100
87
+ ).toFixed(configs.format_number_decimal_length?.value ?? 2), 10)
88
+
54
89
  const handleDeleteClick = (product: any) => {
55
90
  removeProduct(product, cart)
56
91
  }
@@ -67,16 +102,6 @@ const OrderSummaryUI = (props: any) => {
67
102
  })
68
103
  }
69
104
 
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
105
  const getIncludedTaxesDiscounts = () => {
81
106
  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
107
  }
@@ -93,17 +118,6 @@ const OrderSummaryUI = (props: any) => {
93
118
  })
94
119
  }
95
120
 
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
121
  return (
108
122
  <OSContainer>
109
123
  {cart?.products?.length > 0 && (
@@ -121,6 +135,7 @@ const OrderSummaryUI = (props: any) => {
121
135
  onDeleteProduct={handleDeleteClick}
122
136
  onEditProduct={handleEditProduct}
123
137
  isFromCheckout={isFromCheckout}
138
+ isDisabledEdit={!cart?.business_id}
124
139
  />
125
140
  ))}
126
141
  </OSProductList>
@@ -166,7 +181,9 @@ const OrderSummaryUI = (props: any) => {
166
181
  </OSTable>
167
182
  ))
168
183
  }
169
- <Divider />
184
+ {cart?.business_id && (
185
+ <Divider />
186
+ )}
170
187
  {cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
171
188
  <OSTable>
172
189
  <OText size={12} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
@@ -230,10 +247,10 @@ const OrderSummaryUI = (props: any) => {
230
247
  </OSTable>
231
248
  ))
232
249
  }
233
- {orderState?.options?.type === 1 && cart?.delivery_price > 0 && (
250
+ {orderState?.options?.type === 1 && cart?.delivery_price_with_discount > 0 && !hideDeliveryFee && (
234
251
  <OSTable>
235
252
  <OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
236
- <OText size={12}>{parsePrice(cart?.delivery_price)}</OText>
253
+ <OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
237
254
  </OSTable>
238
255
  )}
239
256
  {
@@ -279,7 +296,7 @@ const OrderSummaryUI = (props: any) => {
279
296
  <OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
280
297
  </OSTable>
281
298
  ))}
282
- {isCouponEnabled && !isCartPending && (
299
+ {isCouponEnabled && !isCartPending && cart?.business_id && (
283
300
  <View>
284
301
  <View style={{ paddingVertical: 5 }}>
285
302
  <CouponControl
@@ -292,16 +309,23 @@ const OrderSummaryUI = (props: any) => {
292
309
  {cart?.total >= 1 && (
293
310
  <View style={{ marginTop: 15, borderTopWidth: 1, borderTopColor: '#d9d9d9' }}>
294
311
  <OSTable style={{ marginTop: 15 }}>
295
- <OText size={14} style={{ fontWeight: 'bold' }}>
312
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
296
313
  {t('TOTAL', 'Total')}
297
314
  </OText>
298
- <OText size={14} style={{ fontWeight: 'bold' }} >
315
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
299
316
  {parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
300
317
  </OText>
301
318
  </OSTable>
319
+ {!!loyaltyRewardValue && isFinite(loyaltyRewardValue) && (
320
+ <OSTable style={{ justifyContent: 'flex-end' }}>
321
+ <OText size={12} color={theme.colors.textNormal}>
322
+ {t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue)}
323
+ </OText>
324
+ </OSTable>
325
+ )}
302
326
  </View>
303
327
  )}
304
- {cart?.status !== 2 && (
328
+ {cart?.business_id && cart?.status !== 2 && (
305
329
  <OSTable>
306
330
  <View style={{ width: '100%', marginTop: 20 }}>
307
331
  <OText size={12}>{t('COMMENTS', 'Comments')}</OText>
@@ -336,6 +360,21 @@ const OrderSummaryUI = (props: any) => {
336
360
  )}
337
361
  </OSBill>
338
362
  )}
363
+ {cateringTypes.includes(orderState?.options?.type) && maxDate && cart?.business && (
364
+ <View>
365
+ <MomentOption
366
+ maxDate={maxDate}
367
+ cateringPreorder
368
+ isCart
369
+ preorderSlotInterval={preorderSlotInterval}
370
+ preorderLeadTime={preorderLeadTime}
371
+ preorderTimeRange={preorderTimeRange}
372
+ preorderMaximumDays={preorderMaximumDays}
373
+ preorderMinimumDays={preorderMinimumDays}
374
+ business={cart?.business}
375
+ />
376
+ </View>
377
+ )}
339
378
  <OModal
340
379
  open={openTaxModal.open}
341
380
  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>