ordering-ui-react-native 0.16.26 → 0.16.27-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 +8 -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/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessInformation/index.tsx +33 -4
  8. package/src/components/BusinessInformation/styles.tsx +2 -2
  9. package/src/components/BusinessProductsList/index.tsx +10 -10
  10. package/src/components/BusinessesListing/index.tsx +1 -1
  11. package/src/components/Checkout/index.tsx +2 -1
  12. package/src/components/LanguageSelector/index.tsx +21 -16
  13. package/src/components/LoginForm/index.tsx +15 -0
  14. package/src/components/Messages/index.tsx +2 -2
  15. package/src/components/NotificationSetting/index.tsx +85 -0
  16. package/src/components/OrderDetails/index.tsx +2 -20
  17. package/src/components/OrdersOption/index.tsx +54 -56
  18. package/src/components/PaymentOptions/index.tsx +335 -365
  19. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  20. package/src/components/ReviewDriver/index.tsx +1 -1
  21. package/src/components/ReviewOrder/index.tsx +2 -1
  22. package/src/components/ReviewProducts/index.tsx +11 -0
  23. package/src/components/SignupForm/index.tsx +15 -0
  24. package/src/components/SingleProductReview/index.tsx +8 -5
  25. package/src/components/StripeElementsForm/index.tsx +25 -16
  26. package/src/components/VerifyPhone/styles.tsx +1 -2
  27. package/src/components/shared/OBottomPopup.tsx +6 -2
  28. package/src/index.tsx +2 -0
  29. package/src/pages/BusinessesListing.tsx +7 -6
  30. package/src/pages/OrderDetails.tsx +1 -1
  31. package/src/pages/ReviewDriver.tsx +2 -2
  32. package/src/pages/ReviewOrder.tsx +2 -2
  33. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  34. package/src/utils/index.tsx +0 -1
  35. package/themes/business/index.tsx +4 -0
  36. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  37. package/themes/business/src/components/Chat/index.tsx +42 -34
  38. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  39. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  40. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  41. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  42. package/themes/business/src/components/MapView/index.tsx +12 -1
  43. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  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 +5 -4
  59. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  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/Checkout/index.tsx +6 -0
  72. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  73. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  74. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  75. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  76. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  77. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  78. package/themes/kiosk/src/types/index.d.ts +2 -0
  79. package/themes/original/index.tsx +12 -0
  80. package/themes/original/src/components/AddressForm/index.tsx +139 -135
  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 +311 -161
  84. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  85. package/themes/original/src/components/BusinessController/index.tsx +190 -113
  86. package/themes/original/src/components/BusinessController/styles.tsx +0 -7
  87. package/themes/original/src/components/BusinessItemAccordion/index.tsx +4 -4
  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 +81 -128
  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 +293 -177
  98. package/themes/original/src/components/BusinessProductsListing/styles.tsx +23 -11
  99. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  100. package/themes/original/src/components/BusinessTypeFilter/index.tsx +109 -40
  101. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  102. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
  103. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -10
  104. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +676 -0
  105. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  106. package/themes/original/src/components/BusinessesListing/index.tsx +105 -519
  107. package/themes/original/src/components/Cart/index.tsx +42 -10
  108. package/themes/original/src/components/Cart/styles.tsx +4 -0
  109. package/themes/original/src/components/CartContent/index.tsx +22 -16
  110. package/themes/original/src/components/Checkout/index.tsx +98 -57
  111. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  112. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  113. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  114. package/themes/original/src/components/Favorite/index.tsx +1 -0
  115. package/themes/original/src/components/FavoriteList/index.tsx +32 -2
  116. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  117. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  118. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  119. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  120. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  121. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  122. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  123. package/themes/original/src/components/LoginForm/Otp/index.tsx +95 -72
  124. package/themes/original/src/components/LoginForm/index.tsx +82 -44
  125. package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
  126. package/themes/original/src/components/Messages/index.tsx +17 -17
  127. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  128. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  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 +70 -6
  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 +190 -35
  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 +8 -2
  144. package/themes/original/src/components/OrderSummary/index.tsx +1 -34
  145. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  146. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  147. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +100 -106
  148. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +17 -12
  149. package/themes/original/src/components/OrdersOption/index.tsx +71 -55
  150. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  151. package/themes/original/src/components/PaymentOptions/index.tsx +41 -23
  152. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
  153. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  154. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  155. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  156. package/themes/original/src/components/ProductForm/index.tsx +633 -664
  157. package/themes/original/src/components/ProductForm/styles.tsx +9 -8
  158. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  159. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  160. package/themes/original/src/components/ProfessionalFilter/index.tsx +129 -0
  161. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  162. package/themes/original/src/components/ProfessionalProfile/index.tsx +309 -0
  163. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  164. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  165. package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
  166. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  167. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  168. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  169. package/themes/original/src/components/SearchBar/index.tsx +5 -3
  170. package/themes/original/src/components/ServiceForm/index.tsx +637 -0
  171. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  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 +207 -107
  176. package/themes/original/src/components/SingleProductCard/styles.tsx +1 -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 +15 -7
  180. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  181. package/themes/original/src/components/UserDetails/index.tsx +31 -17
  182. package/themes/original/src/components/UserFormDetails/index.tsx +74 -81
  183. package/themes/original/src/components/UserProfile/index.tsx +54 -29
  184. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  185. package/themes/original/src/components/UserProfileForm/index.tsx +15 -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 +3 -2
  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 +121 -30
  198. package/themes/original/src/utils/index.tsx +77 -0
  199. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,33 +1,45 @@
