ordering-ui-react-native 0.16.34 → 0.16.35-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 +7 -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/LoginForm/index.tsx +15 -0
  13. package/src/components/Messages/index.tsx +2 -2
  14. package/src/components/NotificationSetting/index.tsx +85 -0
  15. package/src/components/OrderDetails/index.tsx +2 -20
  16. package/src/components/OrdersOption/index.tsx +54 -56
  17. package/src/components/PaymentOptions/index.tsx +335 -365
  18. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  19. package/src/components/ReviewDriver/index.tsx +1 -1
  20. package/src/components/ReviewOrder/index.tsx +2 -1
  21. package/src/components/ReviewProducts/index.tsx +11 -0
  22. package/src/components/SignupForm/index.tsx +15 -0
  23. package/src/components/SingleProductReview/index.tsx +8 -5
  24. package/src/components/StripeElementsForm/index.tsx +25 -16
  25. package/src/components/VerifyPhone/styles.tsx +1 -2
  26. package/src/components/shared/OBottomPopup.tsx +6 -2
  27. package/src/index.tsx +2 -0
  28. package/src/pages/BusinessesListing.tsx +7 -6
  29. package/src/pages/OrderDetails.tsx +1 -1
  30. package/src/pages/ReviewDriver.tsx +2 -2
  31. package/src/pages/ReviewOrder.tsx +2 -2
  32. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  33. package/src/utils/index.tsx +2 -1
  34. package/themes/business/index.tsx +4 -0
  35. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  36. package/themes/business/src/components/Chat/index.tsx +38 -30
  37. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  38. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  39. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  40. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  41. package/themes/business/src/components/MapView/index.tsx +12 -1
  42. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  43. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
  44. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  45. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -19
  46. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  47. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  48. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  49. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  50. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  51. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  52. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  53. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  54. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  55. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  56. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  57. package/themes/business/src/components/PreviousOrders/index.tsx +21 -23
  58. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  59. package/themes/business/src/components/ReviewCustomer/index.tsx +27 -13
  60. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  61. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  62. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  63. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  64. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  65. package/themes/business/src/components/shared/OModal.tsx +40 -37
  66. package/themes/business/src/types/index.tsx +15 -9
  67. package/themes/business/src/utils/index.tsx +10 -0
  68. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  69. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  70. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  71. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  72. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  73. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  74. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  75. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  76. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  77. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  78. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  79. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  80. package/themes/kiosk/src/types/index.d.ts +2 -0
  81. package/themes/original/index.tsx +4 -0
  82. package/themes/original/src/components/AddressDetails/index.tsx +2 -2
  83. package/themes/original/src/components/AddressForm/index.tsx +151 -140
  84. package/themes/original/src/components/AddressList/index.tsx +1 -1
  85. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  86. package/themes/original/src/components/BusinessBasicInformation/index.tsx +324 -162
  87. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  88. package/themes/original/src/components/BusinessController/index.tsx +190 -113
  89. package/themes/original/src/components/BusinessController/styles.tsx +0 -7
  90. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  91. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  92. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  93. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  94. package/themes/original/src/components/BusinessListingSearch/index.tsx +80 -128
  95. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  96. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  97. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  98. package/themes/original/src/components/BusinessProductsList/index.tsx +49 -52
  99. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  100. package/themes/original/src/components/BusinessProductsListing/index.tsx +179 -104
  101. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -11
  102. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  103. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  104. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +37 -25
  105. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -4
  106. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +278 -104
  107. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +47 -10
  108. package/themes/original/src/components/BusinessesListing/index.tsx +95 -7
  109. package/themes/original/src/components/Cart/index.tsx +54 -16
  110. package/themes/original/src/components/Cart/styles.tsx +4 -0
  111. package/themes/original/src/components/CartContent/index.tsx +22 -16
  112. package/themes/original/src/components/Checkout/index.tsx +109 -64
  113. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  114. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  115. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  116. package/themes/original/src/components/Favorite/index.tsx +1 -0
  117. package/themes/original/src/components/FavoriteList/index.tsx +32 -2
  118. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  119. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  120. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  121. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +25 -10
  122. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +4 -0
  123. package/themes/original/src/components/HelpGuide/index.tsx +9 -8
  124. package/themes/original/src/components/HelpOrder/index.tsx +9 -8
  125. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  126. package/themes/original/src/components/LoginForm/Otp/index.tsx +95 -72
  127. package/themes/original/src/components/LoginForm/index.tsx +90 -46
  128. package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
  129. package/themes/original/src/components/Messages/index.tsx +17 -17
  130. package/themes/original/src/components/MomentOption/index.tsx +8 -6
  131. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -92
  132. package/themes/original/src/components/MultiCheckout/index.tsx +6 -0
  133. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -16
  134. package/themes/original/src/components/MyOrders/index.tsx +70 -6
  135. package/themes/original/src/components/NavBar/index.tsx +15 -9
  136. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  137. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  138. package/themes/original/src/components/Notifications/index.tsx +148 -0
  139. package/themes/original/src/components/Notifications/styles.tsx +17 -0
  140. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  141. package/themes/original/src/components/OrderDetails/index.tsx +200 -37
  142. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  143. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  144. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  145. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  146. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  147. package/themes/original/src/components/OrderSummary/index.tsx +3 -36
  148. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  149. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  150. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +97 -106
  151. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  152. package/themes/original/src/components/OrdersOption/index.tsx +71 -55
  153. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  154. package/themes/original/src/components/PaymentOptions/index.tsx +41 -23
  155. package/themes/original/src/components/PhoneInputNumber/index.tsx +5 -11
  156. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  157. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  158. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  159. package/themes/original/src/components/ProductForm/index.tsx +635 -664
  160. package/themes/original/src/components/ProductForm/styles.tsx +9 -8
  161. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  162. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  163. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  164. package/themes/original/src/components/ProfessionalProfile/index.tsx +26 -14
  165. package/themes/original/src/components/ReviewDriver/index.tsx +7 -7
  166. package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
  167. package/themes/original/src/components/ReviewProducts/index.tsx +2 -2
  168. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  169. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  170. package/themes/original/src/components/SearchBar/index.tsx +5 -3
  171. package/themes/original/src/components/ServiceForm/index.tsx +410 -258
  172. package/themes/original/src/components/SignupForm/index.tsx +350 -206
  173. package/themes/original/src/components/SingleOrderCard/index.tsx +229 -181
  174. package/themes/original/src/components/SingleOrderCard/styles.tsx +0 -7
  175. package/themes/original/src/components/SingleProductCard/index.tsx +200 -110
  176. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -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 +18 -7
  180. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  181. package/themes/original/src/components/UserDetails/index.tsx +11 -2
  182. package/themes/original/src/components/UserFormDetails/index.tsx +67 -77
  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/UserProfileForm/index.tsx +10 -10
  186. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  187. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  188. package/themes/original/src/components/Wallets/index.tsx +176 -164
  189. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  190. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  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 +13 -3
  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 +91 -30
  198. package/themes/original/src/utils/index.tsx +121 -10
  199. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -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
