ordering-ui-react-native 0.16.37 → 0.16.38-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 (202) 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/src/components/BusinessController/index.tsx +2 -2
  35. package/themes/business/src/components/Chat/index.tsx +38 -30
  36. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  37. package/themes/business/src/components/DriverSchedule/index.tsx +36 -19
  38. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  39. package/themes/business/src/components/MapView/index.tsx +12 -1
  40. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  41. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
  42. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  43. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -19
  44. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  45. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  46. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  47. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  48. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  49. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  50. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  51. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  52. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  53. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  54. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  55. package/themes/business/src/components/PreviousOrders/index.tsx +22 -24
  56. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  57. package/themes/business/src/components/ReviewCustomer/index.tsx +27 -13
  58. package/themes/business/src/components/ScheduleBlocked/index.tsx +2 -2
  59. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  60. package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
  61. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  62. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  63. package/themes/business/src/types/index.tsx +15 -9
  64. package/themes/business/src/utils/index.tsx +10 -0
  65. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  66. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  67. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  68. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  69. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  70. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  71. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  72. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  73. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  74. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  75. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  76. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  77. package/themes/kiosk/src/types/index.d.ts +2 -0
  78. package/themes/original/index.tsx +4 -0
  79. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  80. package/themes/original/src/components/AddressForm/index.tsx +157 -140
  81. package/themes/original/src/components/AddressList/index.tsx +1 -1
  82. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  83. package/themes/original/src/components/BusinessBasicInformation/index.tsx +324 -162
  84. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  85. package/themes/original/src/components/BusinessController/index.tsx +216 -113
  86. package/themes/original/src/components/BusinessController/styles.tsx +1 -8
  87. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  88. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  89. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  90. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  91. package/themes/original/src/components/BusinessListingSearch/index.tsx +109 -139
  92. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  93. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  94. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  95. package/themes/original/src/components/BusinessProductsList/index.tsx +49 -52
  96. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  97. package/themes/original/src/components/BusinessProductsListing/index.tsx +179 -104
  98. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -11
  99. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  100. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  101. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +37 -25
  102. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -4
  103. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +279 -104
  104. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +47 -10
  105. package/themes/original/src/components/BusinessesListing/index.tsx +95 -7
  106. package/themes/original/src/components/Cart/index.tsx +54 -16
  107. package/themes/original/src/components/Cart/styles.tsx +4 -0
  108. package/themes/original/src/components/CartContent/index.tsx +22 -16
  109. package/themes/original/src/components/Checkout/index.tsx +110 -116
  110. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  111. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  112. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  113. package/themes/original/src/components/Favorite/index.tsx +1 -0
  114. package/themes/original/src/components/FavoriteList/index.tsx +32 -2
  115. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  116. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  117. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  118. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  119. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +25 -10
  120. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +4 -0
  121. package/themes/original/src/components/HelpGuide/index.tsx +9 -8
  122. package/themes/original/src/components/HelpOrder/index.tsx +9 -8
  123. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  124. package/themes/original/src/components/LoginForm/Otp/index.tsx +95 -73
  125. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  126. package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
  127. package/themes/original/src/components/Messages/index.tsx +17 -17
  128. package/themes/original/src/components/MomentOption/index.tsx +8 -6
  129. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -92
  130. package/themes/original/src/components/MultiCheckout/index.tsx +6 -0
  131. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -16
  132. package/themes/original/src/components/MyOrders/index.tsx +88 -22
  133. package/themes/original/src/components/NavBar/index.tsx +15 -9
  134. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  135. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  136. package/themes/original/src/components/Notifications/index.tsx +148 -0
  137. package/themes/original/src/components/Notifications/styles.tsx +17 -0
  138. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  139. package/themes/original/src/components/OrderDetails/index.tsx +200 -37
  140. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  141. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  142. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  143. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  144. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  145. package/themes/original/src/components/OrderSummary/index.tsx +3 -36
  146. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  147. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  148. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +97 -106
  149. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  150. package/themes/original/src/components/OrdersOption/index.tsx +71 -55
  151. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  152. package/themes/original/src/components/PaymentOptions/index.tsx +41 -23
  153. package/themes/original/src/components/PhoneInputNumber/index.tsx +5 -11
  154. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  155. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  156. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  157. package/themes/original/src/components/ProductForm/index.tsx +635 -664
  158. package/themes/original/src/components/ProductForm/styles.tsx +10 -11
  159. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  160. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  161. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  162. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +0 -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/Promotions/index.tsx +232 -219
  166. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  167. package/themes/original/src/components/ReviewDriver/index.tsx +7 -7
  168. package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
  169. package/themes/original/src/components/ReviewProducts/index.tsx +2 -2
  170. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  171. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  172. package/themes/original/src/components/SearchBar/index.tsx +5 -3
  173. package/themes/original/src/components/ServiceForm/index.tsx +410 -258
  174. package/themes/original/src/components/SignupForm/index.tsx +184 -127
  175. package/themes/original/src/components/SingleOrderCard/index.tsx +229 -181
  176. package/themes/original/src/components/SingleOrderCard/styles.tsx +0 -7
  177. package/themes/original/src/components/SingleProductCard/index.tsx +198 -112
  178. package/themes/original/src/components/SingleProductCard/styles.tsx +3 -10
  179. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  180. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  181. package/themes/original/src/components/StripeElementsForm/index.tsx +18 -7
  182. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  183. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  184. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  185. package/themes/original/src/components/UserProfile/index.tsx +56 -31
  186. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  187. package/themes/original/src/components/UserProfileForm/index.tsx +10 -10
  188. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  189. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  190. package/themes/original/src/components/Wallets/index.tsx +176 -164
  191. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  192. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  193. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  194. package/themes/original/src/components/shared/OBottomPopup.tsx +48 -15
  195. package/themes/original/src/components/shared/OButton.tsx +10 -3
  196. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  197. package/themes/original/src/components/shared/OInput.tsx +13 -3
  198. package/themes/original/src/layouts/Container.tsx +13 -9
  199. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  200. package/themes/original/src/types/index.tsx +82 -29
  201. package/themes/original/src/utils/index.tsx +121 -10
  202. 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
