ordering-ui-react-native 0.15.68 → 0.15.70-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 (220) hide show
  1. package/package.json +7 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +1 -1
  5. package/src/components/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessController/index.tsx +16 -8
  8. package/src/components/BusinessInformation/index.tsx +14 -0
  9. package/src/components/BusinessTypeFilter/index.tsx +1 -2
  10. package/src/components/BusinessesListing/index.tsx +1 -1
  11. package/src/components/Checkout/index.tsx +23 -2
  12. package/src/components/DriverTips/index.tsx +11 -6
  13. package/src/components/LanguageSelector/index.tsx +6 -2
  14. package/src/components/LoginForm/index.tsx +120 -30
  15. package/src/components/LoginForm/styles.tsx +6 -0
  16. package/src/components/NotificationSetting/index.tsx +85 -0
  17. package/src/components/OrderDetails/index.tsx +7 -21
  18. package/src/components/PaymentOptions/index.tsx +67 -50
  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 +145 -61
  24. package/src/components/SingleProductCard/index.tsx +16 -4
  25. package/src/components/SingleProductReview/index.tsx +1 -1
  26. package/src/components/StripeMethodForm/index.tsx +22 -24
  27. package/src/components/UpsellingProducts/index.tsx +1 -1
  28. package/src/components/UserProfileForm/index.tsx +63 -6
  29. package/src/components/UserProfileForm/styles.tsx +8 -0
  30. package/src/components/VerifyPhone/styles.tsx +1 -2
  31. package/src/components/shared/OBottomPopup.tsx +6 -2
  32. package/src/components/shared/OModal.tsx +1 -1
  33. package/src/hooks/useCountdownTimer.tsx +26 -0
  34. package/src/index.tsx +2 -0
  35. package/src/navigators/CheckoutNavigator.tsx +6 -0
  36. package/src/navigators/HomeNavigator.tsx +12 -0
  37. package/src/pages/BusinessesListing.tsx +7 -6
  38. package/src/pages/MultiCheckout.tsx +31 -0
  39. package/src/pages/MultiOrdersDetails.tsx +27 -0
  40. package/src/pages/OrderDetails.tsx +1 -1
  41. package/src/pages/ReviewDriver.tsx +2 -2
  42. package/src/pages/ReviewOrder.tsx +2 -2
  43. package/src/pages/Sessions.tsx +22 -0
  44. package/src/theme.json +0 -1
  45. package/src/types/index.tsx +18 -11
  46. package/src/utils/index.tsx +68 -2
  47. package/themes/business/index.tsx +4 -0
  48. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +103 -15
  49. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -0
  50. package/themes/business/src/components/Chat/index.tsx +51 -91
  51. package/themes/business/src/components/DriverMap/index.tsx +6 -5
  52. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  53. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  54. package/themes/business/src/components/LoginForm/index.tsx +89 -2
  55. package/themes/business/src/components/LoginForm/styles.tsx +6 -0
  56. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  57. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -13
  58. package/themes/business/src/components/OrderDetails/Business.tsx +2 -2
  59. package/themes/business/src/components/OrderDetails/Delivery.tsx +28 -11
  60. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +14 -7
  61. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +6 -0
  62. package/themes/business/src/components/OrdersListManager/index.tsx +11 -4
  63. package/themes/business/src/components/OrdersOption/index.tsx +16 -4
  64. package/themes/business/src/components/PreviousOrders/index.tsx +7 -7
  65. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  66. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  67. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  68. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  69. package/themes/business/src/components/shared/OModal.tsx +41 -38
  70. package/themes/business/src/types/index.tsx +14 -7
  71. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  72. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  73. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  74. package/themes/kiosk/src/components/BusinessMenu/index.tsx +39 -28
  75. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -3
  76. package/themes/kiosk/src/components/Cart/index.tsx +11 -12
  77. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +9 -2
  78. package/themes/kiosk/src/components/CartContent/index.tsx +0 -11
  79. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  80. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +107 -62
  81. package/themes/kiosk/src/components/Checkout/index.tsx +40 -22
  82. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  83. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  84. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  85. package/themes/kiosk/src/components/NavBar/index.tsx +29 -20
  86. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  87. package/themes/kiosk/src/components/OrderDetails/index.tsx +32 -27
  88. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +9 -11
  89. package/themes/kiosk/src/components/PaymentOptions/index.tsx +56 -54
  90. package/themes/kiosk/src/components/ProductForm/index.tsx +7 -8
  91. package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +2 -2
  92. package/themes/kiosk/src/components/ProductOption/index.tsx +1 -1
  93. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +3 -1
  94. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +16 -5
  95. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  96. package/themes/kiosk/src/types/index.d.ts +1 -0
  97. package/themes/original/index.tsx +24 -0
  98. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  99. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  100. package/themes/original/src/components/AddressForm/index.tsx +7 -6
  101. package/themes/original/src/components/AddressList/index.tsx +30 -18
  102. package/themes/original/src/components/AppleLogin/index.tsx +6 -8
  103. package/themes/original/src/components/BusinessBasicInformation/index.tsx +304 -158
  104. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  105. package/themes/original/src/components/BusinessController/index.tsx +201 -96
  106. package/themes/original/src/components/BusinessController/styles.tsx +5 -0
  107. package/themes/original/src/components/BusinessItemAccordion/index.tsx +8 -5
  108. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  109. package/themes/original/src/components/BusinessListingSearch/index.tsx +231 -63
  110. package/themes/original/src/components/BusinessListingSearch/styles.tsx +22 -2
  111. package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
  112. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
  113. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  114. package/themes/original/src/components/BusinessProductsList/index.tsx +70 -52
  115. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  116. package/themes/original/src/components/BusinessProductsListing/index.tsx +342 -154
  117. package/themes/original/src/components/BusinessProductsListing/styles.tsx +33 -0
  118. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  119. package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -39
  120. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  121. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +560 -0
  122. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
  123. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +671 -0
  124. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  125. package/themes/original/src/components/BusinessesListing/index.tsx +104 -458
  126. package/themes/original/src/components/Cart/index.tsx +93 -43
  127. package/themes/original/src/components/Cart/styles.tsx +4 -0
  128. package/themes/original/src/components/Checkout/index.tsx +90 -39
  129. package/themes/original/src/components/DriverTips/index.tsx +17 -12
  130. package/themes/original/src/components/Favorite/index.tsx +92 -0
  131. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  132. package/themes/original/src/components/FavoriteList/index.tsx +298 -0
  133. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  134. package/themes/original/src/components/ForgotPasswordForm/index.tsx +84 -4
  135. package/themes/original/src/components/GPSButton/index.tsx +15 -8
  136. package/themes/original/src/components/GoogleMap/index.tsx +11 -11
  137. package/themes/original/src/components/Help/index.tsx +21 -4
  138. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  139. package/themes/original/src/components/LastOrders/index.tsx +12 -1
  140. package/themes/original/src/components/LoginForm/Otp/index.tsx +91 -0
  141. package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
  142. package/themes/original/src/components/LoginForm/index.tsx +332 -164
  143. package/themes/original/src/components/LoginForm/styles.tsx +1 -3
  144. package/themes/original/src/components/MessageListing/index.tsx +10 -1
  145. package/themes/original/src/components/Messages/index.tsx +1 -1
  146. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  147. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  148. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  149. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  150. package/themes/original/src/components/MultiCheckout/index.tsx +298 -0
  151. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  152. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  153. package/themes/original/src/components/MultiOrdersDetails/index.tsx +258 -0
  154. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  155. package/themes/original/src/components/MyOrders/index.tsx +120 -32
  156. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  157. package/themes/original/src/components/NavBar/index.tsx +4 -4
  158. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  159. package/themes/original/src/components/OrderDetails/index.tsx +148 -63
  160. package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
  161. package/themes/original/src/components/OrderItAgain/index.tsx +72 -0
  162. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  163. package/themes/original/src/components/OrderSummary/index.tsx +6 -6
  164. package/themes/original/src/components/OrderTypeSelector/index.tsx +79 -35
  165. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  166. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +153 -0
  167. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  168. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +53 -0
  169. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  170. package/themes/original/src/components/OrdersOption/index.tsx +137 -38
  171. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  172. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  173. package/themes/original/src/components/PaymentOptionWallet/index.tsx +17 -23
  174. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
  175. package/themes/original/src/components/PaymentOptions/index.tsx +58 -37
  176. package/themes/original/src/components/PhoneInputNumber/index.tsx +5 -11
  177. package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
  178. package/themes/original/src/components/ProductForm/index.tsx +718 -679
  179. package/themes/original/src/components/ProductForm/styles.tsx +9 -7
  180. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  181. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  182. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
  183. package/themes/original/src/components/ProfessionalFilter/index.tsx +128 -0
  184. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  185. package/themes/original/src/components/ProfessionalProfile/index.tsx +298 -0
  186. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  187. package/themes/original/src/components/Promotions/index.tsx +151 -133
  188. package/themes/original/src/components/Promotions/styles.tsx +2 -1
  189. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  190. package/themes/original/src/components/ReviewOrder/index.tsx +1 -1
  191. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  192. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  193. package/themes/original/src/components/SearchBar/index.tsx +13 -5
  194. package/themes/original/src/components/ServiceForm/index.tsx +579 -0
  195. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  196. package/themes/original/src/components/Sessions/index.tsx +160 -0
  197. package/themes/original/src/components/Sessions/styles.tsx +15 -0
  198. package/themes/original/src/components/SignupForm/index.tsx +237 -126
  199. package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
  200. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  201. package/themes/original/src/components/SingleProductCard/index.tsx +214 -90
  202. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  203. package/themes/original/src/components/StripeElementsForm/index.tsx +16 -8
  204. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  205. package/themes/original/src/components/UpsellingProducts/index.tsx +86 -74
  206. package/themes/original/src/components/UserDetails/index.tsx +32 -18
  207. package/themes/original/src/components/UserFormDetails/index.tsx +102 -66
  208. package/themes/original/src/components/UserProfile/index.tsx +10 -1
  209. package/themes/original/src/components/UserProfileForm/index.tsx +32 -25
  210. package/themes/original/src/components/UserVerification/index.tsx +178 -192
  211. package/themes/original/src/components/Wallets/index.tsx +25 -12
  212. package/themes/original/src/components/shared/OBottomPopup.tsx +44 -13
  213. package/themes/original/src/components/shared/OButton.tsx +2 -0
  214. package/themes/original/src/components/shared/OInput.tsx +3 -2
  215. package/themes/original/src/components/shared/OModal.tsx +4 -2
  216. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  217. package/themes/original/src/types/index.tsx +203 -35
  218. package/themes/original/src/utils/index.tsx +94 -1
  219. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +1 -1
  220. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,10 +1,11 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import { StyleSheet, View, TouchableOpacity } from 'react-native';
