ordering-ui-react-native 0.18.55 → 0.18.56-crash-driver-1

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 (266) hide show
  1. package/package.json +6 -4
  2. package/src/components/BusinessInformation/index.tsx +10 -9
  3. package/src/components/PaymentOptionsWebView/index.tsx +30 -8
  4. package/src/components/PhoneInputNumber/index.tsx +6 -2
  5. package/src/components/StripeMethodForm/index.tsx +60 -55
  6. package/src/components/shared/OToast.tsx +3 -2
  7. package/src/types/index.tsx +3 -1
  8. package/src/utils/index.tsx +2 -2
  9. package/themes/business/index.tsx +6 -0
  10. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +15 -8
  11. package/themes/business/src/components/BusinessController/index.tsx +19 -17
  12. package/themes/business/src/components/BusinessProductList/AccordionDropdown.tsx +63 -0
  13. package/themes/business/src/components/BusinessProductList/IterateCategories.tsx +108 -0
  14. package/themes/business/src/components/BusinessProductList/ProductList.tsx +196 -0
  15. package/themes/business/src/components/BusinessProductList/index.tsx +196 -0
  16. package/themes/business/src/components/BusinessProductList/styles.tsx +10 -0
  17. package/themes/business/src/components/Chat/index.tsx +48 -19
  18. package/themes/business/src/components/DriverMap/index.tsx +36 -23
  19. package/themes/business/src/components/DriverSchedule/index.tsx +45 -8
  20. package/themes/business/src/components/FloatingButton/index.tsx +34 -31
  21. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  22. package/themes/business/src/components/Home/index.tsx +5 -1
  23. package/themes/business/src/components/LanguageSelector/index.tsx +1 -2
  24. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  25. package/themes/business/src/components/LoginForm/index.tsx +2 -2
  26. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  27. package/themes/business/src/components/MapView/index.tsx +28 -17
  28. package/themes/business/src/components/MessagesOption/index.tsx +22 -94
  29. package/themes/business/src/components/NewOrderNotification/index.tsx +162 -106
  30. package/themes/business/src/components/NotFoundSource/index.tsx +2 -2
  31. package/themes/business/src/components/OrderDetails/Business.tsx +53 -3
  32. package/themes/business/src/components/OrderDetails/Delivery.tsx +209 -13
  33. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +107 -75
  34. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +79 -41
  35. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +220 -0
  36. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +7 -2
  37. package/themes/business/src/components/OrderMessage/index.tsx +1 -1
  38. package/themes/business/src/components/OrderSummary/index.tsx +245 -82
  39. package/themes/business/src/components/OrdersListManager/index.tsx +7 -2
  40. package/themes/business/src/components/OrdersListManager/utils.tsx +1 -1
  41. package/themes/business/src/components/OrdersOption/index.tsx +125 -48
  42. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  43. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
  44. package/themes/business/src/components/PreviousMessages/index.tsx +97 -55
  45. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +43 -41
  46. package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -0
  47. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
  48. package/themes/business/src/components/PreviousOrders/index.tsx +195 -221
  49. package/themes/business/src/components/PreviousOrders/styles.tsx +10 -0
  50. package/themes/business/src/components/PrinterEdition/index.tsx +363 -0
  51. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  52. package/themes/business/src/components/PrinterSettings/index.tsx +267 -0
  53. package/themes/business/src/components/PrinterSettings/styles.tsx +30 -0
  54. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  55. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  56. package/themes/business/src/components/SearchBar/index.tsx +2 -1
  57. package/themes/business/src/components/Sessions/index.tsx +187 -0
  58. package/themes/business/src/components/Sessions/styles.tsx +20 -0
  59. package/themes/business/src/components/StoresList/index.tsx +4 -3
  60. package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
  61. package/themes/business/src/components/UserProfileForm/index.tsx +103 -53
  62. package/themes/business/src/components/WebsocketStatus/index.tsx +171 -0
  63. package/themes/business/src/components/WebsocketStatus/styles.tsx +28 -0
  64. package/themes/business/src/components/shared/OInput.tsx +2 -0
  65. package/themes/business/src/hooks/useLocation.tsx +5 -4
  66. package/themes/business/src/types/index.tsx +21 -1
  67. package/themes/business/src/utils/index.tsx +5 -0
  68. package/themes/kiosk/src/components/Checkout/index.tsx +5 -3
  69. package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
  70. package/themes/kiosk/src/components/Intro/index.tsx +16 -1
  71. package/themes/kiosk/src/components/LoginForm/index.tsx +131 -101
  72. package/themes/kiosk/src/components/PaymentOptions/index.tsx +57 -121
  73. package/themes/original/index.tsx +11 -3
  74. package/themes/original/src/components/AddressDetails/index.tsx +20 -10
  75. package/themes/original/src/components/AddressForm/index.tsx +41 -20
  76. package/themes/original/src/components/AddressForm/styles.tsx +1 -1
  77. package/themes/original/src/components/AddressList/index.tsx +22 -11
  78. package/themes/original/src/components/AddressList/styles.tsx +4 -4
  79. package/themes/original/src/components/AnalyticsSegment/index.tsx +10 -7
  80. package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
  81. package/themes/original/src/components/BusinessBasicInformation/index.tsx +8 -11
  82. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +1 -1
  83. package/themes/original/src/components/BusinessController/index.tsx +40 -43
  84. package/themes/original/src/components/BusinessController/styles.tsx +12 -12
  85. package/themes/original/src/components/BusinessInformation/index.tsx +45 -17
  86. package/themes/original/src/components/BusinessInformation/styles.tsx +2 -2
  87. package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -7
  88. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +317 -0
  89. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +96 -0
  90. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +1 -1
  91. package/themes/original/src/components/BusinessListingSearch/index.tsx +57 -361
  92. package/themes/original/src/components/BusinessListingSearch/styles.tsx +1 -1
  93. package/themes/original/src/components/BusinessPreorder/index.tsx +9 -7
  94. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -3
  95. package/themes/original/src/components/BusinessProductsList/index.tsx +5 -4
  96. package/themes/original/src/components/BusinessProductsListing/index.tsx +67 -28
  97. package/themes/original/src/components/BusinessProductsListing/styles.tsx +3 -4
  98. package/themes/original/src/components/BusinessReviews/index.tsx +1 -1
  99. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  100. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -5
  101. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
  102. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
  103. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
  104. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +30 -404
  105. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +2 -2
  106. package/themes/original/src/components/Cart/index.tsx +51 -40
  107. package/themes/original/src/components/CartContent/index.tsx +98 -54
  108. package/themes/original/src/components/CartStoresListing/styles.tsx +2 -2
  109. package/themes/original/src/components/Checkout/index.tsx +308 -75
  110. package/themes/original/src/components/Checkout/styles.tsx +17 -0
  111. package/themes/original/src/components/CitiesControl/styles.tsx +1 -1
  112. package/themes/original/src/components/DatePicker/index.tsx +33 -0
  113. package/themes/original/src/components/DatePicker/styles.tsx +20 -0
  114. package/themes/original/src/components/DriverTips/index.tsx +6 -3
  115. package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
  116. package/themes/original/src/components/Favorite/index.tsx +8 -4
  117. package/themes/original/src/components/Favorite/styles.tsx +0 -2
  118. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  119. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -0
  120. package/themes/original/src/components/GPSButton/index.tsx +7 -5
  121. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
  122. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
  123. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +8 -3
  124. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +36 -3
  125. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +1 -1
  126. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +84 -8
  127. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +1 -1
  128. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +2 -2
  129. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +1 -1
  130. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
  131. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
  132. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +83 -0
  133. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
  134. package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
  135. package/themes/original/src/components/GoogleMap/index.tsx +52 -5
  136. package/themes/original/src/components/Help/index.tsx +7 -0
  137. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +5 -0
  138. package/themes/original/src/components/HelpGuide/index.tsx +5 -0
  139. package/themes/original/src/components/HelpOrder/index.tsx +5 -0
  140. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  141. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +1 -1
  142. package/themes/original/src/components/Home/index.tsx +3 -2
  143. package/themes/original/src/components/LastOrder/index.tsx +2 -1
  144. package/themes/original/src/components/LastOrders/index.tsx +2 -1
  145. package/themes/original/src/components/LoginForm/Otp/index.tsx +79 -25
  146. package/themes/original/src/components/LoginForm/index.tsx +38 -14
  147. package/themes/original/src/components/MessageListing/index.tsx +6 -0
  148. package/themes/original/src/components/Messages/index.tsx +9 -3
  149. package/themes/original/src/components/Messages/styles.tsx +1 -1
  150. package/themes/original/src/components/MomentOption/index.tsx +20 -5
  151. package/themes/original/src/components/MomentSelector/index.tsx +1 -1
  152. package/themes/original/src/components/MultiCart/index.tsx +1 -1
  153. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +48 -15
  154. package/themes/original/src/components/MultiCheckout/index.tsx +295 -56
  155. package/themes/original/src/components/MultiCheckout/styles.tsx +20 -1
  156. package/themes/original/src/components/MultiOrdersDetails/index.tsx +21 -16
  157. package/themes/original/src/components/MyOrders/index.tsx +37 -39
  158. package/themes/original/src/components/NavBar/index.tsx +15 -14
  159. package/themes/original/src/components/NetworkError/index.tsx +2 -3
  160. package/themes/original/src/components/NetworkError/styles.tsx +2 -2
  161. package/themes/original/src/components/Notifications/index.tsx +9 -8
  162. package/themes/original/src/components/Notifications/styles.tsx +0 -1
  163. package/themes/original/src/components/OrderDetails/OrderEta.tsx +21 -6
  164. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +14 -5
  165. package/themes/original/src/components/OrderDetails/index.tsx +718 -667
  166. package/themes/original/src/components/OrderDetails/styles.tsx +24 -7
  167. package/themes/original/src/components/OrderProgress/index.tsx +50 -14
  168. package/themes/original/src/components/OrderProgress/styles.tsx +1 -1
  169. package/themes/original/src/components/OrderSummary/index.tsx +26 -34
  170. package/themes/original/src/components/OrderTypeSelector/index.tsx +5 -0
  171. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +1 -1
  172. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +1 -1
  173. package/themes/original/src/components/OrdersOption/index.tsx +14 -6
  174. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  175. package/themes/original/src/components/PageBanner/index.tsx +3 -0
  176. package/themes/original/src/components/PaymentOptionCard/index.tsx +182 -0
  177. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +3 -0
  178. package/themes/original/src/components/PaymentOptions/index.tsx +118 -37
  179. package/themes/original/src/components/PhoneInputNumber/index.tsx +15 -1
  180. package/themes/original/src/components/PreviousOrders/index.tsx +2 -0
  181. package/themes/original/src/components/ProductForm/ActionButton.tsx +122 -0
  182. package/themes/original/src/components/ProductForm/ExtraOptions.tsx +56 -0
  183. package/themes/original/src/components/ProductForm/index.tsx +193 -267
  184. package/themes/original/src/components/ProductForm/styles.tsx +1 -1
  185. package/themes/original/src/components/ProductItemAccordion/index.tsx +55 -42
  186. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  187. package/themes/original/src/components/ProductOptionSubOption/index.tsx +120 -79
  188. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +10 -9
  189. package/themes/original/src/components/ProfessionalProfile/styles.tsx +3 -3
  190. package/themes/original/src/components/Promotions/index.tsx +13 -11
  191. package/themes/original/src/components/Promotions/styles.tsx +0 -2
  192. package/themes/original/src/components/ReviewDriver/index.tsx +5 -0
  193. package/themes/original/src/components/ReviewDriver/styles.tsx +1 -1
  194. package/themes/original/src/components/ReviewOrder/index.tsx +5 -0
  195. package/themes/original/src/components/ReviewOrder/styles.tsx +1 -1
  196. package/themes/original/src/components/ReviewProducts/index.tsx +5 -0
  197. package/themes/original/src/components/ReviewProducts/styles.tsx +1 -1
  198. package/themes/original/src/components/ScheduleAccordion/index.tsx +3 -3
  199. package/themes/original/src/components/ServiceForm/index.tsx +2 -2
  200. package/themes/original/src/components/ServiceForm/styles.tsx +4 -4
  201. package/themes/original/src/components/Sessions/index.tsx +5 -0
  202. package/themes/original/src/components/SignupForm/index.tsx +76 -60
  203. package/themes/original/src/components/SingleOrderCard/index.tsx +6 -5
  204. package/themes/original/src/components/SingleProductCard/index.tsx +5 -4
  205. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -5
  206. package/themes/original/src/components/StripeCardsList/index.tsx +26 -8
  207. package/themes/original/src/components/StripeElementsForm/index.tsx +80 -62
  208. package/themes/original/src/components/StripeElementsForm/naked.tsx +59 -1
  209. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +170 -0
  210. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +91 -0
  211. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -199
  212. package/themes/original/src/components/UpsellingProducts/styles.tsx +19 -0
  213. package/themes/original/src/components/UserFormDetails/index.tsx +128 -79
  214. package/themes/original/src/components/UserFormDetails/styles.tsx +8 -1
  215. package/themes/original/src/components/UserProfile/index.tsx +5 -4
  216. package/themes/original/src/components/UserProfileForm/index.tsx +35 -36
  217. package/themes/original/src/components/UserVerification/index.tsx +55 -50
  218. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  219. package/themes/original/src/components/WalletTransactions/styles.tsx +1 -0
  220. package/themes/original/src/components/Wallets/index.tsx +35 -49
  221. package/themes/original/src/components/Wallets/styles.tsx +3 -4
  222. package/themes/original/src/components/WebsocketStatus/index.tsx +172 -0
  223. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
  224. package/themes/original/src/components/shared/HeaderTitle.tsx +1 -1
  225. package/themes/original/src/components/shared/OButton.tsx +5 -5
  226. package/themes/original/src/components/shared/OInput.tsx +7 -4
  227. package/themes/original/src/components/shared/OModal.tsx +12 -14
  228. package/themes/original/src/layouts/Container.tsx +5 -3
  229. package/themes/original/src/types/index.tsx +13 -2
  230. package/themes/original/src/utils/index.tsx +124 -22
  231. package/src/navigators/BottomNavigator.tsx +0 -117
  232. package/src/navigators/CheckoutNavigator.tsx +0 -66
  233. package/src/navigators/HomeNavigator.tsx +0 -202
  234. package/src/navigators/NavigationRef.tsx +0 -7
  235. package/src/navigators/RootNavigator.tsx +0 -269
  236. package/src/pages/Account.tsx +0 -34
  237. package/src/pages/AddressForm.tsx +0 -62
  238. package/src/pages/AddressList.tsx +0 -24
  239. package/src/pages/BusinessProductsList.tsx +0 -81
  240. package/src/pages/BusinessesListing.tsx +0 -43
  241. package/src/pages/CartList.tsx +0 -49
  242. package/src/pages/Checkout.tsx +0 -101
  243. package/src/pages/ForgotPassword.tsx +0 -24
  244. package/src/pages/Help.tsx +0 -23
  245. package/src/pages/HelpAccountAndPayment.tsx +0 -23
  246. package/src/pages/HelpGuide.tsx +0 -23
  247. package/src/pages/HelpOrder.tsx +0 -23
  248. package/src/pages/Home.tsx +0 -36
  249. package/src/pages/IntroductoryTutorial.tsx +0 -170
  250. package/src/pages/Login.tsx +0 -47
  251. package/src/pages/MomentOption.tsx +0 -30
  252. package/src/pages/MultiCheckout.tsx +0 -31
  253. package/src/pages/MultiOrdersDetails.tsx +0 -27
  254. package/src/pages/MyOrders.tsx +0 -40
  255. package/src/pages/NetworkError.tsx +0 -24
  256. package/src/pages/NotFound.tsx +0 -22
  257. package/src/pages/OrderDetails.tsx +0 -25
  258. package/src/pages/ProductDetails.tsx +0 -55
  259. package/src/pages/Profile.tsx +0 -36
  260. package/src/pages/ReviewDriver.tsx +0 -30
  261. package/src/pages/ReviewOrder.tsx +0 -32
  262. package/src/pages/ReviewProducts.tsx +0 -30
  263. package/src/pages/Sessions.tsx +0 -22
  264. package/src/pages/Signup.tsx +0 -53
  265. package/src/pages/SpinnerLoader.tsx +0 -10
  266. package/src/pages/Splash.tsx +0 -21