- onPress={() => {props.forwardRef?.current?.focus?.(); props.onPress && props.onPress()}}
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 ? (
@@ -75,6 +81,7 @@ const OInput = (props: Props): React.ReactElement => {
75
81
  <MaterialIcon name={props?.vertorIcon} size={20} color={props?.vectorIconColor} style={{ marginHorizontal: 10 }} />
76
82
  )}
77
83
  <Input
84
+ autoFocus={props?.autoFocus}
78
85
  name={props.name}
79
86
  secureTextEntry={props.isSecured}
80
87
  onChangeText={(txt: any) => props.name ? props.onChange({ target: { name: props.name, value: txt } }) : props.onChange(txt)}
@@ -90,10 +97,12 @@ const OInput = (props: Props): React.ReactElement => {
90
97
  returnKeyType={props.returnKeyType}
91
98
  onSubmitEditing={props.onSubmitEditing}
92
99
  blurOnSubmit={props.blurOnSubmit}
93
- ref={(e : any) => {
100
+ ref={(e: any) => {
94
101
  props.forwardRef && (props.forwardRef.current = e)
95
102
  }}
96
103
  style={props?.inputStyle}
104
+ onFocus={() => setInputFocused(true)}
105
+ onBlur={() => setInputFocused(false)}
97
106
  />
98
107
  {props.iconRight && (
99
108
  <OIcon
@@ -113,6 +122,7 @@ OInput.defaultProps = {
113
122
  iconColor: '#959595',
114
123
  bgColor: 'white',
115
124
  borderColor: 'white',
125
+ isFocusHighlight: false
116
126
  };
117
127
 
118
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: 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,
@@ -110,9 +113,20 @@ export interface SignupParams {
110
113
  handleSendVerifyCode?: any;
111
114
  handleCheckPhoneCode?: any;
112
115
  notificationState?: any;
116
+ signUpTab?: string;
117
+ useSignUpFullDetails?: boolean;
118
+ useSignUpOtpEmail?: boolean;
119
+ useSignUpOtpCellphone?: boolean;
120
+ willVerifyOtpState?: boolean;
121
+ numOtpInputs?: number;
113
122
  handleChangePromotions: () => void;
123
+ handleChangeInput?: (in1: any, in2: any) => void;
114
124
  enableReCaptcha?: boolean;
115
- handleReCaptcha?: () => void;
125
+ generateOtpCode?: (in1?: any) => void;
126
+ handleReCaptcha?: (token?: any) => void;
127
+ setSignUpTab?: (in1: string) => void;
128
+ setWillVerifyOtpState?: (in1: boolean) => void;
129
+ setOtpState?: (in1: string) => void;
116
130
  }
117
131
 
118
132
  export interface PhoneInputParams {
@@ -158,6 +172,7 @@ export interface BusinessesListingParams {
158
172
  priceLevelSelected?: any;
159
173
  handleChangePriceLevel?: any;
160
174
  businessTypeSelected?: any;
175
+ logosLayout?: boolean;
161
176
  }
162
177
  export interface HighestRatedBusinessesParams {
163
178
  businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
@@ -202,6 +217,8 @@ export interface BusinessControllerParams {
202
217
  handleFavoriteBusiness?: any,
203
218
  setFavoriteIds?: any;
204
219
  handleUpdateBusinessList?: any;
220
+ enableIntersection?: boolean;
221
+ handleCustomUpdate?: (businessId: number, changes: any) => {};
205
222
  }
206
223
  export interface BusinessProductsListingParams {
207
224
  navigation?: any;
@@ -275,18 +292,24 @@ export interface BusinessProductsListParams {
275
292
  onClickCategory?: any,
276
293
  lazyLoadProductsRecommended?: boolean,
277
294
  isFiltMode?: boolean,
278
- handleUpdateProducts?: any
295
+ handleUpdateProducts?: any,
296
+ navigation?: any;
297
+ previouslyProducts?: any;
279
298
  }
280
299
  export interface SingleProductCardParams {
281
- businessId: any,
300
+ businessId: any;
282
301
  product: any;
283
302
  isSoldOut: boolean;
284
303
  onProductClick: any;
285
304
  productAddedToCartLength: number;
286
- style?: ViewStyle,
287
- categoryState?: any,
288
- handleFavoriteProduct?: any,
289
- handleUpdateProducts?: any
305
+ style?: ViewStyle;
306
+ categoryState?: any;
307
+ handleFavoriteProduct?: any;
308
+ handleUpdateProducts?: any;
309
+ enableIntersection?: boolean;
310
+ navigation?: any;
311
+ isPreviously?: any;
312
+ isProductId?: any;
290
313
  }
291
314
  export interface BusinessInformationParams {
292
315
  navigation?: any,
@@ -341,6 +364,8 @@ export interface OrdersOptionParams {
341
364
  refreshOrders?: boolean,
342
365
  setRefreshOrders?: (value: boolean) => void,
343
366
  handleUpdateOrderList?: (orderId: number, changes: any) => {},
367
+ handleUpdateProducts?: (productId: number, changes: any) => {},
368
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
344
369
  isBusiness?: boolean,
345
370
  isProducts?: boolean,
346
371
  businessOrderIds?: any,
@@ -348,6 +373,8 @@ export interface OrdersOptionParams {
348
373
  businessesSearchList?: any,
349
374
  hideOrders?: boolean,
350
375
  BusinessControllerSkeletons?: any,
376
+ businessPaginationProps?: any,
377
+ businesses?: any
351
378
  }
352
379
  export interface ActiveOrdersParams {
353
380
  orders?: any,
@@ -369,6 +396,7 @@ export interface PreviousOrdersParams {
369
396
  getOrderStatus?: any,
370
397
  orderID?: number
371
398
  reorderLoading?: boolean,
399
+ loading?: boolean,
372
400
  loadMoreOrders?: () => {},
373
401
  handleReorder?: (orderId: number) => {},
374
402
  onNavigationRedirect?: (route: string, params?: any) => {}
@@ -404,25 +432,26 @@ export interface ProductItemAccordionParams {
404
432
  isFromCheckout?: any
405
433
  }
406
434
  export interface ReviewOrderParams {
407
- order?: { id: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
408
- stars?: any,
409
- handleChangeInput?: any,
410
- handleChangeRating?: any,
411
- handleSendReview?: any,
412
- formState?: any,
413
- navigation?: any,
414
- setIsReviewed?: (isReviewed: boolean) => {},
415
- handleReviewState?: any,
416
- setStars?: any,
417
- onNavigationRedirect?: any
435
+ order?: { id: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any };
436
+ stars?: any;
437
+ defaultStar?: number;
438
+ handleChangeInput?: any;
439
+ handleChangeRating?: any;
440
+ handleSendReview?: any;
441
+ formState?: any;
442
+ navigation?: any;
443
+ setIsReviewed?: (isReviewed: boolean) => void;
444
+ handleReviewState?: any;
445
+ setStars?: any;
446
+ onNavigationRedirect?: any;
418
447
  }
419
448
  export interface ReviewProductParams {
420
449
  navigation?: any,
421
450
  onNavigationRedirect?: any,
422
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
451
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
423
452
  formState?: any,
424
453
  handleChangeFormState?: any,
425
- handleSendProductReview?: any
454
+ handleSendProductReview?: any;
426
455
  }
427
456
  export interface SingleProductReviewParams {
428
457
  product: any,
@@ -432,12 +461,12 @@ export interface SingleProductReviewParams {
432
461
  export interface ReviewDriverParams {
433
462
  navigation?: any,
434
463
  onNavigationRedirect?: any,
435
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
464
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
436
465
  formState?: any,
437
466
  setIsDriverReviewed?: (isReviewed: boolean) => {},
438
467
  dirverReviews?: any,
439
468
  setDriverReviews?: any,
440
- handleSendDriverReview?: any
469
+ handleSendDriverReview?: any;
441
470
  }
442
471
  export interface MessagesParams {
443
472
  type?: string,
@@ -535,7 +564,9 @@ export interface OrderTypeSelectParams {
535
564
  defaultValue?: number;
536
565
  configTypes?: Array<any>;
537
566
  orderTypes: Array<any>;
538
- setOrderTypeValue?: (value: number) => any
567
+ setOrderTypeValue?: (value: number) => any,
568
+ isChewLayout?: boolean;
569
+ chewOrderTypes?: any;
539
570
  }
540
571
  export interface UpsellingProductsParams {
541
572
  isCustomMode?: boolean;
@@ -621,12 +652,20 @@ export interface NoNetworkParams {
621
652
  }
622
653
 
623
654
  export interface PlaceSpotParams {
624
- isOpenPlaceSpot?: boolean,
655
+ isCheckout?: any,
656
+ isInputMode?: any,
625
657
  cart?: any,
658
+ spotNumberDefault?: any,
659
+ vehicleDefault?: any,
660
+ spotNumber?: any,
661
+ setSpotNumber?: any,
662
+ orderTypes?: any,
626
663
  placesState?: any,
627
664
  handleChangePlace?: any,
628
- getPlacesList?: any,
629
- setOpenPlaceModal?: any
665
+ spotState?: any,
666
+ vehicle?: any,
667
+ setVehicle?: any,
668
+ handleChangeSpot?: any
630
669
  }
631
670
 
632
671
  export interface PromotionParams {
@@ -651,7 +690,8 @@ export interface otpParams {
651
690
  setWillVerifyOtpState: (val: boolean) => void,
652
691
  onSubmit: () => void,
653
692
  handleLoginOtp: (code: string) => void,
654
- setAlertState: any
693
+ setAlertState: any;
694
+ pinCount: number;
655
695
  }
656
696
 
657
697
  export interface FavoriteParams {
@@ -677,7 +717,9 @@ export interface SingleOrderCardParams {
677
717
  onNavigationRedirect?: (route: string, params?: any) => {},
678
718
  pastOrders: any,
679
719
  isMessageView?: any,
680
- handleClickOrder: (value: any) => {}
720
+ handleClickOrder: (value: any) => {},
721
+ handleRemoveCart: () => {},
722
+ cartState: any
681
723
  }
682
724
 
683
725
  export interface PreviousBusinessOrderedParams {
@@ -687,7 +729,9 @@ export interface PreviousBusinessOrderedParams {
687
729
  businessId?: number,
688
730
  onNavigationRedirect?: any,
689
731
  isBusinessesSearchList?: any,
690
- businessLoading?: boolean
732
+ businessLoading?: boolean,
733
+ businesses?: any
734
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
691
735
  }
692
736
 
693
737
  export interface ServiceFormParams {
@@ -699,7 +743,11 @@ export interface ServiceFormParams {
699
743
  isSoldOut: boolean,
700
744
  maxProductQuantity: any,
701
745
  businessSlug?: string,
702
- onClose: any
746
+ onClose: any,
747
+ professionalList: any,
748
+ productObject?: any,
749
+ professionalListState?: any,
750
+ isCartProduct?: any
703
751
  }
704
752
 
705
753
  export interface ProfessionalFilterParams {
@@ -714,8 +762,21 @@ export interface ProfessionalProfileParams {
714
762
  onClose: any
715
763
  }
716
764
 
765
+ export interface OrderItAgainParams {
766
+ onProductClick: any,
767
+ productList: any,
768
+ businessId: any,
769
+ categoryState: any,
770
+ currentCart: any,
771
+ handleUpdateProducts: any,
772
+ navigation: any,
773
+ searchValue?: string
774
+ }
775
+
717
776
  export interface PreviousProductsOrderedParams {
718
777
  products?: any,
778
+ isProductId?: boolean
719
779
  onProductClick?: any,
720
780
  isBusinessesSearchList?: boolean
781
+ handleUpdateProducts?: any
721
782
  }
@@ -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'
@@ -40,6 +41,116 @@ export const getTraduction = (key: string) => {
40
41
  return keyList[key] ? t(key, keyList[key]) : t(key)
41
42
  }
42
43
 
44
+ /**
45
+ * Change local moment variables
46
+ */
47
+ export const setLocalMoment = (moment: any, t: any) => {
48
+ moment.locale('custom', {
49
+ months: [
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')
62
+ ],
63
+ monthsShort: [
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')
76
+ ],
77
+ weekdays: [
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')
85
+ ],
86
+ weekdaysShort: [
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')
94
+ ],
95
+ weekdaysMin: [
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')
103
+ ],
104
+ meridiem: function (hours: any) {
105
+ return hours < 12 ? t('AM', 'AM') : t('PM', 'PM');
106
+ }
107
+ })
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
+
43
154
  /**
44
155
  * Function to convert delivery time in minutes
45
156
  * @param {string} time business delivery time
@@ -116,7 +227,7 @@ export const getIconCard = (brand: string, size: number) => {
116
227
  * Function to return a static google maps image based in location
117
228
  * @param {object} param object with latitude and logitude
118
229
  */
119
- export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
230
+ export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
120
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}`
121
232
  }
122
233
  /**
@@ -147,8 +258,8 @@ export const sortInputFields = ({ fields, values }: any) => {
147
258
  return fieldsSorted;
148
259
  }
149
260
 
150
- export const transformCountryCode = (countryCode : number) => {
151
- 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)
152
263
  return code?.countryCode
153
264
  }
154
265
 
@@ -158,7 +269,7 @@ export const transformCountryCode = (countryCode : number) => {
158
269
  * @param {*} parser function fallback when is decimal
159
270
  * @returns string
160
271
  */
161
- export const verifyDecimals = (value: number, parser: any) => {
272
+ export const verifyDecimals = (value: number, parser: any) => {
162
273
  if (value % 1 === 0) {
163
274
  return value
164
275
  } else {
@@ -174,7 +285,7 @@ export const getTypesText = (value: number) => {
174
285
  /**
175
286
  * List shape for ribbon
176
287
  */
177
- export const shape = {
288
+ export const shape = {
178
289
  rectangle: 'rectangle',
179
290
  rectangleRound: 'rectangle_round',
180
291
  capsuleShape: 'capsule_shape'
@@ -185,7 +296,7 @@ export const getTypesText = (value: number) => {
185
296
  * @param {number} value for transform
186
297
  *
187
298
  */
188
- export const convertToRadian = (value: number) => {
299
+ export const convertToRadian = (value: number) => {
189
300
  return value * Math.PI / 180
190
301
  }
191
302
 
@@ -207,14 +318,14 @@ export const getDistance = (lat1: any, lon1: any, lat2: any, lon2: any) => {
207
318
  return R * c
208
319
  }
209
320
 
210
- export const formatUrlVideo = (url : string) => {
321
+ export const formatUrlVideo = (url: string) => {
211
322
  const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/
212
323
  const match = url.match(regExp)
213
324
  const id = (match && match[7].length === 11) ? match[7] : false
214
325
  return `https://www.youtube-nocookie.com/embed/${id}`
215
326
  }
216
327
 
217
- export const formatSeconds = (seconds : number) => {
328
+ export const formatSeconds = (seconds: number) => {
218
329
  // Hours, minutes and seconds
219
330
  var hrs = ~~(seconds / 3600)
220
331
  var mins = ~~((seconds % 3600) / 60)
@@ -233,7 +344,7 @@ export const formatSeconds = (seconds : number) => {
233
344
  /**
234
345
  * List of price to filter businesses
235
346
  */
236
- export const priceList = [
347
+ export const priceList = [
237
348
  { level: '1', content: '$' },
238
349
  { level: '2', content: '$$' },
239
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}>