- 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: 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,
@@ -120,7 +123,7 @@ export interface SignupParams {
120
123
  handleChangeInput?: (in1: any, in2: any) => void;
121
124
  enableReCaptcha?: boolean;
122
125
  generateOtpCode?: (in1?: any) => void;
123
- handleReCaptcha?: () => void;
126
+ handleReCaptcha?: (token?: any) => void;
124
127
  setSignUpTab?: (in1: string) => void;
125
128
  setWillVerifyOtpState?: (in1: boolean) => void;
126
129
  setOtpState?: (in1: string) => void;
@@ -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,9 @@ export interface BusinessControllerParams {
213
220
  handleFavoriteBusiness?: any,
214
221
  setFavoriteIds?: any;
215
222
  handleUpdateBusinessList?: any;
223
+ enableIntersection?: boolean;
224
+ isCustomLayout?: boolean;
225
+ handleCustomUpdate?: (businessId: number, changes: any) => {};
216
226
  }
217
227
  export interface BusinessProductsListingParams {
218
228
  navigation?: any;
@@ -286,18 +296,24 @@ export interface BusinessProductsListParams {
286
296
  onClickCategory?: any,
287
297
  lazyLoadProductsRecommended?: boolean,
288
298
  isFiltMode?: boolean,
289
- handleUpdateProducts?: any
299
+ handleUpdateProducts?: any,
300
+ navigation?: any;
301
+ previouslyProducts?: any;
290
302
  }
291
303
  export interface SingleProductCardParams {
292
- businessId: any,
304
+ businessId: any;
293
305
  product: any;
294
306
  isSoldOut: boolean;
295
307
  onProductClick: any;
296
308
  productAddedToCartLength: number;
297
- style?: ViewStyle,
298
- categoryState?: any,
299
- handleFavoriteProduct?: any,
300
- handleUpdateProducts?: any
309
+ style?: ViewStyle;
310
+ categoryState?: any;
311
+ handleFavoriteProduct?: any;
312
+ handleUpdateProducts?: any;
313
+ enableIntersection?: boolean;
314
+ navigation?: any;
315
+ isPreviously?: any;
316
+ isProductId?: any;
301
317
  }
302
318
  export interface BusinessInformationParams {
303
319
  navigation?: any,
@@ -352,6 +368,8 @@ export interface OrdersOptionParams {
352
368
  refreshOrders?: boolean,
353
369
  setRefreshOrders?: (value: boolean) => void,
354
370
  handleUpdateOrderList?: (orderId: number, changes: any) => {},
371
+ handleUpdateProducts?: (productId: number, changes: any) => {},
372
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
355
373
  isBusiness?: boolean,
356
374
  isProducts?: boolean,
357
375
  businessOrderIds?: any,
@@ -359,6 +377,8 @@ export interface OrdersOptionParams {
359
377
  businessesSearchList?: any,
360
378
  hideOrders?: boolean,
361
379
  BusinessControllerSkeletons?: any,
380
+ businessPaginationProps?: any,
381
+ businesses?: any
362
382
  }
363
383
  export interface ActiveOrdersParams {
364
384
  orders?: any,
@@ -380,6 +400,7 @@ export interface PreviousOrdersParams {
380
400
  getOrderStatus?: any,
381
401
  orderID?: number
382
402
  reorderLoading?: boolean,
403
+ loading?: boolean,
383
404
  loadMoreOrders?: () => {},
384
405
  handleReorder?: (orderId: number) => {},
385
406
  onNavigationRedirect?: (route: string, params?: any) => {}
@@ -415,25 +436,26 @@ export interface ProductItemAccordionParams {
415
436
  isFromCheckout?: any
416
437
  }
417
438
  export interface ReviewOrderParams {
418
- order?: { id: number, businessId: number, 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
439
+ order?: { id: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any };
440
+ stars?: any;
441
+ defaultStar?: number;
442
+ handleChangeInput?: any;
443
+ handleChangeRating?: any;
444
+ handleSendReview?: any;
445
+ formState?: any;
446
+ navigation?: any;
447
+ setIsReviewed?: (isReviewed: boolean) => void;
448
+ handleReviewState?: any;
449
+ setStars?: any;
450
+ onNavigationRedirect?: any;
429
451
  }
430
452
  export interface ReviewProductParams {
431
453
  navigation?: any,
432
454
  onNavigationRedirect?: any,
433
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
455
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
434
456
  formState?: any,
435
457
  handleChangeFormState?: any,
436
- handleSendProductReview?: any
458
+ handleSendProductReview?: any;
437
459
  }
438
460
  export interface SingleProductReviewParams {
439
461
  product: any,
@@ -443,12 +465,12 @@ export interface SingleProductReviewParams {
443
465
  export interface ReviewDriverParams {
444
466
  navigation?: any,
445
467
  onNavigationRedirect?: any,
446
- order?: { orderId: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
468
+ order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
447
469
  formState?: any,
448
470
  setIsDriverReviewed?: (isReviewed: boolean) => {},
449
471
  dirverReviews?: any,
450
472
  setDriverReviews?: any,
451
- handleSendDriverReview?: any
473
+ handleSendDriverReview?: any;
452
474
  }
453
475
  export interface MessagesParams {
454
476
  type?: string,
@@ -546,7 +568,9 @@ export interface OrderTypeSelectParams {
546
568
  defaultValue?: number;
547
569
  configTypes?: Array<any>;
548
570
  orderTypes: Array<any>;
549
- setOrderTypeValue?: (value: number) => any
571
+ setOrderTypeValue?: (value: number) => any,
572
+ isChewLayout?: boolean;
573
+ chewOrderTypes?: any;
550
574
  }
551
575
  export interface UpsellingProductsParams {
552
576
  isCustomMode?: boolean;
@@ -632,12 +656,20 @@ export interface NoNetworkParams {
632
656
  }
633
657
 
634
658
  export interface PlaceSpotParams {
635
- isOpenPlaceSpot?: boolean,
659
+ isCheckout?: any,
660
+ isInputMode?: any,
636
661
  cart?: any,
662
+ spotNumberDefault?: any,
663
+ vehicleDefault?: any,
664
+ spotNumber?: any,
665
+ setSpotNumber?: any,
666
+ orderTypes?: any,
637
667
  placesState?: any,
638
668
  handleChangePlace?: any,
639
- getPlacesList?: any,
640
- setOpenPlaceModal?: any
669
+ spotState?: any,
670
+ vehicle?: any,
671
+ setVehicle?: any,
672
+ handleChangeSpot?: any
641
673
  }
642
674
 
643
675
  export interface PromotionParams {
@@ -689,7 +721,9 @@ export interface SingleOrderCardParams {
689
721
  onNavigationRedirect?: (route: string, params?: any) => {},
690
722
  pastOrders: any,
691
723
  isMessageView?: any,
692
- handleClickOrder: (value: any) => {}
724
+ handleClickOrder: (value: any) => {},
725
+ handleRemoveCart: () => {},
726
+ cartState: any
693
727
  }
694
728
 
695
729
  export interface PreviousBusinessOrderedParams {
@@ -699,7 +733,9 @@ export interface PreviousBusinessOrderedParams {
699
733
  businessId?: number,
700
734
  onNavigationRedirect?: any,
701
735
  isBusinessesSearchList?: any,
702
- businessLoading?: boolean
736
+ businessLoading?: boolean,
737
+ businesses?: any
738
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
703
739
  }
704
740
 
705
741
  export interface ServiceFormParams {
@@ -711,7 +747,11 @@ export interface ServiceFormParams {
711
747
  isSoldOut: boolean,
712
748
  maxProductQuantity: any,
713
749
  businessSlug?: string,
714
- onClose: any
750
+ onClose: any,
751
+ professionalList: any,
752
+ productObject?: any,
753
+ professionalListState?: any,
754
+ isCartProduct?: any
715
755
  }
716
756
 
717
757
  export interface ProfessionalFilterParams {
@@ -726,8 +766,21 @@ export interface ProfessionalProfileParams {
726
766
  onClose: any
727
767
  }
728
768
 
769
+ export interface OrderItAgainParams {
770
+ onProductClick: any,
771
+ productList: any,
772
+ businessId: any,
773
+ categoryState: any,
774
+ currentCart: any,
775
+ handleUpdateProducts: any,
776
+ navigation: any,
777
+ searchValue?: string
778
+ }
779
+
729
780
  export interface PreviousProductsOrderedParams {
730
781
  products?: any,
782
+ isProductId?: boolean
731
783
  onProductClick?: any,
732
784
  isBusinessesSearchList?: boolean
785
+ handleUpdateProducts?: any
733
786
  }
@@ -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}>