@@ -1,4 +1,4 @@
1
- import React, { useState, useEffect } from 'react'
1
+ import React, { useState, useEffect, useCallback } from 'react'
2
2
  import {
3
3
  useLanguage,
4
4
  useConfig,
@@ -10,11 +10,12 @@ import {
10
10
  ToastType,
11
11
  MultiCheckout as MultiCheckoutController
12
12
  } from 'ordering-components/native'
13
- import { View, StyleSheet, Platform } from 'react-native'
13
+ import { View, StyleSheet, Platform, ScrollView, SafeAreaView } from 'react-native'
14
14
  import { useTheme } from 'styled-components/native';
15
+ import IconAntDesign from 'react-native-vector-icons/AntDesign';
15
16
  import { Container } from '../../layouts/Container';
16
17
  import NavBar from '../NavBar';
17
- import { OText, OIcon, OModal } from '../shared';
18
+ import { OText, OIcon, OModal, OButton } from '../shared';
18
19
  import { getTypesText } from '../../utils';
19
20
  import { UserDetails } from '../UserDetails'
20
21
  import { AddressDetails } from '../AddressDetails'
@@ -26,8 +27,12 @@ import { DriverTips } from '../DriverTips'
26
27
  import { CouponControl } from '../CouponControl';
27
28
  import { DriverTipsContainer } from '../Cart/styles'
28
29
  import { OSTable, OSCoupon } from '../OrderSummary/styles';
30
+ import { SignupForm } from '../SignupForm'
31
+ import { LoginForm } from '../LoginForm'
29
32
 
30
33
  import {
34
+ TopHeader,
35
+ TopActions,
31
36
  ChContainer,
32
37
  ChSection,
33
38
  ChHeader,
@@ -53,7 +58,6 @@ const MultiCheckoutUI = (props: any) => {
53
58
  navigation,
54
59
  placing,
55
60
  openCarts,
56
- totalCartsPrice,
57
61
  handleGroupPlaceOrder,
58
62
  paymethodSelected,
59
63
  handleSelectPaymethod,
@@ -65,16 +69,25 @@ const MultiCheckoutUI = (props: any) => {
65
69
  cartGroup,
66
70
  walletState,
67
71
  onNavigationRedirectReplace,
68
- merchantId
72
+ merchantId,
73
+ cartsInvalid
69
74
  } = props
70
75
 
71
76
  const theme = useTheme();
72
77
  const styles = StyleSheet.create({
73
78
  pagePadding: {
74
- paddingLeft: 40,
75
- paddingRight: 40
79
+ paddingLeft: 20,
80
+ paddingRight: 20
81
+ },
82
+ wrapperNavbar: {
83
+ paddingHorizontal: 20,
84
+ backgroundColor: theme?.colors?.white,
85
+ borderWidth: 0
86
+ },
87
+ detailWrapper: {
88
+ paddingHorizontal: 20,
89
+ width: '100%'
76
90
  },
77
- wrapperNavbar: { paddingHorizontal: 40 }
78
91
  })
79
92
 
80
93
  const [, { showToast }] = useToast();
@@ -83,12 +96,24 @@ const MultiCheckoutUI = (props: any) => {
83
96
  const [{ parsePrice, parseDate }] = useUtils();
84
97
  const [{ options, carts, loading }, { confirmCart }] = useOrder();
85
98
  const [validationFields] = useValidationFields();
86
- const [{ user }] = useSession()
99
+ const [{ user }, { login }] = useSession()
87
100
 
88
101
  const configTypes = configs?.order_types_allowed?.value.split('|').map((value: any) => Number(value)) || []
89
102
  const isPreOrder = configs?.preorder_status_enabled?.value === '1'
90
103
  const isMultiDriverTips = configs?.checkout_multi_business_enabled?.value === '1'
91
104
  const walletCarts = (Object.values(carts)?.filter((cart: any) => cart?.products && cart?.products?.length && cart?.status !== 2 && cart?.valid_schedule && cart?.valid_products && cart?.valid_address && cart?.valid_maximum && cart?.valid_minimum && cart?.wallets) || null) || []
105
+ const isChewLayout = theme?.header?.components?.layout?.type?.toLowerCase() === 'chew'
106
+ const cartsToShow = openCarts?.length > 0 ? openCarts : cartsInvalid
107
+ const walletName: any = {
108
+ cash: {
109
+ name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
110
+ },
111
+ credit_point: {
112
+ name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
113
+ }
114
+ }
115
+
116
+ const totalCartsPrice = cartGroup?.result?.balance
92
117
 
93
118
  const driverTipsOptions = typeof configs?.driver_tip_options?.value === 'string'
94
119
  ? JSON.parse(configs?.driver_tip_options?.value) || []
@@ -114,18 +139,27 @@ const MultiCheckoutUI = (props: any) => {
114
139
 
115
140
  const clearAmount = (value: any) => parseFloat((Math.trunc(value * 100) / 100).toFixed(configs.format_number_decimal_length?.value ?? 2))
116
141
 
117
- const loyaltyRewardValue = openCarts.reduce((sum: any, cart: any) => sum + clearAmount((cart?.subtotal + getIncludedTaxes(cart)) * accumulationRateBusiness(cart?.business_id)), 0)
142
+ const loyaltyRewardValue = openCarts
143
+ ?.reduce((sum: any, cart: any) => sum + clearAmount((cart?.subtotal + getIncludedTaxes(cart)) * accumulationRateBusiness(cart?.business_id)), 0)
144
+ ?.toFixed(configs.format_number_decimal_length?.value ?? 2)
118
145
 
146
+ const [showTitle, setShowTitle] = useState(false)
119
147
  const [isUserDetailsEdit, setIsUserDetailsEdit] = useState(false);
120
148
  const [phoneUpdate, setPhoneUpdate] = useState(false);
121
149
  const [userErrors, setUserErrors] = useState<any>([]);
150
+ const [cartsOpened, setCartsOpened] = useState([])
122
151
  const [placeByMethodPay, setPlaceByMethodPay] = useState(false)
152
+ const [allowedGuest, setAllowedGuest] = useState(false)
153
+ const [isOpen, setIsOpen] = useState(false)
154
+ const [requiredFields, setRequiredFields] = useState<any>([])
155
+ const stripePaymethods: any = ['stripe', 'stripe_direct', 'stripe_connect', 'stripe_redirect']
156
+ const [openModal, setOpenModal] = useState({ login: false, signup: false, isGuest: false })
123
157
  const [methodPaySupported, setMethodPaySupported] = useState({ enabled: false, message: null, loading: true })
124
158
  const methodsPay = ['global_google_pay', 'global_apple_pay']
125
- const isDisablePlaceOrderButton = cartGroup?.loading || (!(paymethodSelected?.paymethod_id || paymethodSelected?.wallet_id) && cartGroup?.result?.balance > 0) ||
159
+ const isDisablePlaceOrderButton = cartGroup?.loading || placing || (!(paymethodSelected?.paymethod_id || paymethodSelected?.wallet_id) && cartGroup?.result?.balance > 0) ||
126
160
  (paymethodSelected?.paymethod?.gateway === 'stripe' && !paymethodSelected?.paymethod_data) ||
127
161
  walletCarts.length > 0
128
- || (methodsPay.includes(paymethodSelected?.gateway) && (!methodPaySupported.enabled || methodPaySupported.loading))
162
+ || (methodsPay.includes(paymethodSelected?.gateway) && (!methodPaySupported.enabled || methodPaySupported.loading)) || openCarts?.length === 0
129
163
 
130
164
  const handleMomentClick = () => {
131
165
  if (isPreOrder) {
@@ -137,11 +171,12 @@ const MultiCheckoutUI = (props: any) => {
137
171
  setUserErrors([])
138
172
  const errors = []
139
173
  const notFields = ['coupon', 'driver_tip', 'mobile_phone', 'address', 'zipcode', 'address_notes']
174
+ const _requiredFields: any = []
140
175
 
141
176
  Object.values(validationFields?.fields?.checkout).map((field: any) => {
142
177
  if (field?.required && !notFields.includes(field.code)) {
143
178
  if (!user[field?.code]) {
144
- errors.push(t(`VALIDATION_ERROR_${field.code.toUpperCase()}_REQUIRED`, `The field ${field?.name} is required`))
179
+ _requiredFields.push(field?.code)
145
180
  }
146
181
  }
147
182
  })
@@ -152,8 +187,9 @@ const MultiCheckoutUI = (props: any) => {
152
187
  validationFields?.fields?.checkout?.cellphone?.required) ||
153
188
  configs?.verification_phone_required?.value === '1')
154
189
  ) {
155
- errors.push(t('VALIDATION_ERROR_MOBILE_PHONE_REQUIRED', 'The field Phone number is required'))
190
+ _requiredFields.push('cellphone')
156
191
  }
192
+ setRequiredFields(_requiredFields)
157
193
 
158
194
  if (phoneUpdate) {
159
195
  errors.push(t('NECESSARY_UPDATE_COUNTRY_PHONE_CODE', 'It is necessary to update your phone number'))
@@ -166,9 +202,18 @@ const MultiCheckoutUI = (props: any) => {
166
202
  setPhoneUpdate(val)
167
203
  }
168
204
 
169
- const handlePlaceOrder = () => {
170
- if (!userErrors.length) {
171
- handleGroupPlaceOrder && handleGroupPlaceOrder()
205
+ const handlePlaceOrder = (confirmPayment?: any) => {
206
+ if (stripePaymethods.includes(paymethodSelected?.gateway) && user?.guest_id) {
207
+ setOpenModal({ ...openModal, signup: true, isGuest: true })
208
+ return
209
+ }
210
+
211
+ if (!userErrors.length && (!requiredFields?.length || allowedGuest)) {
212
+ handleGroupPlaceOrder && handleGroupPlaceOrder(confirmPayment)
213
+ return
214
+ }
215
+ if (requiredFields?.length) {
216
+ setIsOpen(true)
172
217
  return
173
218
  }
174
219
  let stringError = ''
@@ -179,6 +224,36 @@ const MultiCheckoutUI = (props: any) => {
179
224
  setIsUserDetailsEdit(true)
180
225
  }
181
226
 
227
+ const handlePlaceOrderAsGuest = () => {
228
+ setIsOpen(false)
229
+ handleGroupPlaceOrder && handleGroupPlaceOrder()
230
+ }
231
+
232
+ const handleSuccessSignup = (user: any) => {
233
+ login({
234
+ user,
235
+ token: user?.session?.access_token
236
+ })
237
+ openModal?.isGuest && handlePlaceOrderAsGuest()
238
+ setOpenModal({ ...openModal, signup: false, isGuest: false })
239
+ }
240
+
241
+ const handleSuccessLogin = (user: any) => {
242
+ if (user) setOpenModal({ ...openModal, login: false })
243
+ }
244
+
245
+ const handleScroll = ({ nativeEvent: { contentOffset } }: any) => {
246
+ setShowTitle(contentOffset.y > 30)
247
+ }
248
+
249
+ const handleGoBack = () => {
250
+ if (navigation?.canGoBack()) {
251
+ navigation.goBack()
252
+ } else {
253
+ navigation.navigate('BottomTab', { screen: 'Cart' })
254
+ }
255
+ }
256
+
182
257
  useEffect(() => {
183
258
  if (validationFields && validationFields?.fields?.checkout) {
184
259
  checkValidationFields()
@@ -186,14 +261,14 @@ const MultiCheckoutUI = (props: any) => {
186
261
  }, [validationFields, user])
187
262
 
188
263
  useEffect(() => {
189
- if (openCarts.length === 1) {
264
+ if (cartsToShow?.length === 1) {
190
265
  onNavigationRedirectReplace('CheckoutPage', {
191
- cartUuid: openCarts[0]?.uuid,
266
+ cartUuid: cartsToShow[0]?.uuid,
192
267
  fromMulti: true
193
268
  })
194
269
  return
195
270
  }
196
- }, [openCarts])
271
+ }, [cartsToShow])
197
272
 
198
273
  useEffect(() => {
199
274
  if (walletState.error) {
@@ -207,24 +282,82 @@ const MultiCheckoutUI = (props: any) => {
207
282
  }
208
283
  }, [cartUuid])
209
284
 
285
+ useEffect(() => {
286
+ if (paymethodSelected?.gateway === 'global_google_pay') {
287
+ setMethodPaySupported({
288
+ enabled: true,
289
+ loading: false,
290
+ message: null
291
+ })
292
+ }
293
+ }, [paymethodSelected])
294
+
295
+ const changeActiveState = useCallback((isClosed: boolean, uuid: string) => {
296
+ const isActive = cartsOpened?.includes?.(uuid)
297
+ if (isActive || !isClosed) {
298
+ setCartsOpened(cartsOpened?.filter?.((_uuid) => _uuid !== uuid))
299
+ } else {
300
+ setCartsOpened([
301
+ ...cartsOpened,
302
+ uuid
303
+ ])
304
+ }
305
+ }, [cartsOpened])
306
+
210
307
  return (
211
308
  <>
212
- <Container noPadding>
309
+ <SafeAreaView style={{ backgroundColor: theme.colors.backgroundPage }}>
310
+ <View style={styles.wrapperNavbar}>
311
+ <TopHeader>
312
+ <>
313
+ <TopActions onPress={() => handleGoBack()}>
314
+ <IconAntDesign
315
+ name='arrowleft'
316
+ size={26}
317
+ />
318
+ </TopActions>
319
+ {showTitle && (
320
+ <OText
321
+ size={16}
322
+ style={{ flex: 1, textAlign: 'center', right: 15 }}
323
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
324
+ numberOfLines={2}
325
+ ellipsizeMode='tail'
326
+ >
327
+ {t('CHECKOUT', 'Checkout')}
328
+ </OText>
329
+ )}
330
+ </>
331
+ </TopHeader>
332
+ </View>
333
+ </SafeAreaView>
334
+ <Container pt={0} noPadding onScroll={handleScroll} showsVerticalScrollIndicator={false}>
213
335
  <View style={styles.wrapperNavbar}>
214
336
  <NavBar
337
+ hideArrowLeft
215
338
  title={t('CHECKOUT', 'Checkout')}
216
339
  titleAlign={'center'}
217
340
  onActionLeft={() => navigation?.canGoBack() && navigation.goBack()}
218
341
  showCall={false}
219
342
  paddingTop={Platform.OS === 'ios' ? 0 : 4}
220
343
  btnStyle={{ paddingLeft: 0 }}
344
+ titleWrapStyle={{ paddingHorizontal: 0 }}
345
+ titleStyle={{ marginRight: 0, marginLeft: 0 }}
346
+ style={{ marginTop: 20 }}
221
347
  />
222
348
  </View>
223
349
  <ChContainer style={styles.pagePadding}>
224
350
  <ChSection style={{ paddingTop: 0 }}>
225
351
  <ChHeader>
226
- <CHMomentWrapper onPress={() => navigation.navigate('OrderTypes', { configTypes: configTypes })}>
227
- <OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textSecondary}>{t(getTypesText(options?.type || 1), 'Delivery')}</OText>
352
+ <CHMomentWrapper isCustomColor={isChewLayout} onPress={() => navigation.navigate('OrderTypes', { configTypes: configTypes })}>
353
+ <OText
354
+ size={12}
355
+ numberOfLines={1}
356
+ ellipsizeMode={'tail'}
357
+ color={theme.colors?.[isChewLayout ? 'white' : 'textSecondary']}
358
+ >
359
+ {t(getTypesText(options?.type || 1), 'Delivery')}
360
+ </OText>
228
361
  <OIcon
229
362
  src={theme.images.general.arrow_down}
230
363
  width={10}
@@ -254,15 +387,45 @@ const MultiCheckoutUI = (props: any) => {
254
387
 
255
388
  <ChSection>
256
389
  <ChUserDetails>
257
- <UserDetails
258
- isUserDetailsEdit={isUserDetailsEdit}
259
- useValidationFields
260
- useDefualtSessionManager
261
- useSessionUser
262
- isCheckout
263
- phoneUpdate={phoneUpdate}
264
- togglePhoneUpdate={togglePhoneUpdate}
265
- />
390
+ {(user?.guest_id && !allowedGuest) ? (
391
+ <View>
392
+ <OText size={14} numberOfLines={1} ellipsizeMode='tail' color={theme.colors.textNormal}>
393
+ {t('CUSTOMER_DETAILS', 'Customer details')}
394
+ </OText>
395
+ <OButton
396
+ text={t('SIGN_UP', 'Sign up')}
397
+ textStyle={{ color: theme.colors.white }}
398
+ style={{ borderRadius: 7.6, marginTop: 20 }}
399
+ onClick={() => setOpenModal({ ...openModal, signup: true })}
400
+ />
401
+ <OButton
402
+ text={t('LOGIN', 'Login')}
403
+ textStyle={{ color: theme.colors.primary }}
404
+ bgColor={theme.colors.white}
405
+ borderColor={theme.colors.primary}
406
+ style={{ borderRadius: 7.6, marginTop: 20 }}
407
+ onClick={() => setOpenModal({ ...openModal, login: true })}
408
+ />
409
+ <OButton
410
+ text={t('CONTINUE_AS_GUEST', 'Continue as guest')}
411
+ textStyle={{ color: theme.colors.black }}
412
+ bgColor={theme.colors.white}
413
+ borderColor={theme.colors.black}
414
+ style={{ borderRadius: 7.6, marginTop: 20 }}
415
+ onClick={() => setAllowedGuest(true)}
416
+ />
417
+ </View>
418
+ ) : (
419
+ <UserDetails
420
+ isUserDetailsEdit={isUserDetailsEdit}
421
+ useValidationFields
422
+ useDefualtSessionManager
423
+ useSessionUser
424
+ isCheckout
425
+ phoneUpdate={phoneUpdate}
426
+ togglePhoneUpdate={togglePhoneUpdate}
427
+ />
428
+ )}
266
429
  </ChUserDetails>
267
430
  <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginHorizontal: -40 }} />
268
431
  </ChSection>
@@ -279,27 +442,27 @@ const MultiCheckoutUI = (props: any) => {
279
442
  </ChAddress>
280
443
  <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginTop: 13, marginHorizontal: -40 }} />
281
444
  </ChSection>
282
-
283
- <ChSection>
284
- <MultiCartsPaymethodsAndWallets
285
- openCarts={openCarts}
286
- paymethodSelected={paymethodSelected}
287
- walletsPaymethod={cartGroup?.result?.wallets}
288
- handleSelectPaymethod={handleSelectPaymethod}
289
- handleSelectWallet={handleSelectWallet}
290
- handlePaymethodDataChange={handlePaymethodDataChange}
291
- cartUuid={cartUuid}
292
- merchantId={merchantId}
293
- setMethodPaySupported={setMethodPaySupported}
294
- methodPaySupported={methodPaySupported}
295
- placeByMethodPay={placeByMethodPay}
296
- setPlaceByMethodPay={setPlaceByMethodPay}
297
- cartTotal={totalCartsPrice}
298
- handlePlaceOrder={handlePlaceOrder}
299
- />
300
- <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginTop: 13, marginHorizontal: -40 }} />
301
- </ChSection>
302
-
445
+ {openCarts?.length > 0 && (
446
+ <ChSection>
447
+ <MultiCartsPaymethodsAndWallets
448
+ openCarts={openCarts}
449
+ paymethodSelected={paymethodSelected}
450
+ walletsPaymethod={cartGroup?.result?.wallets}
451
+ handleSelectPaymethod={handleSelectPaymethod}
452
+ handleSelectWallet={handleSelectWallet}
453
+ handlePaymethodDataChange={handlePaymethodDataChange}
454
+ cartUuid={cartUuid}
455
+ merchantId={merchantId}
456
+ setMethodPaySupported={setMethodPaySupported}
457
+ methodPaySupported={methodPaySupported}
458
+ placeByMethodPay={placeByMethodPay}
459
+ setPlaceByMethodPay={setPlaceByMethodPay}
460
+ cartTotal={totalCartsPrice}
461
+ handlePlaceOrder={handlePlaceOrder}
462
+ />
463
+ <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginTop: 13, marginHorizontal: -40 }} />
464
+ </ChSection>
465
+ )}
303
466
  {
304
467
  isMultiDriverTips &&
305
468
  options?.type === 1 &&
@@ -314,13 +477,14 @@ const MultiCheckoutUI = (props: any) => {
314
477
  </OText>
315
478
  <DriverTips
316
479
  isMulti
480
+ isLoading={loading}
317
481
  carts={openCarts}
318
482
  businessIds={openCarts.map((cart: any) => cart.business_id)}
319
483
  driverTipsOptions={driverTipsOptions}
320
484
  isFixedPrice={parseInt(configs?.driver_tip_type?.value, 10) === 1}
321
485
  isDriverTipUseCustom={!!parseInt(configs?.driver_tip_use_custom?.value, 10)}
322
486
  driverTip={parseInt(configs?.driver_tip_type?.value, 10) === 1
323
- ? openCarts[0]?.driver_tip
487
+ ? openCarts?.reduce((sum: any, cart: any) => sum + cart?.driver_tip, 0)
324
488
  : openCarts[0]?.driver_tip_rate}
325
489
  useOrderContext
326
490
  />
@@ -333,6 +497,7 @@ const MultiCheckoutUI = (props: any) => {
333
497
  validationFields?.fields?.checkout?.coupon?.enabled &&
334
498
  openCarts.every((cart: any) => cart.business_id && cart.status !== 2) &&
335
499
  configs?.multi_business_checkout_coupon_input_style?.value === 'group' &&
500
+ openCarts?.length > 0 &&
336
501
  (
337
502
  <ChSection>
338
503
  <OText size={14} lineHeight={20} color={theme.colors.textNormal}>
@@ -359,7 +524,7 @@ const MultiCheckoutUI = (props: any) => {
359
524
  {t('MOBILE_FRONT_YOUR_ORDER', 'Your order')}
360
525
  </OText>
361
526
  </CartsHeader>
362
- {openCarts.map((cart: any) => (
527
+ {cartsToShow.map((cart: any) => (
363
528
  <React.Fragment key={cart.uuid}>
364
529
  <Cart
365
530
  cart={cart}
@@ -370,13 +535,16 @@ const MultiCheckoutUI = (props: any) => {
370
535
  hideDriverTip={configs?.multi_business_checkout_show_combined_driver_tip?.value === '1'}
371
536
  onNavigationRedirect={(route: string, params: any) => props.navigation.navigate(route, params)}
372
537
  businessConfigs={cart?.business?.configs}
538
+ cartsOpened={cartsOpened}
539
+ changeActiveState={changeActiveState}
540
+ isActive={cartsOpened?.includes?.(cart?.uuid)}
373
541
  />
374
542
  {openCarts.length > 1 && (
375
543
  <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginTop: 13, marginHorizontal: -40 }} />
376
544
  )}
377
545
  </React.Fragment>
378
546
  ))}
379
- {!cartGroup?.loading && openCarts.length === 0 && (
547
+ {!cartGroup?.loading && openCarts.length === 0 && cartsInvalid?.length === 0 && (
380
548
  <CCNotCarts>
381
549
  <OText size={24} style={{ textAlign: 'center' }}>
382
550
  {t('CARTS_NOT_FOUND', 'You don\'t have carts available')}
@@ -411,6 +579,16 @@ const MultiCheckoutUI = (props: any) => {
411
579
  </OText>
412
580
  </View>
413
581
  )}
582
+ {!cartGroup?.loading && cartGroup?.result?.payment_events?.length > 0 && cartGroup?.result?.payment_events?.map((event: any) => (
583
+ <View key={event.id} style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
584
+ <OText size={14} lineHeight={24} color={theme.colors.textNormal} weight={'400'}>
585
+ {walletName[cartGroup?.result?.wallets?.find((wallet: any) => wallet.wallet_id === event.wallet_id)?.type]?.name}
586
+ </OText>
587
+ <OText size={14} lineHeight={24} color={theme.colors.textNormal} weight={'400'}>
588
+ -{parsePrice(event.amount, { isTruncable: true })}
589
+ </OText>
590
+ </View>
591
+ ))}
414
592
  <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
415
593
  <OText size={16} lineHeight={24} color={theme.colors.textNormal} weight={'500'}>
416
594
  {t('TOTAL_FOR_ALL_CARTS', 'Total for all Carts')}
@@ -424,6 +602,7 @@ const MultiCheckoutUI = (props: any) => {
424
602
  </OText>
425
603
  </View>
426
604
  )}
605
+
427
606
  <OText size={12} color={theme.colors.mediumGray} mRight={70} style={{ marginTop: 10 }}>
428
607
  {t('MULTI_CHECKOUT_DESCRIPTION', 'You will receive a receipt for each business. The payment is not combined between multiple stores. Each payment is processed by the store')}
429
608
  </OText>
@@ -431,7 +610,67 @@ const MultiCheckoutUI = (props: any) => {
431
610
  )}
432
611
  </ChCarts>
433
612
  </ChSection>
613
+ {cartsToShow?.some((cart: any) => !cart?.valid_products && cart?.status !== 2) && (
614
+ <OText
615
+ color={theme.colors.error}
616
+ size={12}
617
+ >
618
+ {t('WARNING_INVALID_PRODUCTS_CHECKOUT', 'To continue with your checkout, please remove from your cart the products that are not available.')}
619
+ </OText>
620
+ )}
434
621
  </ChContainer>
622
+ <OModal
623
+ open={openModal.signup}
624
+ onClose={() => setOpenModal({ ...openModal, signup: false, isGuest: false })}
625
+ >
626
+ <ScrollView style={{ paddingHorizontal: 20, width: '100%' }}>
627
+ <SignupForm
628
+ handleSuccessSignup={handleSuccessSignup}
629
+ isGuest
630
+ signupButtonText={t('SIGNUP', 'Signup')}
631
+ useSignupByEmail
632
+ useChekoutFileds
633
+ />
634
+ </ScrollView>
635
+ </OModal>
636
+ <OModal
637
+ open={openModal.login}
638
+ onClose={() => setOpenModal({ ...openModal, login: false })}
639
+ >
640
+ <ScrollView style={{ paddingHorizontal: 20, width: '100%' }}>
641
+ <LoginForm
642
+ handleSuccessLogin={handleSuccessLogin}
643
+ isGuest
644
+ loginButtonText={t('LOGIN', 'Login')}
645
+ loginButtonBackground={theme.colors.primary}
646
+ />
647
+ </ScrollView>
648
+ </OModal>
649
+ <OModal
650
+ open={isOpen}
651
+ onClose={() => setIsOpen(false)}
652
+ >
653
+ <View style={styles.detailWrapper}>
654
+ <UserDetails
655
+ isUserDetailsEdit
656
+ useValidationFields
657
+ useDefualtSessionManager
658
+ useSessionUser
659
+ isCheckout
660
+ isEdit
661
+ phoneUpdate={phoneUpdate}
662
+ togglePhoneUpdate={togglePhoneUpdate}
663
+ requiredFields={requiredFields}
664
+ hideUpdateButton
665
+ handlePlaceOrderAsGuest={handlePlaceOrderAsGuest}
666
+ onClose={() => {
667
+ setIsOpen(false)
668
+ handlePlaceOrder()
669
+ }}
670
+ setIsOpen={setIsOpen}
671
+ />
672
+ </View>
673
+ </OModal>
435
674
  </Container>
436
675
 
437
676
  <FloatingButton
@@ -1,5 +1,22 @@
1
1
  import styled from 'styled-components/native'
2
2
 
3
+ export const TopActions = styled.TouchableOpacity`
4
+ height: 60px;
5
+ justify-content: center;
6
+ min-width: 30px;
7
+ padding-right: 15px;
8
+ `;
9
+
10
+ export const TopHeader = styled.View`
11
+ width: 100%;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ z-index: 1;
16
+ height: 60px;
17
+ min-height: 60px;
18
+ `
19
+
3
20
  export const ChContainer = styled.View`
4
21
  margin-bottom: 60px;
5
22
  `
@@ -13,7 +30,9 @@ export const ChHeader = styled.View`
13
30
  margin: 0px;
14
31
  `
15
32
  export const CHMomentWrapper = styled.TouchableOpacity`
16
- background-color: ${(props: any) => props.theme.colors.backgroundGray100};
33
+ background-color: ${(props: any) => props.isCustomColor
34
+ ? props.theme.colors.primary
35
+ : props.theme.colors.backgroundGray100};
17
36
  border-radius: 7.6px;
18
37
  font-size: 12px;
19
38
  max-width: 240px;
@@ -53,6 +53,7 @@ export const MultiOrdersDetailsUI = (props: any) => {
53
53
  const [{ configs }] = useConfig()
54
54
 
55
55
  const isTaxIncludedOnPrice = orders.every((_order: any) => _order.taxes?.length ? _order.taxes?.every((_tax: any) => _tax.type === 1) : true)
56
+ const deliveryType = orders.find((order: any) => order.delivery_type)?.delivery_type
56
57
  const progressBarStyle = configs.multi_business_checkout_progress_bar_style?.value
57
58
  const showBarInOrder = ['group', 'both']
58
59
  const showBarInIndividual = ['individual', 'both']
@@ -71,7 +72,7 @@ export const MultiOrdersDetailsUI = (props: any) => {
71
72
  navigation?.canGoBack() && navigation.goBack();
72
73
  return;
73
74
  }
74
- navigation.navigate('BusinessList');
75
+ navigation.navigate('BottomTab');
75
76
  return true
76
77
  }
77
78
 
@@ -93,7 +94,7 @@ export const MultiOrdersDetailsUI = (props: any) => {
93
94
  }, [])
94
95
 
95
96
  return (
96
- <OrdersDetailsContainer keyboardShouldPersistTaps="handled" contentContainerStyle={{ paddingHorizontal: 40 }}>
97
+ <OrdersDetailsContainer keyboardShouldPersistTaps="handled" contentContainerStyle={{ paddingHorizontal: 20 }}>
97
98
  <View style={{ flexDirection: 'row' }}>
98
99
  <OButton
99
100
  imgRightSrc={null}
@@ -166,24 +167,28 @@ export const MultiOrdersDetailsUI = (props: any) => {
166
167
  <OText key={event.id} size={12} lineHeight={18} color={theme.colors.textNormal}>
167
168
  {event?.wallet_event
168
169
  ? walletName[event?.wallet_event?.wallet?.type]?.name
169
- : event?.paymethod?.name}
170
+ : t(event?.paymethod?.name.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)}
170
171
  </OText>
171
172
  ))}
172
173
  </Section>
173
174
  <Divider />
174
- <Section>
175
- <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={20}>
176
- {t('DELIVERYA_V21', 'Delivery address')}
177
- </OText>
178
- {loading ? (
179
- <PlaceholderLine height={18} noMargin style={{ borderRadius: 2 }} />
180
- ) : (
181
- <OText size={12} lineHeight={18} color={theme.colors.textNormal} mBottom={2}>
182
- {customer?.address}
183
- </OText>
184
- )}
185
- </Section>
186
- <Divider />
175
+ {deliveryType === 1 && (
176
+ <>
177
+ <Section>
178
+ <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={20}>
179
+ {t('DELIVERYA_V21', 'Delivery address')}
180
+ </OText>
181
+ {loading ? (
182
+ <PlaceholderLine height={18} noMargin style={{ borderRadius: 2 }} />
183
+ ) : (
184
+ <OText size={12} lineHeight={18} color={theme.colors.textNormal} mBottom={2}>
185
+ {customer?.address}
186
+ </OText>
187
+ )}
188
+ </Section>
189
+ <Divider />
190
+ </>
191
+ )}
187
192
  {loading ? (
188
193
  <Placeholder Animation={Fade}>
189
194
  <PlaceholderLine