3
- import { useUtils, useOrder, useLanguage } from 'ordering-components/native';
2
+ import { StyleSheet, View, TouchableOpacity, Linking, Pressable } from 'react-native';
3
+ import { useUtils, useOrder, useLanguage, useOrderingTheme } from 'ordering-components/native';
4
4
  import { useTheme } from 'styled-components/native';
5
5
  import { OIcon, OText, OModal } from '../shared';
6
6
  import { BusinessBasicInformationParams } from '../../types';
7
7
  import { convertHoursToMinutes, shape } from '../../utils';
8
+ import MaterialComIcon from 'react-native-vector-icons/MaterialCommunityIcons'
8
9
  import dayjs from 'dayjs';
9
10
  import timezone from 'dayjs/plugin/timezone';
10
11
  import isBetween from 'dayjs/plugin/isBetween';
@@ -21,7 +22,8 @@ import {
21
22
  WrapReviews,
22
23
  WrapBusinessInfo,
23
24
  TitleWrapper,
24
- RibbonBox
25
+ RibbonBox,
26
+ SocialListWrapper
25
27
  } from './styles';
26
28
  import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
27
29
  const types = ['food', 'laundry', 'alcohol', 'groceries'];
@@ -36,6 +38,7 @@ export const BusinessBasicInformation = (
36
38
  const { business, loading } = businessState;
37
39
 
38
40
  const theme = useTheme();
41
+ const [orderingTheme] = useOrderingTheme()
39
42
  const [orderState] = useOrder();
40
43
  const [, t] = useLanguage();
41
44
  const [{ parsePrice, parseDistance, optimizeImage }] = useUtils();
@@ -43,6 +46,77 @@ export const BusinessBasicInformation = (
43
46
  const [openBusinessReviews, setOpenBusinessReviews] = useState(false);
44
47
  const [businessInformationObtained, setBusinessInformationObtained] = useState(false)
45
48
  const [businessReviewsObtained, setBusinessReviewsObtainedbtained] = useState(false)
49
+ const isChewLayout = orderingTheme?.theme?.business_view?.components?.header?.components?.layout?.type === 'chew'
50
+ const showLogo = !orderingTheme?.theme?.business_view?.components?.header?.components?.business?.components?.logo?.hidden
51
+
52
+ const styles = StyleSheet.create({
53
+ businesInfoheaderStyle: {
54
+ height: 150,
55
+ },
56
+ headerStyle: {
57
+ height: isChewLayout ? 170 : 260,
58
+ },
59
+ businessLogo: {
60
+ width: 72,
61
+ height: 72,
62
+ borderRadius: 7.6,
63
+ justifyContent: 'flex-start',
64
+ alignItems: 'flex-start',
65
+ },
66
+ businessInfo: {
67
+ paddingHorizontal: 40,
68
+ paddingTop: isChewLayout ? 0 : 56,
69
+ },
70
+ bullet: {
71
+ flexDirection: 'row',
72
+ alignItems: 'center',
73
+ },
74
+ metadata: {
75
+ marginRight: 2,
76
+ },
77
+ starIcon: {
78
+ marginHorizontal: 5,
79
+ },
80
+ reviewStyle: {
81
+ flexDirection: 'row',
82
+ alignItems: 'center',
83
+ justifyContent: 'center'
84
+ },
85
+ modalTitleSectionStyle: {
86
+ position: 'absolute',
87
+ width: '100%',
88
+ top: 0,
89
+ zIndex: 100,
90
+ left: 40
91
+ },
92
+ socialIcon: {
93
+ borderRadius: 3,
94
+ borderColor: theme.colors.border,
95
+ borderWidth: isChewLayout ? 0 : 1,
96
+ width: 20,
97
+ height: 20,
98
+ justifyContent: 'center',
99
+ alignItems: 'center',
100
+ marginRight: 5,
101
+ marginBottom: 7
102
+ },
103
+ tiktokIcon: {
104
+ height: 12,
105
+ width: 12,
106
+ margin: 0,
107
+ padding: 0
108
+ },
109
+ headerChewStyle: {
110
+ paddingHorizontal: 30,
111
+ justifyContent: 'center',
112
+ height: '100%'
113
+ },
114
+ socialIconsChewContainer: {
115
+ flexDirection: 'row',
116
+ justifyContent: 'flex-start',
117
+ marginTop: 5
118
+ }
119
+ });
46
120
 
47
121
  const handleClickBusinessInformation = () => {
48
122
  if (!businessInformationObtained) {
@@ -73,6 +147,19 @@ export const BusinessBasicInformation = (
73
147
  return _types.join(', ');
74
148
  };
75
149
 
150
+ const SocialNetWork = (props: any) => {
151
+ const { socialLink, iconTitle } = props
152
+
153
+ return (
154
+ <TouchableOpacity style={styles.socialIcon} onPress={() => Linking.openURL(socialLink)}>
155
+ <MaterialComIcon
156
+ name={iconTitle}
157
+ color={isChewLayout ? theme.colors.black : theme.colors.textNormal}
158
+ size={isChewLayout ? 18 : 14}
159
+ />
160
+ </TouchableOpacity>
161
+ )
162
+ }
76
163
 
77
164
  useEffect(() => {
78
165
  if (businessState?.loading) return
@@ -98,9 +185,83 @@ export const BusinessBasicInformation = (
98
185
  }
99
186
  }, [businessState?.business])
100
187
 
188
+ const SocialIcons = () => {
189
+ return (
190
+ <>
191
+ {loading ? (
192
+ <Placeholder Animation={Fade}>
193
+ <View style={{ flexDirection: 'row' }}>
194
+ {[...Array(5).keys()].map(i => (
195
+ <View style={styles.socialIcon} key={i}>
196
+ <PlaceholderLine width={100} height={20} style={{ marginBottom: 0 }} />
197
+ </View>
198
+ ))}
199
+ </View>
200
+ </Placeholder>
201
+ ) : (
202
+ <SocialListWrapper
203
+ showsVerticalScrollIndicator={false}
204
+ showsHorizontalScrollIndicator={false}
205
+ horizontal
206
+ contentContainerStyle={{ flex: 1 }}
207
+ >
208
+ {!!business?.facebook_profile && (
209
+ <SocialNetWork
210
+ socialLink={business?.facebook_profile}
211
+ iconTitle='facebook'
212
+ />
213
+ )}
214
+ {!!business?.instagram_profile && (
215
+ <SocialNetWork
216
+ socialLink={business?.instagram_profile}
217
+ iconTitle='instagram'
218
+ />
219
+ )}
220
+ {!!business?.tiktok_profile && (
221
+ <Pressable style={styles.socialIcon} onPress={() => Linking.openURL(business?.tiktok_profile)}>
222
+ <View style={styles.tiktokIcon}>
223
+ <OIcon
224
+ src={theme.images.general.tiktok}
225
+ style={{ width: '100%', height: '100%' }}
226
+ />
227
+ </View>
228
+ </Pressable>
229
+ )}
230
+ {!!business?.pinterest_profile && (
231
+ <SocialNetWork
232
+ socialLink={business?.pinterest_profile}
233
+ iconTitle='pinterest'
234
+ />
235
+ )}
236
+ {!!business?.whatsapp_number && (
237
+ <SocialNetWork
238
+ socialLink={business?.whatsapp_number}
239
+ iconTitle='whatsapp'
240
+ />
241
+ )}
242
+ {!!business?.snapchat_profile && (
243
+ <SocialNetWork
244
+ socialLink={business?.snapchat_profile}
245
+ iconTitle='snapchat'
246
+ />
247
+ )}
248
+ {isChewLayout && (
249
+ <TouchableOpacity onPress={() => handleClickBusinessInformation()}>
250
+ <OText style={{textDecorationColor: theme.colors.black, textDecorationLine: 'underline'}}>
251
+ {t('SEE_MORE_DESCRIPTION', 'See more')}
252
+ </OText>
253
+ </TouchableOpacity>
254
+ )}
255
+ </SocialListWrapper>
256
+ )}
257
+ </>
258
+ )
259
+ }
260
+
101
261
  return (
102
- <BusinessContainer>
262
+ <BusinessContainer isChewLayout={isChewLayout && !showLogo}>
103
263
  <BusinessHeader
264
+ isChewLayout={isChewLayout}
104
265
  style={
105
266
  isBusinessInfoShow
106
267
  ? styles.businesInfoheaderStyle
@@ -110,137 +271,164 @@ export const BusinessBasicInformation = (
110
271
  uri:
111
272
  header ||
112
273
  optimizeImage(businessState?.business?.header, 'h_250,c_limit'),
113
- }}>
114
- {!isBusinessInfoShow && (
274
+ }}
275
+ imageStyle={{ opacity: isChewLayout ? 0.5 : 1 }}
276
+ >
277
+ {!isBusinessInfoShow && !isChewLayout && (
115
278
  <WrapBusinessInfo onPress={() => handleClickBusinessInformation()}>
116
279
  <OIcon src={theme.images.general.info} width={24} />
117
280
  </WrapBusinessInfo>
118
281
  )}
282
+ {isChewLayout && (
283
+ <View style={styles.headerChewStyle}>
284
+ <OText size={24} weight={'600'} mBottom={-5}>
285
+ {business?.name}
286
+ </OText>
287
+ {business?.city?.name && (
288
+ <OText>
289
+ {business?.city?.name}
290
+ </OText>
291
+ )}
292
+ <View style={styles.socialIconsChewContainer}>
293
+ <SocialIcons />
294
+ </View>
295
+ </View>
296
+ )}
119
297
  </BusinessHeader>
120
298
  <BusinessInfo style={styles.businessInfo}>
121
- <BusinessLogo>
122
- {loading ? (
123
- <View>
124
- <Placeholder Animation={Fade}>
125
- <PlaceholderLine height={50} width={20} />
126
- </Placeholder>
127
- </View>
128
- ) : (
129
- !isBusinessInfoShow && (
130
- <OIcon
131
- url={
132
- logo ||
133
- optimizeImage(businessState?.business?.logo, 'h_70,c_limit')
134
- }
135
- style={styles.businessLogo}
136
- />
137
- )
138
- )}
139
- </BusinessLogo>
140
- <BusinessInfoItem>
141
- {loading ? (
142
- <Placeholder Animation={Fade}>
143
- <PlaceholderLine height={30} width={20} />
144
- </Placeholder>
145
- ) : (
146
- <TitleWrapper>
147
- <OText size={24} weight={'600'}>
148
- {business?.name}
149
- </OText>
150
- {business?.ribbon?.enabled && (
151
- <RibbonBox
152
- bgColor={business?.ribbon?.color}
153
- isRoundRect={business?.ribbon?.shape === shape?.rectangleRound}
154
- isCapsule={business?.ribbon?.shape === shape?.capsuleShape}
155
- >
156
- <OText
157
- size={10}
158
- weight={'400'}
159
- color={theme.colors.white}
160
- numberOfLines={2}
161
- ellipsizeMode='tail'
162
- lineHeight={13}
163
- >
164
- {business?.ribbon?.text}
299
+ {showLogo && (
300
+ <BusinessLogo isChewLayout={isChewLayout}>
301
+ {loading ? (
302
+ <View>
303
+ <Placeholder Animation={Fade}>
304
+ <PlaceholderLine height={50} width={20} />
305
+ </Placeholder>
306
+ </View>
307
+ ) : (
308
+ !isBusinessInfoShow && (
309
+ <OIcon
310
+ url={
311
+ logo ||
312
+ optimizeImage(businessState?.business?.logo, 'h_70,c_limit')
313
+ }
314
+ style={styles.businessLogo}
315
+ />
316
+ )
317
+ )}
318
+ </BusinessLogo>
319
+ )}
320
+ {!isChewLayout && (
321
+
322
+ <>
323
+ <BusinessInfoItem>
324
+ {loading ? (
325
+ <Placeholder Animation={Fade}>
326
+ <PlaceholderLine height={30} width={20} />
327
+ </Placeholder>
328
+ ) : (
329
+ <TitleWrapper>
330
+ <OText size={24} weight={'600'} numberOfLines={2}>
331
+ {business?.name}
165
332
  </OText>
166
- </RibbonBox>
333
+ {business?.ribbon?.enabled && (
334
+ <RibbonBox
335
+ bgColor={business?.ribbon?.color}
336
+ isRoundRect={business?.ribbon?.shape === shape?.rectangleRound}
337
+ isCapsule={business?.ribbon?.shape === shape?.capsuleShape}
338
+ >
339
+ <OText
340
+ size={10}
341
+ weight={'400'}
342
+ color={theme.colors.white}
343
+ numberOfLines={2}
344
+ ellipsizeMode='tail'
345
+ lineHeight={13}
346
+ >
347
+ {business?.ribbon?.text}
348
+ </OText>
349
+ </RibbonBox>
350
+ )}
351
+ </TitleWrapper>
167
352
  )}
168
- </TitleWrapper>
169
- )}
170
- </BusinessInfoItem>
171
- {loading ? (
172
- <Placeholder Animation={Fade}>
173
- <PlaceholderLine width={10} />
174
- </Placeholder>
175
- ) : (
176
- <View style={{ width: '75%' }}>
177
- <OText color={theme.colors.textNormal}>{getBusinessType()}</OText>
178
- </View>
179
- )}
180
- <View>
181
- <BusinessInfoItem>
182
- {loading && (
353
+ </BusinessInfoItem>
354
+ {loading ? (
183
355
  <Placeholder Animation={Fade}>
184
- <View style={{ flexDirection: 'row' }}>
185
- <PlaceholderLine width={13} style={{ marginRight: 10 }} />
186
- <PlaceholderLine width={13} style={{ marginRight: 10 }} />
187
- <PlaceholderLine width={13} style={{ marginRight: 10 }} />
188
- <PlaceholderLine width={13} />
189
- </View>
356
+ <PlaceholderLine width={10} />
190
357
  </Placeholder>
358
+ ) : (
359
+ <View style={{ width: '75%' }}>
360
+ <OText color={theme.colors.textNormal}>{getBusinessType()}</OText>
361
+ </View>
191
362
  )}
192
- <View style={styles.bullet}>
193
- <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
194
- {`${t('DELIVERY_FEE', 'Delivery fee')} ${business && parsePrice(business?.delivery_price || 0)} \u2022 `}
195
- </OText>
196
- {orderState?.options?.type === 1 ? (
197
- <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
198
- {convertHoursToMinutes(business?.delivery_time) + ` \u2022 `}
199
- </OText>
200
- ) : (
201
- <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
202
- {convertHoursToMinutes(business?.pickup_time) + ` \u2022 `}
203
- </OText>
204
- )}
205
- <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
206
- {parseDistance(business?.distance || 0) + ` \u2022 `}
207
- </OText>
208
- </View>
363
+ {!isChewLayout && (
364
+ <SocialIcons />
365
+ )}
366
+ <View>
367
+ <BusinessInfoItem>
368
+ {loading && (
369
+ <Placeholder Animation={Fade}>
370
+ <View style={{ flexDirection: 'row' }}>
371
+ <PlaceholderLine width={13} style={{ marginRight: 10 }} />
372
+ <PlaceholderLine width={13} style={{ marginRight: 10 }} />
373
+ <PlaceholderLine width={13} style={{ marginRight: 10 }} />
374
+ <PlaceholderLine width={13} />
375
+ </View>
376
+ </Placeholder>
377
+ )}
378
+ <View style={styles.bullet}>
379
+ <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
380
+ {`${t('DELIVERY_FEE', 'Delivery fee')} ${business && parsePrice(business?.delivery_price || 0)} \u2022 `}
381
+ </OText>
382
+ {orderState?.options?.type === 1 ? (
383
+ <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
384
+ {convertHoursToMinutes(business?.delivery_time) + ` \u2022 `}
385
+ </OText>
386
+ ) : (
387
+ <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
388
+ {convertHoursToMinutes(business?.pickup_time) + ` \u2022 `}
389
+ </OText>
390
+ )}
391
+ <OText color={theme.colors.textSecondary} size={12} style={styles.metadata}>
392
+ {parseDistance(business?.distance || 0) + ` \u2022 `}
393
+ </OText>
394
+ </View>
209
395
 
210
- <View style={styles.reviewStyle}>
211
- <OIcon
212
- src={theme.images.general.star}
213
- width={14}
214
- color={theme.colors.textSecondary}
215
- style={{ marginTop: -2, marginEnd: 2 }}
216
- />
217
- <OText size={12} color={theme.colors.textSecondary}>
218
- {business?.reviews?.total}
219
- </OText>
396
+ <View style={styles.reviewStyle}>
397
+ <OIcon
398
+ src={theme.images.general.star}
399
+ width={14}
400
+ color={theme.colors.textSecondary}
401
+ style={{ marginTop: -2, marginEnd: 2 }}
402
+ />
403
+ <OText size={12} color={theme.colors.textSecondary}>
404
+ {business?.reviews?.total}
405
+ </OText>
406
+ </View>
407
+ </BusinessInfoItem>
220
408
  </View>
221
- </BusinessInfoItem>
222
- </View>
223
- <WrapReviews>
224
- {!isBusinessInfoShow && (
225
- <>
226
- {isPreOrder && (
409
+ <WrapReviews>
410
+ {!isBusinessInfoShow && (
227
411
  <>
228
- <TouchableOpacity onPress={() => navigation.navigate('BusinessPreorder', { business: businessState?.business, handleBusinessClick: () => navigation?.goBack() })}>
412
+ {isPreOrder && (!business?.professionals || business?.professionals?.length === 0) && (
413
+ <>
414
+ <TouchableOpacity onPress={() => navigation.navigate('BusinessPreorder', { business: businessState?.business, handleBusinessClick: () => navigation?.goBack() })}>
415
+ <OText color={theme.colors.textSecondary} style={{ textDecorationLine: 'underline' }}>
416
+ {t('PRE_ORDER', 'Preorder')}
417
+ </OText>
418
+ </TouchableOpacity>
419
+ <OText size={12} color={theme.colors.textSecondary}>{' \u2022 '}</OText>
420
+ </>
421
+ )}
422
+ <TouchableOpacity onPress={() => handleClickBusinessReviews()}>
229
423
  <OText color={theme.colors.textSecondary} style={{ textDecorationLine: 'underline' }}>
230
- {t('PRE_ORDER', 'Preorder')}
424
+ {t('REVIEWS', 'Reviews')}
231
425
  </OText>
232
426
  </TouchableOpacity>
233
- <OText size={12} color={theme.colors.textSecondary}>{' \u2022 '}</OText>
234
427
  </>
235
428
  )}
236
- <TouchableOpacity onPress={() => handleClickBusinessReviews()}>
237
- <OText color={theme.colors.textSecondary} style={{ textDecorationLine: 'underline' }}>
238
- {t('REVIEWS', 'Reviews')}
239
- </OText>
240
- </TouchableOpacity>
241
- </>
242
- )}
243
- </WrapReviews>
429
+ </WrapReviews>
430
+ </>
431
+ )}
244
432
  </BusinessInfo>
245
433
  {businessInformationObtained ? (
246
434
  <OModal
@@ -276,45 +464,3 @@ export const BusinessBasicInformation = (
276
464
  </BusinessContainer>
277
465
  );
278
466
  };
279
-
280
- const styles = StyleSheet.create({
281
- businesInfoheaderStyle: {
282
- height: 150,
283
- },
284
- headerStyle: {
285
- height: 260,
286
- },
287
- businessLogo: {
288
- width: 72,
289
- height: 72,
290
- borderRadius: 7.6,
291
- justifyContent: 'flex-start',
292
- alignItems: 'flex-start',
293
- },
294
- businessInfo: {
295
- paddingHorizontal: 40,
296
- paddingTop: 56,
297
- },
298
- bullet: {
299
- flexDirection: 'row',
300
- alignItems: 'center',
301
- },
302
- metadata: {
303
- marginRight: 2,
304
- },
305
- starIcon: {
306
- marginHorizontal: 5,
307
- },
308
- reviewStyle: {
309
- flexDirection: 'row',
310
- alignItems: 'center',
311
- justifyContent: 'center'
312
- },
313
- modalTitleSectionStyle: {
314
- position: 'absolute',
315
- width: '100%',
316
- top: 0,
317
- zIndex: 100,
318
- left: 40
319
- },
320
- });
@@ -3,7 +3,7 @@ import { Platform } from 'react-native';
3
3
 
4
4
  export const BusinessContainer = styled.View`
5
5
  flex-direction: column;
6
- padding-bottom: 35px;
6
+ padding-bottom: ${(props: any) => props.isChewLayout ? '0' : '35px'};
7
7
  `;
8
8
  export const BusinessHeader = styled.ImageBackground`
9
9
  width: 100%;
@@ -20,7 +20,7 @@ export const BusinessLogo = styled.View`
20
20
  box-shadow: 0 0 2px ${Platform.OS == 'android' ? '#000000DD' : '#0000001A'};
21
21
  elevation: 2;
22
22
  background-color: white;
23
- border-radius: 7.6px;
23
+ border-radius: 7.6px;
24
24
  `;
25
25
  export const BusinessInfo = styled.View`
26
26
  justify-content: flex-start;
@@ -68,3 +68,7 @@ export const RibbonBox = styled.View`
68
68
  border-radius: 50px;
69
69
  `}
70
70
  `
71
+
72
+ export const SocialListWrapper = styled.ScrollView`
73
+ flex-direction: row;
74
+ `