ordering-ui-react-native 0.16.46 → 0.16.47-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 (199) hide show
  1. package/package.json +6 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +8 -14
  5. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  6. package/src/components/BusinessInformation/index.tsx +33 -4
  7. package/src/components/BusinessInformation/styles.tsx +2 -2
  8. package/src/components/BusinessProductsList/index.tsx +10 -10
  9. package/src/components/BusinessesListing/index.tsx +1 -1
  10. package/src/components/Checkout/index.tsx +2 -1
  11. package/src/components/LanguageSelector/index.tsx +21 -16
  12. package/src/components/Messages/index.tsx +2 -2
  13. package/src/components/NotificationSetting/index.tsx +85 -0
  14. package/src/components/OrdersOption/index.tsx +54 -56
  15. package/src/components/PaymentOptions/index.tsx +298 -345
  16. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  17. package/src/components/ReviewDriver/index.tsx +1 -1
  18. package/src/components/ReviewOrder/index.tsx +2 -2
  19. package/src/components/ReviewProducts/index.tsx +11 -0
  20. package/src/components/SingleProductReview/index.tsx +8 -5
  21. package/src/components/StripeElementsForm/index.tsx +25 -16
  22. package/src/components/VerifyPhone/styles.tsx +1 -2
  23. package/src/components/shared/OBottomPopup.tsx +6 -2
  24. package/src/components/shared/OToast.tsx +3 -3
  25. package/src/index.tsx +2 -0
  26. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  27. package/src/utils/index.tsx +2 -1
  28. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  29. package/themes/business/src/components/Chat/index.tsx +40 -32
  30. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  31. package/themes/business/src/components/DriverSchedule/index.tsx +36 -19
  32. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  33. package/themes/business/src/components/MapView/index.tsx +12 -1
  34. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  35. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
  36. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  37. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +33 -23
  38. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  39. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  40. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  41. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  42. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  43. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  44. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  45. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  46. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  47. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  48. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  49. package/themes/business/src/components/PreviousOrders/index.tsx +18 -20
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  51. package/themes/business/src/components/ReviewCustomer/index.tsx +27 -13
  52. package/themes/business/src/components/ScheduleBlocked/index.tsx +2 -2
  53. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  54. package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
  55. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  56. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  57. package/themes/business/src/components/shared/OLink.tsx +24 -12
  58. package/themes/business/src/types/index.tsx +15 -9
  59. package/themes/business/src/utils/index.tsx +10 -0
  60. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  61. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  62. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  63. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  64. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  65. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  66. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  67. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  68. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  69. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  70. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  71. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  72. package/themes/kiosk/src/types/index.d.ts +2 -0
  73. package/themes/original/index.tsx +4 -0
  74. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  75. package/themes/original/src/components/AddressForm/index.tsx +157 -140
  76. package/themes/original/src/components/AddressList/index.tsx +1 -1
  77. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  78. package/themes/original/src/components/BusinessBasicInformation/index.tsx +218 -147
  79. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +2 -2
  80. package/themes/original/src/components/BusinessController/index.tsx +231 -114
  81. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  82. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  83. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  84. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  85. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  86. package/themes/original/src/components/BusinessListingSearch/index.tsx +109 -139
  87. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  88. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  89. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  90. package/themes/original/src/components/BusinessProductsList/index.tsx +59 -60
  91. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  92. package/themes/original/src/components/BusinessProductsListing/index.tsx +175 -80
  93. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -11
  94. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  95. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +35 -23
  96. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +3 -2
  97. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +275 -120
  98. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +47 -10
  99. package/themes/original/src/components/BusinessesListing/index.tsx +80 -25
  100. package/themes/original/src/components/Cart/index.tsx +82 -15
  101. package/themes/original/src/components/Cart/styles.tsx +4 -0
  102. package/themes/original/src/components/CartContent/index.tsx +22 -16
  103. package/themes/original/src/components/Checkout/index.tsx +113 -117
  104. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  105. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  106. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  107. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  108. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  109. package/themes/original/src/components/FavoriteList/index.tsx +69 -45
  110. package/themes/original/src/components/FloatingButton/index.tsx +13 -11
  111. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  112. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  113. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  114. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  115. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +25 -10
  116. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +4 -0
  117. package/themes/original/src/components/HelpGuide/index.tsx +9 -8
  118. package/themes/original/src/components/HelpOrder/index.tsx +9 -8
  119. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  120. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  121. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  122. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  123. package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
  124. package/themes/original/src/components/Messages/index.tsx +35 -20
  125. package/themes/original/src/components/MomentOption/index.tsx +8 -6
  126. package/themes/original/src/components/MultiCart/index.tsx +63 -0
  127. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  128. package/themes/original/src/components/MultiCheckout/index.tsx +10 -2
  129. package/themes/original/src/components/MultiOrdersDetails/index.tsx +34 -16
  130. package/themes/original/src/components/MyOrders/index.tsx +88 -22
  131. package/themes/original/src/components/NavBar/index.tsx +11 -5
  132. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  133. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  134. package/themes/original/src/components/Notifications/index.tsx +148 -0
  135. package/themes/original/src/components/Notifications/styles.tsx +17 -0
  136. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  137. package/themes/original/src/components/OrderDetails/index.tsx +200 -39
  138. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  139. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  140. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  141. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  142. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  143. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  144. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  145. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  146. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +94 -98
  147. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  148. package/themes/original/src/components/OrdersOption/index.tsx +102 -56
  149. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  150. package/themes/original/src/components/PaymentOptions/index.tsx +1 -2
  151. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  152. package/themes/original/src/components/PlaceSpot/index.tsx +249 -47
  153. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  154. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  155. package/themes/original/src/components/ProductForm/index.tsx +639 -664
  156. package/themes/original/src/components/ProductForm/styles.tsx +10 -11
  157. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  158. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  159. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  160. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +0 -1
  161. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  162. package/themes/original/src/components/ProfessionalProfile/index.tsx +19 -8
  163. package/themes/original/src/components/Promotions/index.tsx +232 -219
  164. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  165. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  166. package/themes/original/src/components/ReviewOrder/index.tsx +120 -108
  167. package/themes/original/src/components/ReviewOrder/styles.tsx +5 -7
  168. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  169. package/themes/original/src/components/ReviewTrigger/index.tsx +136 -0
  170. package/themes/original/src/components/ReviewTrigger/styles.tsx +41 -0
  171. package/themes/original/src/components/ServiceForm/index.tsx +332 -264
  172. package/themes/original/src/components/SignupForm/index.tsx +160 -113
  173. package/themes/original/src/components/SingleOrderCard/index.tsx +266 -183
  174. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  175. package/themes/original/src/components/SingleProductCard/index.tsx +198 -112
  176. package/themes/original/src/components/SingleProductCard/styles.tsx +3 -10
  177. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  178. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  179. package/themes/original/src/components/StripeElementsForm/index.tsx +13 -2
  180. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  181. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  182. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  183. package/themes/original/src/components/UserProfile/index.tsx +56 -31
  184. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  185. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  186. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  187. package/themes/original/src/components/Wallets/index.tsx +176 -164
  188. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  189. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  190. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  191. package/themes/original/src/components/shared/OBottomPopup.tsx +48 -15
  192. package/themes/original/src/components/shared/OButton.tsx +10 -3
  193. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  194. package/themes/original/src/components/shared/OInput.tsx +10 -1
  195. package/themes/original/src/layouts/Container.tsx +13 -9
  196. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  197. package/themes/original/src/types/index.tsx +83 -28
  198. package/themes/original/src/utils/index.tsx +103 -58
  199. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -26,7 +26,14 @@ const OImage = (props: Props): React.ReactElement => {
26
26
  return (
27
27
  <Wrapper style={{ borderRadius: props.style?.borderRadius, overflow: 'hidden', marginHorizontal: props.style?.marginHorizontal }}>
28
28
  <SImage
29
- source={props.src ? props.src : props.url ? { uri: props.url } : props.dummy}
29
+ source={
30
+ props.src
31
+ ? props.src
32
+ : props.url
33
+ ? typeof props.url === 'number'
34
+ ? props.url
35
+ : { uri: props.url }
36
+ : props.dummy}
30
37
  style={{
31
38
  tintColor: props.color,
32
39
  flex: props.isWrap ? 1 : 0,
@@ -3,6 +3,7 @@ import { ImageSourcePropType, ImageStyle, ViewStyle, TextInputProps, TextStyle }
3
3
  import styled from 'styled-components/native';
4
4
  import OIcon from './OIcon';
5
5
  import MaterialIcon from 'react-native-vector-icons/MaterialIcons'
6
+ import { useTheme } from 'styled-components/native';
6
7
 
7
8
  const Input = styled.TextInput`
8
9
  flex-grow: 1;
@@ -39,6 +40,7 @@ interface Props extends TextInputProps {
39
40
  inputStyle?: TextStyle;
40
41
  wrapperRef?: any;
41
42
  onPress?: any;
43
+ isFocusHighlight?: boolean
42
44
  }
43
45
 
44
46
  const Wrapper = styled.Pressable`
@@ -54,12 +56,16 @@ const Wrapper = styled.Pressable`
54
56
  `;
55
57
 
56
58
  const OInput = (props: Props): React.ReactElement => {
59
+ const theme = useTheme();
60
+ const [inputFocused, setInputFocused] = React.useState(false)
57
61
  return (
58
62
  <Wrapper
59
63
  onPress={() => { props.forwardRef?.current?.focus?.(); props.onPress && props.onPress() }}
60
64
  style={{
61
65
  backgroundColor: props.bgColor,
62
- borderColor: props.borderColor,
66
+ borderColor: !props.isFocusHighlight
67
+ ? props.borderColor
68
+ : inputFocused ? theme.colors.primary : theme.colors.border,
63
69
  ...props.style,
64
70
  }}>
65
71
  {props.icon ? (
@@ -95,6 +101,8 @@ const OInput = (props: Props): React.ReactElement => {
95
101
  props.forwardRef && (props.forwardRef.current = e)
96
102
  }}
97
103
  style={props?.inputStyle}
104
+ onFocus={() => setInputFocused(true)}
105
+ onBlur={() => setInputFocused(false)}
98
106
  />
99
107
  {props.iconRight && (
100
108
  <OIcon
@@ -114,6 +122,7 @@ OInput.defaultProps = {
114
122
  iconColor: '#959595',
115
123
  bgColor: 'white',
116
124
  borderColor: 'white',
125
+ isFocusHighlight: false
117
126
  };
118
127
 
119
128
  export default OInput;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import styled, { css } from 'styled-components/native';
3
- import { Platform } from 'react-native';
2
+ import { useSafeAreaInsets } from 'react-native-safe-area-context'
3
+ import styled, { css, useTheme } from 'styled-components/native';
4
+ import { Platform, View } from 'react-native';
4
5
 
5
6
  const ContainerStyled = styled.ScrollView`
6
7
  flex: 1;
@@ -10,17 +11,20 @@ const ContainerStyled = styled.ScrollView`
10
11
  background-color: ${(props: any) => props.theme.colors.backgroundPage};
11
12
  `;
12
13
 
13
- const SafeAreaStyled = styled.SafeAreaView`
14
- flex: 1;
15
- background-color: ${(props: any) => props.theme.colors.backgroundPage};
16
- `;
17
-
18
14
  export const Container = (props: any) => {
15
+ const theme = useTheme()
16
+ const insets = useSafeAreaInsets()
19
17
  return (
20
- <SafeAreaStyled>
18
+ <View
19
+ style={{
20
+ flex: 1,
21
+ paddingTop: props.pt ?? insets.top,
22
+ backgroundColor: theme.colors.backgroundPage
23
+ }}
24
+ >
21
25
  <ContainerStyled {...props} ref={props?.forwardRef} keyboardShouldPersistTaps='handled' style={{...props.style}}>
22
26
  {props.children}
23
27
  </ContainerStyled>
24
- </SafeAreaStyled>
28
+ </View>
25
29
  )
26
30
  }
@@ -19,7 +19,11 @@ export const Container = styled.View`
19
19
 
20
20
  export const FloatingBottomContainer = (props: any) => {
21
21
  return (
22
- <Container style={{ width: windowWidth }}>
22
+ <Container style={{
23
+ width: windowWidth,
24
+ borderTopWidth: props?.borderTopWidth ?? 1,
25
+ borderRadius: props?.borderRadius ?? 0
26
+ }}>
23
27
  {props.children}
24
28
  </Container>
25
29
  )
@@ -47,6 +47,8 @@ export interface ProfileParams {
47
47
  isVerifiedPhone?: any;
48
48
  handleRemoveAccount?: any;
49
49
  removeAccountState?: any;
50
+ handleChangePromotions?: any;
51
+ notificationsGroup?: any;
50
52
  }
51
53
 
52
54
  export interface AddressListParams {
@@ -80,6 +82,7 @@ export interface AddressFormParams {
80
82
  saveAddress?: any,
81
83
  userCustomerSetup?: boolean,
82
84
  isRequiredField?: (field: string) => {},
85
+ showField?: (field: string) => {},
83
86
  isGuestUser?: boolean,
84
87
  useValidationFileds?: boolean,
85
88
  isSelectedAfterAdd?: boolean,
@@ -169,6 +172,10 @@ export interface BusinessesListingParams {
169
172
  priceLevelSelected?: any;
170
173
  handleChangePriceLevel?: any;
171
174
  businessTypeSelected?: any;
175
+ logosLayout?: boolean;
176
+ isCustomLayout?: boolean;
177
+ citiesState?: any;
178
+ actualSlug?: any;
172
179
  }
173
180
  export interface HighestRatedBusinessesParams {
174
181
  businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
@@ -213,6 +220,10 @@ export interface BusinessControllerParams {
213
220
  handleFavoriteBusiness?: any,
214
221
  setFavoriteIds?: any;
215
222
  handleUpdateBusinessList?: any;
223
+ enableIntersection?: boolean;
224
+ isCustomLayout?: boolean;
225
+ getBusinessOffer?: any;
226
+ handleCustomUpdate?: (businessId: number, changes: any) => {};
216
227
  }
217
228
  export interface BusinessProductsListingParams {
218
229
  navigation?: any;
@@ -286,18 +297,24 @@ export interface BusinessProductsListParams {
286
297
  onClickCategory?: any,
287
298
  lazyLoadProductsRecommended?: boolean,
288
299
  isFiltMode?: boolean,
289
- handleUpdateProducts?: any
300
+ handleUpdateProducts?: any,
301
+ navigation?: any;
302
+ previouslyProducts?: any;
290
303
  }
291
304
  export interface SingleProductCardParams {
292
- businessId: any,
305
+ businessId: any;
293
306
  product: any;
294
307
  isSoldOut: boolean;
295
308
  onProductClick: any;
296
309
  productAddedToCartLength: number;
297
- style?: ViewStyle,
298
- categoryState?: any,
299
- handleFavoriteProduct?: any,
300
- handleUpdateProducts?: any
310
+ style?: ViewStyle;
311
+ categoryState?: any;
312
+ handleFavoriteProduct?: any;
313
+ handleUpdateProducts?: any;
314
+ enableIntersection?: boolean;
315
+ navigation?: any;
316
+ isPreviously?: any;
317
+ isProductId?: any;
301
318
  }
302
319
  export interface BusinessInformationParams {
303
320
  navigation?: any,
@@ -352,6 +369,8 @@ export interface OrdersOptionParams {
352
369
  refreshOrders?: boolean,
353
370
  setRefreshOrders?: (value: boolean) => void,
354
371
  handleUpdateOrderList?: (orderId: number, changes: any) => {},
372
+ handleUpdateProducts?: (productId: number, changes: any) => {},
373
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
355
374
  isBusiness?: boolean,
356
375
  isProducts?: boolean,
357
376
  businessOrderIds?: any,
@@ -359,6 +378,8 @@ export interface OrdersOptionParams {
359
378
  businessesSearchList?: any,
360
379
  hideOrders?: boolean,
361
380
  BusinessControllerSkeletons?: any,
381
+ businessPaginationProps?: any,
382
+ businesses?: any
362
383
  }
363
384
  export interface ActiveOrdersParams {
364
385
  orders?: any,
@@ -380,6 +401,7 @@ export interface PreviousOrdersParams {
380
401
  getOrderStatus?: any,
381
402
  orderID?: number
382
403
  reorderLoading?: boolean,
404
+ loading?: boolean,
383
405
  loadMoreOrders?: () => {},
384
406
  handleReorder?: (orderId: number) => {},
385
407
  onNavigationRedirect?: (route: string, params?: any) => {}
@@ -415,25 +437,26 @@ export interface ProductItemAccordionParams {
415
437
  isFromCheckout?: any
416
438
  }
417
439
  export interface ReviewOrderParams {
418
- order?: { id: number, businessId: number, business_name?: string, delivery_datetime?: string, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
419
- stars?: any,
420
- handleChangeInput?: any,
421
- handleChangeRating?: any,
422
- handleSendReview?: any,
423
- formState?: any,
424
- navigation?: any,
425
- setIsReviewed?: (isReviewed: boolean) => {},
426
- handleReviewState?: any,
427
- setStars?: any,
428
- onNavigationRedirect?: any
440
+ order?: { id: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any };
441
+ stars?: any;
442
+ defaultStar?: number;
443
+ handleChangeInput?: any;
444
+ handleChangeRating?: any;
445
+ handleSendReview?: any;
446
+ formState?: any;
447
+ navigation?: any;
448
+ setIsReviewed?: (isReviewed: boolean) => void;
449
+ handleReviewState?: any;
450
+ setStars?: any;
451
+ onNavigationRedirect?: any;
429
452
  }
430
453
  export interface ReviewProductParams {
431
454
  navigation?: any,
432
455
  onNavigationRedirect?: any,
433
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
456
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
434
457
  formState?: any,
435
458
  handleChangeFormState?: any,
436
- handleSendProductReview?: any
459
+ handleSendProductReview?: any;
437
460
  }
438
461
  export interface SingleProductReviewParams {
439
462
  product: any,
@@ -443,12 +466,12 @@ export interface SingleProductReviewParams {
443
466
  export interface ReviewDriverParams {
444
467
  navigation?: any,
445
468
  onNavigationRedirect?: any,
446
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
469
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
447
470
  formState?: any,
448
471
  setIsDriverReviewed?: (isReviewed: boolean) => {},
449
472
  dirverReviews?: any,
450
473
  setDriverReviews?: any,
451
- handleSendDriverReview?: any
474
+ handleSendDriverReview?: any;
452
475
  }
453
476
  export interface MessagesParams {
454
477
  type?: string,
@@ -507,6 +530,7 @@ export interface FloatingButtonParams {
507
530
  handleClick?: any;
508
531
  handleEmpty?: any;
509
532
  iosBottom?: number
533
+ hideButton?: boolean
510
534
  }
511
535
  export interface MomentOptionParams {
512
536
  navigation: any;
@@ -546,7 +570,9 @@ export interface OrderTypeSelectParams {
546
570
  defaultValue?: number;
547
571
  configTypes?: Array<any>;
548
572
  orderTypes: Array<any>;
549
- setOrderTypeValue?: (value: number) => any
573
+ setOrderTypeValue?: (value: number) => any,
574
+ isChewLayout?: boolean;
575
+ chewOrderTypes?: any;
550
576
  }
551
577
  export interface UpsellingProductsParams {
552
578
  isCustomMode?: boolean;
@@ -632,12 +658,21 @@ export interface NoNetworkParams {
632
658
  }
633
659
 
634
660
  export interface PlaceSpotParams {
635
- isOpenPlaceSpot?: boolean,
661
+ isCheckout?: any,
662
+ isInputMode?: any,
636
663
  cart?: any,
664
+ spotNumberDefault?: any,
665
+ vehicleDefault?: any,
666
+ spotNumber?: any,
667
+ setSpotNumber?: any,
668
+ orderTypes?: any,
637
669
  placesState?: any,
638
670
  handleChangePlace?: any,
639
- getPlacesList?: any,
640
- setOpenPlaceModal?: any
671
+ spotState?: any,
672
+ vehicle?: any,
673
+ setVehicle?: any,
674
+ handleChangeSpot?: any
675
+ setPlaceSpotNumber?: any
641
676
  }
642
677
 
643
678
  export interface PromotionParams {
@@ -689,7 +724,9 @@ export interface SingleOrderCardParams {
689
724
  onNavigationRedirect?: (route: string, params?: any) => {},
690
725
  pastOrders: any,
691
726
  isMessageView?: any,
692
- handleClickOrder: (value: any) => {}
727
+ handleClickOrder: (value: any) => {},
728
+ handleRemoveCart: () => {},
729
+ cartState: any
693
730
  }
694
731
 
695
732
  export interface PreviousBusinessOrderedParams {
@@ -699,7 +736,9 @@ export interface PreviousBusinessOrderedParams {
699
736
  businessId?: number,
700
737
  onNavigationRedirect?: any,
701
738
  isBusinessesSearchList?: any,
702
- businessLoading?: boolean
739
+ businessLoading?: boolean,
740
+ businesses?: any
741
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
703
742
  }
704
743
 
705
744
  export interface ServiceFormParams {
@@ -712,7 +751,10 @@ export interface ServiceFormParams {
712
751
  maxProductQuantity: any,
713
752
  businessSlug?: string,
714
753
  onClose: any,
715
- professionalList: any
754
+ professionalList: any,
755
+ productObject?: any,
756
+ professionalListState?: any,
757
+ isCartProduct?: any
716
758
  }
717
759
 
718
760
  export interface ProfessionalFilterParams {
@@ -727,8 +769,21 @@ export interface ProfessionalProfileParams {
727
769
  onClose: any
728
770
  }
729
771
 
772
+ export interface OrderItAgainParams {
773
+ onProductClick: any,
774
+ productList: any,
775
+ businessId: any,
776
+ categoryState: any,
777
+ currentCart: any,
778
+ handleUpdateProducts: any,
779
+ navigation: any,
780
+ searchValue?: string
781
+ }
782
+
730
783
  export interface PreviousProductsOrderedParams {
731
784
  products?: any,
785
+ isProductId?: boolean
732
786
  onProductClick?: any,
733
787
  isBusinessesSearchList?: boolean
788
+ handleUpdateProducts?: any
734
789
  }
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { useLanguage } from 'ordering-components/native';
3
3
  import FontAwesome from 'react-native-vector-icons/FontAwesome';
4
- import {CODES} from 'ordering-components/native'
4
+ import { CODES } from 'ordering-components/native'
5
5
  import { ORDER_TYPES } from '../config/constants';
6
6
 
7
7
  export const flatArray = (arr: any) => [].concat(...arr)
8
+ const [languageState, t] = useLanguage();
8
9
 
9
10
  /**
10
11
  * Function to return the traduction depending of a key 't'
@@ -43,69 +44,113 @@ export const getTraduction = (key: string) => {
43
44
  /**
44
45
  * Change local moment variables
45
46
  */
46
- export const setLocalMoment = (moment : any, t : any) => {
47
+ export const setLocalMoment = (moment: any, t: any) => {
47
48
  moment.locale('custom', {
48
49
  months: [
49
- t('MONTH1','January'),
50
- t('MONTH2','February'),
51
- t('MONTH3','March'),
52
- t('MONTH4','April'),
53
- t('MONTH5','May'),
54
- t('MONTH6','June'),
55
- t('MONTH7','July'),
56
- t('MONTH8','August'),
57
- t('MONTH9','September'),
58
- t('MONTH10','October'),
59
- t('MONTH11','November'),
60
- t('MONTH12','December')
50
+ t('MONTH1', 'January'),
51
+ t('MONTH2', 'February'),
52
+ t('MONTH3', 'March'),
53
+ t('MONTH4', 'April'),
54
+ t('MONTH5', 'May'),
55
+ t('MONTH6', 'June'),
56
+ t('MONTH7', 'July'),
57
+ t('MONTH8', 'August'),
58
+ t('MONTH9', 'September'),
59
+ t('MONTH10', 'October'),
60
+ t('MONTH11', 'November'),
61
+ t('MONTH12', 'December')
61
62
  ],
62
63
  monthsShort: [
63
- t('MONTHSHORT1','Jan'),
64
- t('MONTHSHORT2','Feb'),
65
- t('MONTHSHORT3','Mar'),
66
- t('MONTHSHORT4','Apr'),
67
- t('MONTHSHORT5','May'),
68
- t('MONTHSHORT6','Jun'),
69
- t('MONTHSHORT7','Jul'),
70
- t('MONTHSHORT8','Aug'),
71
- t('MONTHSHORT9','Sep'),
72
- t('MONTHSHORT10','Oct'),
73
- t('MONTHSHORT11','Nov'),
74
- t('MONTHSHORT12','Dec')
64
+ t('MONTHSHORT1', 'Jan'),
65
+ t('MONTHSHORT2', 'Feb'),
66
+ t('MONTHSHORT3', 'Mar'),
67
+ t('MONTHSHORT4', 'Apr'),
68
+ t('MONTHSHORT5', 'May'),
69
+ t('MONTHSHORT6', 'Jun'),
70
+ t('MONTHSHORT7', 'Jul'),
71
+ t('MONTHSHORT8', 'Aug'),
72
+ t('MONTHSHORT9', 'Sep'),
73
+ t('MONTHSHORT10', 'Oct'),
74
+ t('MONTHSHORT11', 'Nov'),
75
+ t('MONTHSHORT12', 'Dec')
75
76
  ],
76
77
  weekdays: [
77
- t('DAY7','Sunday'),
78
- t('DAY1','Monday'),
79
- t('DAY2','Tuesday'),
80
- t('DAY3','Wednesday'),
81
- t('DAY4','Thursday'),
82
- t('DAY5','Friday'),
83
- t('DAY6','Saturday')
78
+ t('DAY7', 'Sunday'),
79
+ t('DAY1', 'Monday'),
80
+ t('DAY2', 'Tuesday'),
81
+ t('DAY3', 'Wednesday'),
82
+ t('DAY4', 'Thursday'),
83
+ t('DAY5', 'Friday'),
84
+ t('DAY6', 'Saturday')
84
85
  ],
85
86
  weekdaysShort: [
86
- t('DAYSHORT7','Sun'),
87
- t('DAYSHORT1','Mon'),
88
- t('DAYSHORT2','Tue'),
89
- t('DAYSHORT3','Wed'),
90
- t('DAYSHORT4','Thu'),
91
- t('DAYSHORT5','Fri'),
92
- t('DAYSHORT6','Sat')
87
+ t('DAYSHORT7', 'Sun'),
88
+ t('DAYSHORT1', 'Mon'),
89
+ t('DAYSHORT2', 'Tue'),
90
+ t('DAYSHORT3', 'Wed'),
91
+ t('DAYSHORT4', 'Thu'),
92
+ t('DAYSHORT5', 'Fri'),
93
+ t('DAYSHORT6', 'Sat')
93
94
  ],
94
95
  weekdaysMin: [
95
- t('DAYMIN7','Su'),
96
- t('DAYMIN1','Mo'),
97
- t('DAYMIN2','Tu'),
98
- t('DAYMIN3','We'),
99
- t('DAYMIN4','Th'),
100
- t('DAYMIN5','Fr'),
101
- t('DAYMIN6','Sa')
96
+ t('DAYMIN7', 'Su'),
97
+ t('DAYMIN1', 'Mo'),
98
+ t('DAYMIN2', 'Tu'),
99
+ t('DAYMIN3', 'We'),
100
+ t('DAYMIN4', 'Th'),
101
+ t('DAYMIN5', 'Fr'),
102
+ t('DAYMIN6', 'Sa')
102
103
  ],
103
- meridiem : function (hours : any) {
104
- return hours < 12 ? t('AM', 'AM') : t('PM','PM');
104
+ meridiem: function (hours: any) {
105
+ return hours < 12 ? t('AM', 'AM') : t('PM', 'PM');
105
106
  }
106
107
  })
107
108
  }
108
109
 
110
+ export const monthsEnum: any = {
111
+ Jan: 'MONTHSHORT1',
112
+ Feb: 'MONTHSHORT2',
113
+ Mar: 'MONTHSHORT3',
114
+ Apr: 'MONTHSHORT4',
115
+ May: 'MONTHSHORT5',
116
+ Jun: 'MONTHSHORT6',
117
+ Jul: 'MONTHSHORT7',
118
+ Aug: 'MONTHSHORT8',
119
+ Sep: 'MONTHSHORT9',
120
+ Oct: 'MONTHSHORT10',
121
+ Nov: 'MONTHSHORT11',
122
+ Dec: 'MONTHSHORT12',
123
+ }
124
+
125
+ export const locale = {
126
+ name: languageState?.language?.code?.slice(0, 2),
127
+ config: {
128
+ months: [
129
+ t('MONTH1', 'January'),
130
+ t('MONTH2', 'February'),
131
+ t('MONTH3', 'March'),
132
+ t('MONTH4', 'April'),
133
+ t('MONTH5', 'May'),
134
+ t('MONTH6', 'June'),
135
+ t('MONTH7', 'July'),
136
+ t('MONTH8', 'August'),
137
+ t('MONTH9', 'September'),
138
+ t('MONTH10', 'October'),
139
+ t('MONTH11', 'November'),
140
+ t('MONTH12', 'December')
141
+ ],
142
+ weekdaysShort: [
143
+ t('DAYSHORT7', 'Sun'),
144
+ t('DAYSHORT1', 'Mon'),
145
+ t('DAYSHORT2', 'Tue'),
146
+ t('DAYSHORT3', 'Wed'),
147
+ t('DAYSHORT4', 'Thu'),
148
+ t('DAYSHORT5', 'Fri'),
149
+ t('DAYSHORT6', 'Sat')
150
+ ],
151
+ }
152
+ };
153
+
109
154
  /**
110
155
  * Function to convert delivery time in minutes
111
156
  * @param {string} time business delivery time
@@ -182,7 +227,7 @@ export const getIconCard = (brand: string, size: number) => {
182
227
  * Function to return a static google maps image based in location
183
228
  * @param {object} param object with latitude and logitude
184
229
  */
185
- export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
230
+ export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
186
231
  return `https://maps.googleapis.com/maps/api/staticmap?size=500x190&center=${lat},${lng}&zoom=17&scale=2&maptype=roadmap&&markers=icon:https://res.cloudinary.com/ditpjbrmz/image/upload/f_auto,q_auto,w_45,q_auto:best,q_auto:best/v1564675872/marker-customer_kvxric.png%7Ccolor:white%7C${lat},${lng}&key=${apiKey}`
187
232
  }
188
233
  /**
@@ -213,8 +258,8 @@ export const sortInputFields = ({ fields, values }: any) => {
213
258
  return fieldsSorted;
214
259
  }
215
260
 
216
- export const transformCountryCode = (countryCode : number) => {
217
- const code = CODES.find((code : any) => code.phoneCode === countryCode)
261
+ export const transformCountryCode = (countryCode: number) => {
262
+ const code = CODES.find((code: any) => code.phoneCode === countryCode)
218
263
  return code?.countryCode
219
264
  }
220
265
 
@@ -224,7 +269,7 @@ export const transformCountryCode = (countryCode : number) => {
224
269
  * @param {*} parser function fallback when is decimal
225
270
  * @returns string
226
271
  */
227
- export const verifyDecimals = (value: number, parser: any) => {
272
+ export const verifyDecimals = (value: number, parser: any) => {
228
273
  if (value % 1 === 0) {
229
274
  return value
230
275
  } else {
@@ -240,7 +285,7 @@ export const getTypesText = (value: number) => {
240
285
  /**
241
286
  * List shape for ribbon
242
287
  */
243
- export const shape = {
288
+ export const shape = {
244
289
  rectangle: 'rectangle',
245
290
  rectangleRound: 'rectangle_round',
246
291
  capsuleShape: 'capsule_shape'
@@ -251,7 +296,7 @@ export const getTypesText = (value: number) => {
251
296
  * @param {number} value for transform
252
297
  *
253
298
  */
254
- export const convertToRadian = (value: number) => {
299
+ export const convertToRadian = (value: number) => {
255
300
  return value * Math.PI / 180
256
301
  }
257
302
 
@@ -273,14 +318,14 @@ export const getDistance = (lat1: any, lon1: any, lat2: any, lon2: any) => {
273
318
  return R * c
274
319
  }
275
320
 
276
- export const formatUrlVideo = (url : string) => {
321
+ export const formatUrlVideo = (url: string) => {
277
322
  const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/
278
323
  const match = url.match(regExp)
279
324
  const id = (match && match[7].length === 11) ? match[7] : false
280
325
  return `https://www.youtube-nocookie.com/embed/${id}`
281
326
  }
282
327
 
283
- export const formatSeconds = (seconds : number) => {
328
+ export const formatSeconds = (seconds: number) => {
284
329
  // Hours, minutes and seconds
285
330
  var hrs = ~~(seconds / 3600)
286
331
  var mins = ~~((seconds % 3600) / 60)
@@ -299,7 +344,7 @@ export const formatSeconds = (seconds : number) => {
299
344
  /**
300
345
  * List of price to filter businesses
301
346
  */
302
- export const priceList = [
347
+ export const priceList = [
303
348
  { level: '1', content: '$' },
304
349
  { level: '2', content: '$$' },
305
350
  { level: '3', content: '$$$' },
@@ -144,7 +144,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
144
144
  {isFarAway && (
145
145
  <FarAwayMessage style={styles.farAwayMsg}>
146
146
  <Ionicons name='md-warning-outline' style={styles.iconStyle} />
147
- <OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'You are far from this address')}</OText>
147
+ <OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'Your are far from this address')}</OText>
148
148
  </FarAwayMessage>
149
149
  )}
150
150
  <View style={styles.wrapperOrderOptions}>