ordering-ui-react-native 0.15.88 → 0.15.89-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 (239) hide show
  1. package/package.json +7 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +1 -1
  5. package/src/components/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessController/index.tsx +16 -8
  8. package/src/components/BusinessInformation/index.tsx +14 -0
  9. package/src/components/BusinessTypeFilter/index.tsx +1 -2
  10. package/src/components/BusinessesListing/index.tsx +1 -1
  11. package/src/components/Checkout/index.tsx +25 -3
  12. package/src/components/DriverTips/index.tsx +11 -6
  13. package/src/components/LanguageSelector/index.tsx +21 -16
  14. package/src/components/LoginForm/index.tsx +120 -30
  15. package/src/components/LoginForm/styles.tsx +6 -0
  16. package/src/components/Messages/index.tsx +2 -2
  17. package/src/components/NotificationSetting/index.tsx +85 -0
  18. package/src/components/OrderDetails/index.tsx +7 -21
  19. package/src/components/PaymentOptions/index.tsx +335 -365
  20. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  21. package/src/components/ReviewDriver/index.tsx +1 -1
  22. package/src/components/ReviewOrder/index.tsx +2 -1
  23. package/src/components/ReviewProducts/index.tsx +11 -0
  24. package/src/components/SignupForm/index.tsx +145 -61
  25. package/src/components/SingleProductCard/index.tsx +16 -4
  26. package/src/components/SingleProductReview/index.tsx +1 -1
  27. package/src/components/StripeElementsForm/index.tsx +25 -16
  28. package/src/components/StripeMethodForm/index.tsx +22 -24
  29. package/src/components/UpsellingProducts/index.tsx +1 -1
  30. package/src/components/UserProfileForm/index.tsx +63 -6
  31. package/src/components/UserProfileForm/styles.tsx +8 -0
  32. package/src/components/VerifyPhone/styles.tsx +1 -2
  33. package/src/components/shared/OBottomPopup.tsx +6 -2
  34. package/src/components/shared/OModal.tsx +1 -1
  35. package/src/index.tsx +2 -0
  36. package/src/navigators/CheckoutNavigator.tsx +6 -0
  37. package/src/navigators/HomeNavigator.tsx +6 -0
  38. package/src/pages/BusinessesListing.tsx +7 -6
  39. package/src/pages/MultiCheckout.tsx +31 -0
  40. package/src/pages/MultiOrdersDetails.tsx +27 -0
  41. package/src/pages/OrderDetails.tsx +1 -1
  42. package/src/pages/ReviewDriver.tsx +2 -2
  43. package/src/pages/ReviewOrder.tsx +2 -2
  44. package/src/theme.json +0 -1
  45. package/src/types/index.tsx +18 -11
  46. package/src/utils/index.tsx +28 -29
  47. package/themes/business/index.tsx +4 -0
  48. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +100 -60
  49. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  50. package/themes/business/src/components/Chat/index.tsx +52 -92
  51. package/themes/business/src/components/DriverMap/index.tsx +6 -5
  52. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  53. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  54. package/themes/business/src/components/LoginForm/index.tsx +89 -2
  55. package/themes/business/src/components/LoginForm/styles.tsx +6 -0
  56. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  57. package/themes/business/src/components/MapView/index.tsx +1 -1
  58. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  59. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -13
  60. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  61. package/themes/business/src/components/OrderDetails/Delivery.tsx +17 -7
  62. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +26 -18
  63. package/themes/business/src/components/OrdersListManager/index.tsx +11 -4
  64. package/themes/business/src/components/OrdersOption/index.tsx +66 -20
  65. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  66. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  67. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  68. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  69. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  70. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  71. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  72. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  73. package/themes/business/src/components/PreviousMessages/index.tsx +1 -0
  74. package/themes/business/src/components/PreviousOrders/index.tsx +7 -7
  75. package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
  76. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  77. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  78. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  79. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  80. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  81. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  82. package/themes/business/src/components/shared/OModal.tsx +41 -38
  83. package/themes/business/src/types/index.tsx +15 -7
  84. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  85. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  86. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  87. package/themes/kiosk/src/components/BusinessMenu/index.tsx +25 -26
  88. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -3
  89. package/themes/kiosk/src/components/Cart/index.tsx +10 -11
  90. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +9 -2
  91. package/themes/kiosk/src/components/CartContent/index.tsx +0 -11
  92. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  93. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +107 -62
  94. package/themes/kiosk/src/components/Checkout/index.tsx +40 -22
  95. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  96. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  97. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  98. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  99. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  100. package/themes/kiosk/src/components/OrderDetails/index.tsx +2 -2
  101. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +9 -11
  102. package/themes/kiosk/src/components/PaymentOptions/index.tsx +55 -53
  103. package/themes/kiosk/src/components/ProductForm/index.tsx +6 -7
  104. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +3 -1
  105. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +16 -5
  106. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  107. package/themes/kiosk/src/types/index.d.ts +1 -0
  108. package/themes/original/index.tsx +22 -0
  109. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  110. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  111. package/themes/original/src/components/AddressForm/index.tsx +26 -33
  112. package/themes/original/src/components/AddressList/index.tsx +2 -2
  113. package/themes/original/src/components/AppleLogin/index.tsx +6 -8
  114. package/themes/original/src/components/BusinessBasicInformation/index.tsx +302 -160
  115. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  116. package/themes/original/src/components/BusinessController/index.tsx +179 -96
  117. package/themes/original/src/components/BusinessController/styles.tsx +5 -0
  118. package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -8
  119. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  120. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  121. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  122. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  123. package/themes/original/src/components/BusinessListingSearch/index.tsx +217 -127
  124. package/themes/original/src/components/BusinessListingSearch/styles.tsx +29 -11
  125. package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
  126. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
  127. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  128. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  129. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  130. package/themes/original/src/components/BusinessProductsList/index.tsx +66 -73
  131. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  132. package/themes/original/src/components/BusinessProductsListing/index.tsx +296 -178
  133. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
  134. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  135. package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
  136. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  137. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
  138. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
  139. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
  140. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  141. package/themes/original/src/components/BusinessesListing/index.tsx +104 -462
  142. package/themes/original/src/components/Cart/index.tsx +83 -38
  143. package/themes/original/src/components/Cart/styles.tsx +4 -0
  144. package/themes/original/src/components/CartContent/index.tsx +3 -3
  145. package/themes/original/src/components/Checkout/index.tsx +143 -91
  146. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  147. package/themes/original/src/components/DriverTips/index.tsx +17 -12
  148. package/themes/original/src/components/Favorite/index.tsx +92 -0
  149. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  150. package/themes/original/src/components/FavoriteList/index.tsx +298 -0
  151. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  152. package/themes/original/src/components/GPSButton/index.tsx +25 -17
  153. package/themes/original/src/components/GoogleMap/index.tsx +11 -11
  154. package/themes/original/src/components/Help/index.tsx +21 -4
  155. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  156. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  157. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  158. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  159. package/themes/original/src/components/LastOrders/index.tsx +12 -1
  160. package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -3
  161. package/themes/original/src/components/LoginForm/index.tsx +52 -13
  162. package/themes/original/src/components/LoginForm/styles.tsx +1 -3
  163. package/themes/original/src/components/Messages/index.tsx +17 -17
  164. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  165. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  166. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  167. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  168. package/themes/original/src/components/MultiCheckout/index.tsx +304 -0
  169. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  170. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  171. package/themes/original/src/components/MultiOrdersDetails/index.tsx +262 -0
  172. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  173. package/themes/original/src/components/MyOrders/index.tsx +132 -27
  174. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  175. package/themes/original/src/components/NavBar/index.tsx +11 -5
  176. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  177. package/themes/original/src/components/OrderDetails/index.tsx +153 -77
  178. package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
  179. package/themes/original/src/components/OrderItAgain/index.tsx +73 -0
  180. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  181. package/themes/original/src/components/OrderProgress/index.tsx +8 -2
  182. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  183. package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
  184. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  185. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +140 -0
  186. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  187. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +53 -0
  188. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  189. package/themes/original/src/components/OrdersOption/index.tsx +138 -46
  190. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  191. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  192. package/themes/original/src/components/PaymentOptionWallet/index.tsx +15 -22
  193. package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
  194. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
  195. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  196. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  197. package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
  198. package/themes/original/src/components/ProductForm/index.tsx +737 -682
  199. package/themes/original/src/components/ProductForm/styles.tsx +9 -7
  200. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  201. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  202. package/themes/original/src/components/ProductOptionSubOption/index.tsx +13 -9
  203. package/themes/original/src/components/ProfessionalFilter/index.tsx +128 -0
  204. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  205. package/themes/original/src/components/ProfessionalProfile/index.tsx +298 -0
  206. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  207. package/themes/original/src/components/Promotions/index.tsx +22 -6
  208. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  209. package/themes/original/src/components/ReviewOrder/index.tsx +1 -1
  210. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  211. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  212. package/themes/original/src/components/SearchBar/index.tsx +13 -5
  213. package/themes/original/src/components/ServiceForm/index.tsx +579 -0
  214. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  215. package/themes/original/src/components/SignupForm/index.tsx +237 -127
  216. package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
  217. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  218. package/themes/original/src/components/SingleProductCard/index.tsx +197 -95
  219. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  220. package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
  221. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  222. package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
  223. package/themes/original/src/components/UserDetails/index.tsx +32 -18
  224. package/themes/original/src/components/UserFormDetails/index.tsx +108 -74
  225. package/themes/original/src/components/UserProfile/index.tsx +5 -1
  226. package/themes/original/src/components/UserProfileForm/index.tsx +15 -10
  227. package/themes/original/src/components/UserVerification/index.tsx +178 -192
  228. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  229. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  230. package/themes/original/src/components/Wallets/index.tsx +177 -163
  231. package/themes/original/src/components/Wallets/styles.tsx +10 -8
  232. package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
  233. package/themes/original/src/components/shared/OButton.tsx +10 -3
  234. package/themes/original/src/components/shared/OInput.tsx +3 -2
  235. package/themes/original/src/components/shared/OModal.tsx +4 -2
  236. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  237. package/themes/original/src/types/index.tsx +199 -48
  238. package/themes/original/src/utils/index.tsx +77 -0
  239. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -107,7 +107,7 @@ const PaymentOptionsUI = (props: any) => {
107
107
 
108
108
  const handlePlaceOrder = () => {
109
109
  if (!userErrors.length) {
110
- handlerClickPlaceOrder && handlerClickPlaceOrder();
110
+ handlerClickPlaceOrder && handlerClickPlaceOrder(null, { on_behalf_of: props.customerName });
111
111
  return;
112
112
  }
113
113
  let stringError = '';
@@ -192,64 +192,66 @@ const PaymentOptionsUI = (props: any) => {
192
192
  <Spinner visible={isLoading || placing || paymethodsList?.loading} />
193
193
 
194
194
  <Container nestedScrollEnabled>
195
- <NavBar
196
- title={t('PAYMENT_METHODS', 'Payment methods')}
197
- onActionLeft={goToBack}
198
- btnStyle={{ paddingLeft: 0 }}
199
- />
200
-
201
- <View
202
- style={{ marginVertical: orientationState?.dimensions?.height * 0.03 }}>
203
- <OText size={orientationState?.dimensions?.width * 0.048}>
204
- {t('HOW_WOULD_YOU', 'How would you')} {'\n'}
205
- <OText
206
- size={orientationState?.dimensions?.width * 0.048}
207
- weight={'700'}>
208
- {`${t('LIKE_TO_PAY', 'like to pay')}?`}
209
- </OText>
210
- </OText>
211
- </View>
212
-
213
195
  {supportedMethods?.length > 0 && (
214
- <GridContainer style={{ justifyContent: 'space-between' }}>
215
- {propsOfItems.CARD_ON_DELIVERY_ID && (
216
- <View style={{ marginBottom: orientationState?.orientation === LANDSCAPE ? 20 : 0 }}>
217
- <OptionCard {...propsOfItems?.CARD_ON_DELIVERY_ID} styke />
218
- </View>
219
- )}
196
+ <>
197
+ <NavBar
198
+ title={t('PAYMENT_METHODS', 'Payment methods')}
199
+ onActionLeft={goToBack}
200
+ btnStyle={{ paddingLeft: 0 }}
201
+ />
220
202
 
221
203
  <View
222
- style={{
223
- width:
224
- orientationState?.orientation === LANDSCAPE
225
- ? orientationState?.dimensions?.width * 0.0016
226
- : 1,
227
- height:
228
- orientationState?.orientation === PORTRAIT
229
- ? orientationState?.dimensions?.height * 0.018
230
- : 1,
231
- }}
232
- />
204
+ style={{ marginVertical: orientationState?.dimensions?.height * 0.03 }}>
205
+ <OText size={orientationState?.dimensions?.width * 0.048}>
206
+ {t('HOW_WOULD_YOU', 'How would you')} {'\n'}
207
+ <OText
208
+ size={orientationState?.dimensions?.width * 0.048}
209
+ weight={'700'}>
210
+ {`${t('LIKE_TO_PAY', 'like to pay')}?`}
211
+ </OText>
212
+ </OText>
213
+ </View>
233
214
 
234
- {propsOfItems?.CASH_ID && <OptionCard {...propsOfItems?.CASH_ID} />}
215
+ <GridContainer style={{ justifyContent: 'space-between' }}>
216
+ {propsOfItems.CARD_ON_DELIVERY_ID && (
217
+ <View style={{ marginBottom: orientationState?.orientation === LANDSCAPE ? 20 : 0 }}>
218
+ <OptionCard {...propsOfItems?.CARD_ON_DELIVERY_ID} styke />
219
+ </View>
220
+ )}
235
221
 
236
- <View
237
- style={{
238
- width:
239
- orientationState?.orientation === LANDSCAPE
240
- ? orientationState?.dimensions?.width * 0.0016
241
- : 1,
242
- height:
243
- orientationState?.orientation === PORTRAIT
244
- ? orientationState?.dimensions?.height * 0.018
245
- : 1,
246
- }}
247
- />
222
+ <View
223
+ style={{
224
+ width:
225
+ orientationState?.orientation === LANDSCAPE
226
+ ? orientationState?.dimensions?.width * 0.0016
227
+ : 1,
228
+ height:
229
+ orientationState?.orientation === PORTRAIT
230
+ ? orientationState?.dimensions?.height * 0.018
231
+ : 1,
232
+ }}
233
+ />
234
+
235
+ {propsOfItems?.CASH_ID && <OptionCard {...propsOfItems?.CASH_ID} />}
236
+
237
+ <View
238
+ style={{
239
+ width:
240
+ orientationState?.orientation === LANDSCAPE
241
+ ? orientationState?.dimensions?.width * 0.0016
242
+ : 1,
243
+ height:
244
+ orientationState?.orientation === PORTRAIT
245
+ ? orientationState?.dimensions?.height * 0.018
246
+ : 1,
247
+ }}
248
+ />
248
249
 
249
- {propsOfItems.STRIPE && (
250
- <OptionCard {...propsOfItems?.STRIPE} />
251
- )}
252
- </GridContainer>
250
+ {propsOfItems.STRIPE && (
251
+ <OptionCard {...propsOfItems?.STRIPE} />
252
+ )}
253
+ </GridContainer>
254
+ </>
253
255
  )}
254
256
  <View style={{ height: orientationState?.dimensions?.height * 0.05 }} />
255
257
  <OModal
@@ -6,8 +6,7 @@ import {
6
6
  StyleSheet,
7
7
  Animated,
8
8
  ScrollView,
9
- Platform,
10
- ImageBackground
9
+ ImageBackground,
11
10
  } from 'react-native'
12
11
  import {
13
12
  ProductForm as ProductOptions,
@@ -17,7 +16,6 @@ import {
17
16
  useUtils
18
17
  } from 'ordering-components/native'
19
18
  import MaterialCommunityIcon from 'react-native-vector-icons/MaterialCommunityIcons'
20
- import Spinner from 'react-native-loading-spinner-overlay'
21
19
  import { useTheme } from 'styled-components/native'
22
20
 
23
21
  import { ProductIngredient } from '../ProductIngredient'
@@ -32,12 +30,11 @@ import {
32
30
  ProductComment,
33
31
  ProductActions
34
32
  } from './styles'
35
- import { OButton, OImage, OInput, OText } from '../shared'
33
+ import { OButton, OInput, OText } from '../shared'
36
34
  import { ProductOptionSubOption } from '../ProductOptionSubOption'
37
35
  import { NotFoundSource } from '../NotFoundSource'
38
36
  import NavBar from '../NavBar'
39
37
  import { useDeviceOrientation } from '../../../../../src/hooks/DeviceOrientation'
40
- import { useCartBottomSheet } from '../../providers/CartBottomSheetProvider';
41
38
 
42
39
  export const ProductOptionsUI = (props: any) => {
43
40
  const {
@@ -56,7 +53,6 @@ export const ProductOptionsUI = (props: any) => {
56
53
  handleChangeCommentState,
57
54
  productObject,
58
55
  onClose,
59
- isFromCheckout,
60
56
  isDrawer
61
57
  } = props;
62
58
 
@@ -66,7 +62,6 @@ export const ProductOptionsUI = (props: any) => {
66
62
  const [orderState] = useOrder();
67
63
  const [{ auth }] = useSession();
68
64
  const [orientationState] = useDeviceOrientation();
69
- const [, { showCartBottomSheet }] = useCartBottomSheet();
70
65
 
71
66
  const { product, loading, error } = productObject;
72
67
 
@@ -87,6 +82,8 @@ export const ProductOptionsUI = (props: any) => {
87
82
  const handleSaveProduct = () => {
88
83
  const isErrors = Object.values(errors).length > 0
89
84
  if (!isErrors) {
85
+ props.onProductStateChange &&
86
+ props.onProductStateChange(props.isEdit ? { product, productCart }: productCart)
90
87
  handleSave && handleSave()
91
88
  return
92
89
  }
@@ -503,12 +500,14 @@ export const ProductOptionsUI = (props: any) => {
503
500
  </WrapContent>
504
501
  </View>
505
502
  )}
503
+
506
504
  {error && error.length > 0 && (
507
505
  <NotFoundSource
508
506
  content={error[0]?.message || error[0]}
509
507
  />
510
508
  )}
511
509
  </ScrollView>
510
+
512
511
  {!loading && !error && product && (
513
512
  <ProductActions>
514
513
  {productCart && !isSoldOut && maxProductQuantity > 0 && (
@@ -144,13 +144,15 @@ export const ProductOptionSubOptionUI = (props: any) => {
144
144
  </PositionControl>
145
145
  )
146
146
  }
147
+ {price > 0 && (
147
148
  <OText
148
149
  color="#909BA9"
149
150
  size={16}
150
151
  weight="bold"
151
152
  >
152
- {price > 0 && '+'} {parsePrice(price)}
153
+ + {parsePrice(price)}
153
154
  </OText>
155
+ )}
154
156
  </RightSide>
155
157
  </Container>
156
158
  )
@@ -71,6 +71,11 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
71
71
  }, [upsellingProducts.loading, upsellingProducts?.products.length])
72
72
 
73
73
  const handleFormProduct = (product: any) => {
74
+ if (props.onAddProduct) {
75
+ onClose && onClose()
76
+ props.onAddProduct(product)
77
+ return
78
+ }
74
79
  setActualProduct(product)
75
80
  setModalIsOpen(true)
76
81
  }
@@ -81,9 +86,18 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
81
86
  }
82
87
 
83
88
  const UpsellingLayout = () => {
84
-
85
89
  const theme = useTheme()
86
90
 
91
+ const onClickProduct = (product: any) => {
92
+ resetInactivityTimeout()
93
+ if (props.onAddProduct) {
94
+ onClose && onClose()
95
+ props.onAddProduct(product)
96
+ return
97
+ }
98
+ handleFormProduct(product)
99
+ }
100
+
87
101
  return (
88
102
  <Container>
89
103
  {
@@ -167,10 +181,7 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
167
181
  style={{ height: 40, width: '100%' }}
168
182
  bgColor="#EAF2FE"
169
183
  borderColor="#EAF2FE"
170
- onClick={() => {
171
- resetInactivityTimeout()
172
- handleFormProduct(product)
173
- }}
184
+ onClick={() => onClickProduct(product)}
174
185
  />
175
186
  </Item>
176
187
  )) : (
@@ -10,8 +10,6 @@ import {
10
10
 
11
11
  import * as React from 'react';
12
12
  import styled from 'styled-components/native';
13
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
14
- import { Icon, IconProps } from 'react-native-vector-icons/Icon';
15
13
 
16
14
  const StyledButton = styled.View<Props>`
17
15
  background-color: ${(props: any) => props.theme.colors.primary};
@@ -79,19 +77,17 @@ interface Props {
79
77
  isCircle?: boolean;
80
78
  bgColor?: string;
81
79
  borderColor?: string;
82
- iconProps?: IconProps;
83
- IconCustom?: React.FunctionComponent
84
80
  }
85
81
 
86
82
  const OButton = (props: Props): React.ReactElement => {
87
83
  if (props.isDisabled) {
88
84
  return (
89
85
  <View style={props.parentStyle}>
90
- <StyledButtonDisabled style={props.style}>
91
- <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
92
- {props.text}
93
- </StyledTextDisabled>
94
- </StyledButtonDisabled>
86
+ <StyledButtonDisabled style={props.style}>
87
+ <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
88
+ {props.text}
89
+ </StyledTextDisabled>
90
+ </StyledButtonDisabled>
95
91
  </View>
96
92
  );
97
93
  }
@@ -115,15 +111,6 @@ const OButton = (props: Props): React.ReactElement => {
115
111
  {props.imgLeftSrc ? (
116
112
  <StyledImage style={props.imgLeftStyle} source={props.imgLeftSrc} />
117
113
  ) : null}
118
- {props.iconProps ? (
119
- <>
120
- {props?.IconCustom ? (
121
- <props.IconCustom {...props.iconProps} />
122
- ) : (
123
- <AntDesignIcon {...props.iconProps} />
124
- )}
125
- </>
126
- ) : null}
127
114
  {props.text ? (
128
115
  <StyledText style={props.textStyle}>{props.text}</StyledText>
129
116
  ) : null}
@@ -55,6 +55,7 @@ export interface UpsellingProductsParams {
55
55
  setCanOpenUpselling?: (value: any) => void;
56
56
  onClose?: () => void;
57
57
  resetInactivityTimeout: any;
58
+ onAddProduct: any;
58
59
  }
59
60
 
60
61
  export interface LanguageSelectorParams {
@@ -15,6 +15,8 @@ import { BusinessProductsListing } from './src/components/BusinessProductsListin
15
15
  import { CartContent } from './src/components/CartContent';
16
16
  import { BusinessCart } from './src/components/BusinessCart';
17
17
  import { Checkout } from './src/components/Checkout';
18
+ import { Favorite } from './src/components/Favorite';
19
+ import { FavoriteList } from './src/components/FavoriteList';
18
20
  import { FloatingButton } from './src/components/FloatingButton';
19
21
  import { ForgotPasswordForm } from './src/components/ForgotPasswordForm';
20
22
  import { MomentOption } from './src/components/MomentOption';
@@ -30,6 +32,7 @@ import { ReviewDriver } from './src/components/ReviewDriver';
30
32
  import { UserProfile } from './src/components/UserProfile';
31
33
  import { MessageListing } from './src/components/MessageListing';
32
34
  import { Messages } from './src/components/Messages';
35
+ import { MyOrders } from './src/components/MyOrders';
33
36
  import { Help } from './src/components/Help';
34
37
  import { HelpAccountAndPayment } from './src/components/HelpAccountAndPayment';
35
38
  import { HelpGuide } from './src/components/HelpGuide';
@@ -45,6 +48,8 @@ import { UpsellingProducts } from './src/components/UpsellingProducts';
45
48
  import { UserVerification } from './src/components/UserVerification';
46
49
  import { BusinessListingSearch } from './src/components/BusinessListingSearch';
47
50
  import { LastOrders } from './src/components/LastOrders';
51
+ import { MultiCheckout } from './src/components/MultiCheckout'
52
+ import { MultiOrdersDetails } from './src/components/MultiOrdersDetails'
48
53
  import NavBar from './src/components/NavBar';
49
54
  import { BusinessTypeFilter } from './src/components/BusinessTypeFilter';
50
55
  import { BusinessController } from './src/components/BusinessController';
@@ -54,16 +59,22 @@ import { PaymentOptions } from './src/components/PaymentOptions';
54
59
  import { DriverTips } from './src/components/DriverTips';
55
60
  import { UserDetails } from './src/components/UserDetails';
56
61
  import { OrderSummary } from './src/components/OrderSummary';
62
+ import { OrderItAgain } from './src/components/OrderItAgain';
57
63
  import { CartStoresListing } from './src/components/CartStoresListing';
58
64
  import { PaymentOptionsWebView } from '../../src/components/PaymentOptionsWebView';
59
65
  import { GoogleMap } from './src/components/GoogleMap';
60
66
  import { SingleProductCard } from './src/components/SingleProductCard';
67
+ import { SingleOrderCard } from './src/components/SingleOrderCard';
61
68
  import { UpsellingRedirect } from './src/components/BusinessProductsListing/UpsellingRedirect';
62
69
  import { ProductItemAccordion } from './src/components/ProductItemAccordion';
63
70
  import { BusinessItemAccordion } from './src/components/BusinessItemAccordion';
64
71
  import { CouponControl } from './src/components/CouponControl';
65
72
  import { TaxInformation } from './src/components/TaxInformation';
66
73
  import { PlaceSpot } from './src/components/PlaceSpot';
74
+ import { ProfessionalFilter } from './src/components/ProfessionalFilter';
75
+ import { ProfessionalProfile } from './src/components/ProfessionalProfile';
76
+ import { ServiceForm } from './src/components/ServiceForm';
77
+ import { MomentSelector } from './src/components/MomentSelector';
67
78
  import { Cart } from './src/components/Cart';
68
79
  import { LanguageSelector } from './src/components/LanguageSelector';
69
80
  import { PhoneInputNumber } from './src/components/PhoneInputNumber'
@@ -164,6 +175,8 @@ export {
164
175
  CartContent,
165
176
  BusinessCart,
166
177
  Checkout,
178
+ Favorite,
179
+ FavoriteList,
167
180
  ForgotPasswordForm,
168
181
  MomentOption,
169
182
  OrdersOption,
@@ -182,6 +195,8 @@ export {
182
195
  HelpAccountAndPayment,
183
196
  HelpGuide,
184
197
  HelpOrder,
198
+ MultiCheckout,
199
+ MultiOrdersDetails,
185
200
  NetworkError,
186
201
  NotFoundSource,
187
202
  OrderTypeSelector,
@@ -205,16 +220,22 @@ export {
205
220
  DriverTips,
206
221
  UserDetails,
207
222
  OrderSummary,
223
+ OrderItAgain,
208
224
  CartStoresListing,
209
225
  PaymentOptionsWebView,
210
226
  GoogleMap,
211
227
  SingleProductCard,
228
+ SingleOrderCard,
212
229
  UpsellingRedirect,
213
230
  ProductItemAccordion,
214
231
  BusinessItemAccordion,
215
232
  CouponControl,
216
233
  TaxInformation,
217
234
  PlaceSpot,
235
+ ProfessionalFilter,
236
+ ServiceForm,
237
+ ProfessionalProfile,
238
+ MomentSelector,
218
239
  Cart,
219
240
  LanguageSelector,
220
241
  PhoneInputNumber,
@@ -234,6 +255,7 @@ export {
234
255
  UserFormDetailsUI,
235
256
  WalletTransactionItem,
236
257
  Promotions,
258
+ MyOrders,
237
259
  ORDER_TYPES,
238
260
  USER_TYPE,
239
261
 
@@ -1,23 +1,13 @@
1
1
  import React from 'react';
2
- import { useLanguage, useUtils, useConfig } from 'ordering-components/native';
3
- import { OButton, OIcon, OText } from '../shared';
2
+ import { useConfig } from 'ordering-components/native';
4
3
  import {
5
- ActiveOrdersContainer,
6
- Card,
7
- Map,
8
- Information,
9
- Logo,
10
- OrderInformation,
11
- BusinessInformation,
12
- Price,
13
- UnreadMessageCounter,
14
- LoadMore
4
+ ActiveOrdersContainer
15
5
  } from './styles';
16
- import { View, StyleSheet } from 'react-native';
6
+ import { View } from 'react-native';
17
7
 
18
8
  import { ActiveOrdersParams } from '../../types';
19
- import moment from 'moment';
20
9
  import { useTheme } from 'styled-components/native';
10
+ import { SingleOrderCard } from '../SingleOrderCard';
21
11
 
22
12
  export const ActiveOrders = (props: ActiveOrdersParams) => {
23
13
  const {
@@ -27,111 +17,27 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
27
17
  loadMoreOrders,
28
18
  getOrderStatus,
29
19
  isMessageView,
30
- handleClickOrder
20
+ handleClickOrder,
21
+ handleUpdateOrderList
31
22
  } = props;
32
23
 
33
24
  const theme = useTheme();
34
25
  const [{ configs }] = useConfig();
35
- const [, t] = useLanguage();
36
- const [{ parseDate, parsePrice, optimizeImage }] = useUtils();
37
-
38
- const formatDate = (date: string, option?: any) => {
39
- return option?.utc ? moment.utc(date).format('DD/MM/YY \u2022 h:m a') : moment(date).format('DD/MM/YY \u2022 h:m a');
40
- };
41
-
42
- const handleClickCard = (uuid: string) => {
43
- if (isMessageView) {
44
- handleClickOrder(uuid)
45
- return
46
- }
47
- onNavigationRedirect &&
48
- onNavigationRedirect('OrderDetails', { orderId: uuid });
49
- };
50
-
51
- const Order = ({ order, index }: { order: any; index: number }) => (
52
- <React.Fragment>
53
- <Card
54
- isMiniCard={configs?.google_maps_api_key?.value}
55
- onPress={() => handleClickCard(order?.uuid)}
56
- activeOpacity={0.7}>
57
- {/* {!!(configs?.google_maps_api_key?.value) && (
58
- <Map>
59
- <OIcon
60
- url={getGoogleMapImage(order?.business?.location, configs?.google_maps_api_key?.value)}
61
- height={100}
62
- width={320}
63
- style={{resizeMode: 'cover', borderTopRightRadius: 24, borderTopLeftRadius: 24}}
64
- />
65
- </Map>
66
- )} */}
67
- <Information>
68
- {!!order.business?.logo && (
69
- <Logo>
70
- <OIcon
71
- url={optimizeImage(order.business?.logo, 'h_300,c_limit')}
72
- style={styles.logo}
73
- />
74
- </Logo>
75
- )}
76
- <OrderInformation>
77
- <BusinessInformation>
78
- <OText size={12} lineHeight={18} weight={600} numberOfLines={1} ellipsizeMode={'tail'}>
79
- {order.business?.name}
80
- </OText>
81
- <View style={styles.orderNumber}>
82
- <OText size={10} space color={theme.colors.textSecondary}>
83
- {t('ORDER_NO', 'Order No') + '.'}
84
- </OText>
85
- <OText size={10} color={theme.colors.textSecondary}>
86
- {order.id + ` \u2022 `}
87
- </OText>
88
- <OText size={10} color={theme.colors.textSecondary}>
89
- {order?.delivery_datetime_utc
90
- ? formatDate(order?.delivery_datetime_utc)
91
- : formatDate(order?.delivery_datetime, { utc: false })}
92
- </OText>
93
- </View>
94
- {/* {order?.status !== 0 && ( */}
95
- <OText
96
- color={theme.colors.primary}
97
- size={10}
98
- lineHeight={15}
99
- weight={400}
100
- numberOfLines={2}>
101
- {getOrderStatus(order.status)?.value}
102
- </OText>
103
- {/* )} */}
104
- </BusinessInformation>
105
- {isMessageView ? (
106
- <>
107
- {order?.unread_count > 0 && (
108
- <UnreadMessageCounter>
109
- <OText size={12} color={theme.colors.primary} lineHeight={18} >
110
- {order?.unread_count}
111
- </OText>
112
- </UnreadMessageCounter>
113
- )}
114
- </>
115
- ) : (
116
- <Price>
117
- <OText size={12} lineHeight={18}>
118
- {parsePrice(order?.summary?.total || order?.total)}
119
- </OText>
120
- </Price>
121
- )}
122
-
123
- </OrderInformation>
124
- </Information>
125
- </Card >
126
- </React.Fragment >
127
- );
128
26
 
129
27
  return (
130
28
  <>
131
29
  <ActiveOrdersContainer isMiniCards={configs?.google_maps_api_key?.value}>
132
30
  {orders.length > 0 &&
133
31
  orders.map((order: any, index: any) => (
134
- <Order key={index} order={order} index={index} />
32
+ <SingleOrderCard
33
+ key={index}
34
+ order={order}
35
+ handleClickOrder={handleClickOrder}
36
+ isMessageView={isMessageView}
37
+ getOrderStatus={getOrderStatus}
38
+ onNavigationRedirect={onNavigationRedirect}
39
+ handleUpdateOrderList={handleUpdateOrderList}
40
+ />
135
41
  ))}
136
42
  </ActiveOrdersContainer>
137
43
  <View
@@ -144,26 +50,3 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
144
50
  </>
145
51
  );
146
52
  };
147
-
148
- const styles = StyleSheet.create({
149
- logo: {
150
- borderRadius: 7.6,
151
- width: 64,
152
- height: 64,
153
- },
154
- orderNumber: {
155
- flexDirection: 'row',
156
- marginVertical: 3,
157
- },
158
- loadOrders: {
159
- justifyContent: 'center',
160
- alignItems: 'center',
161
- minWidth: 230,
162
- },
163
- loadMoreButton: {
164
- width: '100%',
165
- marginLeft: 'auto',
166
- marginRight: 'auto',
167
- borderRadius: 7.6
168
- },
169
- });
@@ -3,57 +3,3 @@ import styled from 'styled-components/native'
3
3
  export const ActiveOrdersContainer = styled.View`
4
4
  margin-bottom: 20px;
5
5
  `
6
-
7
- export const Card = styled.TouchableOpacity`
8
- `
9
-
10
- export const Map = styled.View`
11
- flex: 1;
12
- height: 125px;
13
- margin-bottom: 10px;
14
- `
15
-
16
- export const Information = styled.View`
17
- flex-direction: row;
18
- height: 100px;
19
- align-items: center;
20
- padding-vertical: 5px;
21
- `
22
-
23
- export const Logo = styled.View`
24
- border-radius: 7.6px;
25
- box-shadow: 0 1px 2px #0000001A;
26
- `
27
-
28
- export const OrderInformation = styled.View`
29
- flex-direction: row;
30
- justify-content: space-between;
31
- flex: 1;
32
- padding-left: 14px;
33
- `
34
-
35
- export const BusinessInformation = styled.View`
36
- flex-basis: 65%;
37
- `
38
-
39
- export const Price = styled.View`
40
- justify-content: space-between;
41
- align-items: flex-end;
42
- margin-left: 10px;
43
- width: 30%;
44
- `
45
-
46
- export const UnreadMessageCounter = styled.View`
47
- justify-content: center;
48
- align-items: center;
49
- margin-left: 10px;
50
- width: 24px;
51
- height: 24px;
52
- border-radius: 7.6px;
53
- background-color: ${(props: any) => props.theme.colors.primaryContrast};
54
- `
55
- export const LoadMore = styled.View`
56
- flex-direction: row;
57
- justify-content: center;
58
- margin-top: 10px;
59
- `