1
1
  import React from 'react'
2
- import { Modal, TouchableWithoutFeedback, Dimensions, StyleSheet, View, Text, Platform, StatusBar } from 'react-native'
2
+ import { Modal, TouchableWithoutFeedback, TouchableOpacity, Dimensions, StyleSheet, View, Text, Platform, StatusBar } from 'react-native'
3
3
  import { useSafeAreaInsets } from 'react-native-safe-area-context'
4
+ import { OIcon } from '.';
4
5
  const deviceHeight = Dimensions.get('window').height
5
6
 
6
7
  interface Props {
7
8
  open: boolean;
9
+ transparent?: boolean;
8
10
  title?: string;
9
11
  children?: any;
10
12
  onClose?: any;
11
13
  isStatusBar?: boolean;
14
+ bottomContainerStyle?: any;
15
+ titleStyle?: any;
16
+ closeIcon?: any;
17
+ presentationStyle?: "fullScreen" | "pageSheet" | "formSheet" | "overFullScreen" | undefined
12
18
  }
13
19
  const OBottomPopup = (props: Props) => {
14
20
  const {
15
21
  open,
22
+ transparent,
16
23
  title,
17
24
  onClose,
18
25
  children,
19
- isStatusBar
26
+ isStatusBar,
27
+ titleStyle,
28
+ bottomContainerStyle,
29
+ closeIcon,
30
+ presentationStyle
20
31
  } = props
21
32
  const { top, bottom } = useSafeAreaInsets();
33
+
22
34
  return (
23
35
  <Modal
24
- animationType='slide'
25
- transparent={false}
36
+ animationType='fade'
37
+ transparent={transparent}
26
38
  visible={open}
27
39
  onRequestClose={() => onClose()}
28
- presentationStyle={'fullScreen'}
40
+ presentationStyle={presentationStyle || 'fullScreen'}
29
41
  >
30
- {isStatusBar && <StatusBar translucent={false} />}
42
+ {isStatusBar && <StatusBar translucent={false} />}
31
43
  <View style={styles.container}>
32
44
  <TouchableWithoutFeedback
33
45
  style={styles.touchableOutsideStyle}
@@ -35,13 +47,24 @@ const OBottomPopup = (props: Props) => {
35
47
  >
36
48
  <View style={styles.touchableOutsideStyle} />
37
49
  </TouchableWithoutFeedback>
38
- <View style={styles.bottomContainer}>
50
+ <View style={{ ...styles.bottomContainer, ...bottomContainerStyle }}>
39
51
  <View style={{ paddingTop: top, paddingBottom: bottom }}>
40
- {title != '' && (
41
- <Text style={styles.titleStyle}>
42
- {title}
43
- </Text>
44
- )}
52
+ <View style={styles.modalTitleStyle}>
53
+ {closeIcon && (
54
+ <TouchableOpacity onPress={() => onClose()} style={styles.closeIconStyle}>
55
+ <OIcon
56
+ src={closeIcon}
57
+ width={20}
58
+ height={20}
59
+ />
60
+ </TouchableOpacity>
61
+ )}
62
+ {!!title && (
63
+ <Text style={{ ...styles.titleStyle, ...titleStyle }}>
64
+ {title}
65
+ </Text>
66
+ )}
67
+ </View>
45
68
  {children}
46
69
  </View>
47
70
  </View>
@@ -54,7 +77,7 @@ const styles = StyleSheet.create({
54
77
  container: {
55
78
  flex: 1,
56
79
  backgroundColor: '#000000AA',
57
- justifyContent: 'flex-end',
80
+ justifyContent: 'flex-end'
58
81
  },
59
82
  touchableOutsideStyle: {
60
83
  flex: 1,
@@ -68,8 +91,18 @@ const styles = StyleSheet.create({
68
91
  },
69
92
  titleStyle: {
70
93
  fontSize: 20,
71
- fontWeight: 'bold',
72
- marginVertical: 15
94
+ fontWeight: 'bold'
95
+ },
96
+ closeIconStyle: {
97
+ position: 'absolute',
98
+ left: 25,
99
+ top: 25,
100
+ zIndex: 100
101
+ },
102
+ modalTitleStyle: {
103
+ position: 'relative',
104
+ paddingHorizontal: 10,
105
+ paddingVertical: 20
73
106
  }
74
107
  })
75
108
 
@@ -78,6 +78,9 @@ interface Props {
78
78
  borderColor?: string;
79
79
  loadingStyle?: ViewStyle;
80
80
  showNextIcon?: boolean;
81
+ isDisabledWithSameStyles?: boolean;
82
+ icon?: any;
83
+ iconProps?: any
81
84
  }
82
85
 
83
86
  const OButton = (props: Props): React.ReactElement => {
@@ -110,8 +113,12 @@ const OButton = (props: Props): React.ReactElement => {
110
113
  activeOpacity={props.activeOpacity}
111
114
  onPress={props.onClick}
112
115
  style={{ width: props.isCircle ? 52 : props.style?.width, ...props.parentStyle }}
116
+ disabled={props.isDisabledWithSameStyles}
113
117
  >
114
118
  <StyledButton style={props.bgColor ? { ...props.style, backgroundColor: props.bgColor, borderColor: props.borderColor } : props.style}>
119
+ {props.icon ? (
120
+ <props.icon {...props.iconProps} />
121
+ ) : null}
115
122
  {props.imgLeftSrc ? (
116
123
  <OIcon style={props.imgLeftStyle} src={props.imgLeftSrc} />
117
124
  ) : null}
@@ -120,9 +127,9 @@ const OButton = (props: Props): React.ReactElement => {
120
127
  ) : null}
121
128
  {props.imgRightSrc ? (
122
129
  <EndImage style={props.imgRightStyle} source={props.imgRightSrc} />
123
- ) : props.showNextIcon ?
124
- <EndImage source={theme.images.general.arrow_left}
125
- style={{width: 16, tintColor: 'white', transform: [{rotate: I18nManager.isRTL ? '0deg' : '180deg'}]}} /> : null }
130
+ ) : props.showNextIcon ?
131
+ <EndImage source={theme.images.general.arrow_left}
132
+ style={{ width: 16, tintColor: 'white', transform: [{ rotate: I18nManager.isRTL ? '0deg' : '180deg' }] }} /> : null}
126
133
  </StyledButton>
127
134
  </TouchableOpacity>
128
135
  );
@@ -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,
@@ -56,7 +56,7 @@ const Wrapper = styled.Pressable`
56
56
  const OInput = (props: Props): React.ReactElement => {
57
57
  return (
58
58
  <Wrapper
59
- onPress={() => {props.forwardRef?.current?.focus?.(); props.onPress && props.onPress()}}
59
+ onPress={() => { props.forwardRef?.current?.focus?.(); props.onPress && props.onPress() }}
60
60
  style={{
61
61
  backgroundColor: props.bgColor,
62
62
  borderColor: props.borderColor,
@@ -75,6 +75,7 @@ const OInput = (props: Props): React.ReactElement => {
75
75
  <MaterialIcon name={props?.vertorIcon} size={20} color={props?.vectorIconColor} style={{ marginHorizontal: 10 }} />
76
76
  )}
77
77
  <Input
78
+ autoFocus={props?.autoFocus}
78
79
  name={props.name}
79
80
  secureTextEntry={props.isSecured}
80
81
  onChangeText={(txt: any) => props.name ? props.onChange({ target: { name: props.name, value: txt } }) : props.onChange(txt)}
@@ -90,7 +91,7 @@ const OInput = (props: Props): React.ReactElement => {
90
91
  returnKeyType={props.returnKeyType}
91
92
  onSubmitEditing={props.onSubmitEditing}
92
93
  blurOnSubmit={props.blurOnSubmit}
93
- ref={(e : any) => {
94
+ ref={(e: any) => {
94
95
  props.forwardRef && (props.forwardRef.current = e)
95
96
  }}
96
97
  style={props?.inputStyle}
@@ -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 {
@@ -155,6 +169,10 @@ export interface BusinessesListingParams {
155
169
  businessId?: any;
156
170
  isGuestUser?: any;
157
171
  handleUpdateBusinessList?: any;
172
+ priceLevelSelected?: any;
173
+ handleChangePriceLevel?: any;
174
+ businessTypeSelected?: any;
175
+ logosLayout?: boolean;
158
176
  }
159
177
  export interface HighestRatedBusinessesParams {
160
178
  businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
@@ -173,7 +191,8 @@ export interface BusinessTypeFilterParams {
173
191
  defaultBusinessType?: string | null;
174
192
  images?: any
175
193
  typesState?: any
176
- setBusinessTypes?: any
194
+ setBusinessTypes?: any,
195
+ isAppoint?: boolean | undefined
177
196
  }
178
197
  export interface BusinessControllerParams {
179
198
  key?: string | number;
@@ -198,6 +217,8 @@ export interface BusinessControllerParams {
198
217
  handleFavoriteBusiness?: any,
199
218
  setFavoriteIds?: any;
200
219
  handleUpdateBusinessList?: any;
220
+ enableIntersection?: boolean;
221
+ handleCustomUpdate?: (businessId: number, changes: any) => {};
201
222
  }
202
223
  export interface BusinessProductsListingParams {
203
224
  navigation?: any;
@@ -221,6 +242,8 @@ export interface BusinessProductsListingParams {
221
242
  setProductLogin?: () => {};
222
243
  updateProductModal?: (value: any) => {};
223
244
  handleUpdateProducts?: any;
245
+ professionalSelected?: any;
246
+ handleChangeProfessionalSelected?: any;
224
247
  }
225
248
  export interface BusinessBasicInformationParams {
226
249
  navigation?: any;
@@ -269,18 +292,24 @@ export interface BusinessProductsListParams {
269
292
  onClickCategory?: any,
270
293
  lazyLoadProductsRecommended?: boolean,
271
294
  isFiltMode?: boolean,
272
- handleUpdateProducts?: any
295
+ handleUpdateProducts?: any,
296
+ navigation?: any;
297
+ previouslyProducts?: any;
273
298
  }
274
299
  export interface SingleProductCardParams {
275
- businessId: any,
300
+ businessId: any;
276
301
  product: any;
277
302
  isSoldOut: boolean;
278
303
  onProductClick: any;
279
304
  productAddedToCartLength: number;
280
- style?: ViewStyle,
281
- categoryState?: any,
282
- handleFavoriteProduct?: any,
283
- 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;
284
313
  }
285
314
  export interface BusinessInformationParams {
286
315
  navigation?: any,
@@ -335,6 +364,8 @@ export interface OrdersOptionParams {
335
364
  refreshOrders?: boolean,
336
365
  setRefreshOrders?: (value: boolean) => void,
337
366
  handleUpdateOrderList?: (orderId: number, changes: any) => {},
367
+ handleUpdateProducts?: (productId: number, changes: any) => {},
368
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
338
369
  isBusiness?: boolean,
339
370
  isProducts?: boolean,
340
371
  businessOrderIds?: any,
@@ -342,6 +373,8 @@ export interface OrdersOptionParams {
342
373
  businessesSearchList?: any,
343
374
  hideOrders?: boolean,
344
375
  BusinessControllerSkeletons?: any,
376
+ businessPaginationProps?: any,
377
+ businesses?: any
345
378
  }
346
379
  export interface ActiveOrdersParams {
347
380
  orders?: any,
@@ -363,6 +396,7 @@ export interface PreviousOrdersParams {
363
396
  getOrderStatus?: any,
364
397
  orderID?: number
365
398
  reorderLoading?: boolean,
399
+ loading?: boolean,
366
400
  loadMoreOrders?: () => {},
367
401
  handleReorder?: (orderId: number) => {},
368
402
  onNavigationRedirect?: (route: string, params?: any) => {}
@@ -398,25 +432,26 @@ export interface ProductItemAccordionParams {
398
432
  isFromCheckout?: any
399
433
  }
400
434
  export interface ReviewOrderParams {
401
- order?: { id: number, businessId: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
402
- stars?: any,
403
- handleChangeInput?: any,
404
- handleChangeRating?: any,
405
- handleSendReview?: any,
406
- formState?: any,
407
- navigation?: any,
408
- setIsReviewed?: (isReviewed: boolean) => {},
409
- handleReviewState?: any,
410
- setStars?: any,
411
- 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;
412
447
  }
413
448
  export interface ReviewProductParams {
414
449
  navigation?: any,
415
450
  onNavigationRedirect?: any,
416
- 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 },
417
452
  formState?: any,
418
453
  handleChangeFormState?: any,
419
- handleSendProductReview?: any
454
+ handleSendProductReview?: any;
420
455
  }
421
456
  export interface SingleProductReviewParams {
422
457
  product: any,
@@ -426,12 +461,12 @@ export interface SingleProductReviewParams {
426
461
  export interface ReviewDriverParams {
427
462
  navigation?: any,
428
463
  onNavigationRedirect?: any,
429
- 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 },
430
465
  formState?: any,
431
466
  setIsDriverReviewed?: (isReviewed: boolean) => {},
432
467
  dirverReviews?: any,
433
468
  setDriverReviews?: any,
434
- handleSendDriverReview?: any
469
+ handleSendDriverReview?: any;
435
470
  }
436
471
  export interface MessagesParams {
437
472
  type?: string,
@@ -529,7 +564,9 @@ export interface OrderTypeSelectParams {
529
564
  defaultValue?: number;
530
565
  configTypes?: Array<any>;
531
566
  orderTypes: Array<any>;
532
- setOrderTypeValue?: (value: number) => any
567
+ setOrderTypeValue?: (value: number) => any,
568
+ isChewLayout?: boolean;
569
+ chewOrderTypes?: any;
533
570
  }
534
571
  export interface UpsellingProductsParams {
535
572
  isCustomMode?: boolean;
@@ -615,12 +652,20 @@ export interface NoNetworkParams {
615
652
  }
616
653
 
617
654
  export interface PlaceSpotParams {
618
- isOpenPlaceSpot?: boolean,
655
+ isCheckout?: any,
656
+ isInputMode?: any,
619
657
  cart?: any,
658
+ spotNumberDefault?: any,
659
+ vehicleDefault?: any,
660
+ spotNumber?: any,
661
+ setSpotNumber?: any,
662
+ orderTypes?: any,
620
663
  placesState?: any,
621
664
  handleChangePlace?: any,
622
- getPlacesList?: any,
623
- setOpenPlaceModal?: any
665
+ spotState?: any,
666
+ vehicle?: any,
667
+ setVehicle?: any,
668
+ handleChangeSpot?: any
624
669
  }
625
670
 
626
671
  export interface PromotionParams {
@@ -645,7 +690,8 @@ export interface otpParams {
645
690
  setWillVerifyOtpState: (val: boolean) => void,
646
691
  onSubmit: () => void,
647
692
  handleLoginOtp: (code: string) => void,
648
- setAlertState: any
693
+ setAlertState: any;
694
+ pinCount: number;
649
695
  }
650
696
 
651
697
  export interface FavoriteParams {
@@ -671,7 +717,9 @@ export interface SingleOrderCardParams {
671
717
  onNavigationRedirect?: (route: string, params?: any) => {},
672
718
  pastOrders: any,
673
719
  isMessageView?: any,
674
- handleClickOrder: (value: any) => {}
720
+ handleClickOrder: (value: any) => {},
721
+ handleRemoveCart: () => {},
722
+ cartState: any
675
723
  }
676
724
 
677
725
  export interface PreviousBusinessOrderedParams {
@@ -681,11 +729,54 @@ export interface PreviousBusinessOrderedParams {
681
729
  businessId?: number,
682
730
  onNavigationRedirect?: any,
683
731
  isBusinessesSearchList?: any,
684
- businessLoading?: boolean
732
+ businessLoading?: boolean,
733
+ businesses?: any
734
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
735
+ }
736
+
737
+ export interface ServiceFormParams {
738
+ navigation?: any,
739
+ professionalSelected: any,
740
+ product: any,
741
+ handleSave: (value?: any) => {}
742
+ productCart?: any
743
+ isSoldOut: boolean,
744
+ maxProductQuantity: any,
745
+ businessSlug?: string,
746
+ onClose: any,
747
+ professionalList: any,
748
+ productObject?: any,
749
+ professionalListState?: any,
750
+ isCartProduct?: any
751
+ }
752
+
753
+ export interface ProfessionalFilterParams {
754
+ professionals?: any,
755
+ professionalSelected?: any,
756
+ handleChangeProfessionalSelected: any
757
+ }
758
+
759
+ export interface ProfessionalProfileParams {
760
+ professional: any,
761
+ handleChangeProfessionalSelected: any,
762
+ onClose: any
763
+ }
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
685
774
  }
686
775
 
687
776
  export interface PreviousProductsOrderedParams {
688
777
  products?: any,
778
+ isProductId?: boolean
689
779
  onProductClick?: any,
690
780
  isBusinessesSearchList?: boolean
781
+ handleUpdateProducts?: any
691
782
  }
@@ -40,6 +40,72 @@ export const getTraduction = (key: string) => {
40
40
  return keyList[key] ? t(key, keyList[key]) : t(key)
41
41
  }
42
42
 
43
+ /**
44
+ * Change local moment variables
45
+ */
46
+ export const setLocalMoment = (moment : any, t : any) => {
47
+ moment.locale('custom', {
48
+ 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')
61
+ ],
62
+ 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')
75
+ ],
76
+ 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')
84
+ ],
85
+ 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')
93
+ ],
94
+ 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')
102
+ ],
103
+ meridiem : function (hours : any) {
104
+ return hours < 12 ? t('AM', 'AM') : t('PM','PM');
105
+ }
106
+ })
107
+ }
108
+
43
109
  /**
44
110
  * Function to convert delivery time in minutes
45
111
  * @param {string} time business delivery time
@@ -229,3 +295,14 @@ export const formatSeconds = (seconds : number) => {
229
295
  ret += '' + secs
230
296
  return ret
231
297
  }
298
+
299
+ /**
300
+ * List of price to filter businesses
301
+ */
302
+ export const priceList = [
303
+ { level: '1', content: '$' },
304
+ { level: '2', content: '$$' },
305
+ { level: '3', content: '$$$' },
306
+ { level: '4', content: '$$$$' },
307
+ { level: '5', content: '$$$$$' }
308
+ ]
@@ -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}>