ordering-ui-react-native 0.17.49 → 0.17.50-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 (219) hide show
  1. package/package.json +8 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/OrderCreating/index.tsx +1 -21
  5. package/src/components/PaymentOptionsWebView/index.tsx +29 -8
  6. package/src/components/PhoneInputNumber/index.tsx +6 -2
  7. package/src/components/StripeMethodForm/index.tsx +136 -102
  8. package/src/components/VerifyPhone/styles.tsx +1 -2
  9. package/src/components/shared/OToast.tsx +4 -4
  10. package/src/types/index.tsx +5 -0
  11. package/src/utils/index.tsx +7 -1
  12. package/themes/business/index.tsx +2 -0
  13. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
  14. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  15. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  16. package/themes/business/src/components/Chat/index.tsx +125 -113
  17. package/themes/business/src/components/DriverMap/index.tsx +17 -6
  18. package/themes/business/src/components/DriverSchedule/index.tsx +29 -2
  19. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  20. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  21. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  22. package/themes/business/src/components/LoginForm/index.tsx +238 -80
  23. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  24. package/themes/business/src/components/MapView/index.tsx +10 -10
  25. package/themes/business/src/components/NewOrderNotification/index.tsx +35 -21
  26. package/themes/business/src/components/OrderDetails/Delivery.tsx +30 -4
  27. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +93 -50
  28. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +59 -62
  29. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  30. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  31. package/themes/business/src/components/OrderMessage/index.tsx +18 -17
  32. package/themes/business/src/components/OrderSummary/index.tsx +113 -121
  33. package/themes/business/src/components/OrdersOption/index.tsx +32 -75
  34. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  35. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  36. package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
  37. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  38. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  39. package/themes/business/src/components/ReviewCustomer/index.tsx +29 -14
  40. package/themes/business/src/components/StoresList/index.tsx +2 -2
  41. package/themes/business/src/components/UserProfileForm/index.tsx +11 -13
  42. package/themes/business/src/components/shared/OLink.tsx +33 -13
  43. package/themes/business/src/components/shared/OModal.tsx +16 -9
  44. package/themes/business/src/components/shared/OText.tsx +8 -2
  45. package/themes/business/src/types/index.tsx +32 -2
  46. package/themes/business/src/utils/index.tsx +44 -1
  47. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  48. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  49. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  50. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  51. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  52. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  53. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  54. package/themes/kiosk/src/components/LoginForm/index.tsx +480 -156
  55. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  56. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  57. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  58. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  59. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +3 -2
  60. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  61. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  62. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  63. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  64. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  65. package/themes/kiosk/src/types/index.d.ts +13 -0
  66. package/themes/kiosk/src/utils/index.tsx +15 -0
  67. package/themes/original/index.tsx +6 -0
  68. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  69. package/themes/original/src/components/AddressForm/index.tsx +79 -44
  70. package/themes/original/src/components/AddressList/index.tsx +27 -22
  71. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  72. package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
  73. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  74. package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
  75. package/themes/original/src/components/BusinessBasicInformation/index.tsx +160 -91
  76. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -7
  77. package/themes/original/src/components/BusinessController/index.tsx +146 -68
  78. package/themes/original/src/components/BusinessController/styles.tsx +22 -2
  79. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  80. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  81. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  82. package/themes/original/src/components/BusinessItemAccordion/index.tsx +23 -22
  83. package/themes/original/src/components/BusinessListingSearch/index.tsx +352 -326
  84. package/themes/original/src/components/BusinessPreorder/index.tsx +97 -16
  85. package/themes/original/src/components/BusinessProductsList/index.tsx +23 -14
  86. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  87. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +1 -1
  88. package/themes/original/src/components/BusinessProductsListing/index.tsx +669 -513
  89. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -2
  90. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  91. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  92. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +98 -79
  93. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -11
  94. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  95. package/themes/original/src/components/Cart/index.tsx +100 -67
  96. package/themes/original/src/components/CartContent/index.tsx +115 -19
  97. package/themes/original/src/components/CartContent/styles.tsx +17 -7
  98. package/themes/original/src/components/Checkout/index.tsx +366 -173
  99. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  100. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  101. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  102. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  103. package/themes/original/src/components/DriverTips/index.tsx +52 -34
  104. package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
  105. package/themes/original/src/components/Favorite/index.tsx +8 -9
  106. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  107. package/themes/original/src/components/FavoriteList/index.tsx +51 -80
  108. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  109. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  110. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  111. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  112. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
  113. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
  114. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
  115. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
  116. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +191 -0
  117. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
  118. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
  119. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
  120. package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
  121. package/themes/original/src/components/GoogleMap/index.tsx +15 -4
  122. package/themes/original/src/components/Help/index.tsx +8 -8
  123. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +10 -31
  124. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +5 -3
  125. package/themes/original/src/components/HelpGuide/index.tsx +6 -6
  126. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  127. package/themes/original/src/components/HelpOrder/index.tsx +6 -15
  128. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  129. package/themes/original/src/components/Home/index.tsx +13 -4
  130. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  131. package/themes/original/src/components/LoginForm/Otp/index.tsx +55 -13
  132. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  133. package/themes/original/src/components/LoginForm/index.tsx +64 -26
  134. package/themes/original/src/components/LottieAnimation/index.tsx +89 -55
  135. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  136. package/themes/original/src/components/Messages/index.tsx +32 -10
  137. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  138. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  139. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +151 -49
  140. package/themes/original/src/components/MultiCheckout/index.tsx +308 -88
  141. package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
  142. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  143. package/themes/original/src/components/MultiOrdersDetails/index.tsx +68 -21
  144. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  145. package/themes/original/src/components/MyOrders/index.tsx +77 -52
  146. package/themes/original/src/components/NavBar/index.tsx +18 -18
  147. package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
  148. package/themes/original/src/components/Notifications/index.tsx +46 -50
  149. package/themes/original/src/components/Notifications/styles.tsx +6 -3
  150. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  151. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +15 -3
  152. package/themes/original/src/components/OrderDetails/index.tsx +190 -358
  153. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  154. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  155. package/themes/original/src/components/OrderProgress/index.tsx +93 -114
  156. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  157. package/themes/original/src/components/OrderSummary/index.tsx +85 -57
  158. package/themes/original/src/components/OrderTypeSelector/index.tsx +1 -1
  159. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +24 -19
  160. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
  161. package/themes/original/src/components/OrdersOption/index.tsx +76 -66
  162. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  163. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  164. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  165. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  166. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  167. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  168. package/themes/original/src/components/PaymentOptions/index.tsx +64 -7
  169. package/themes/original/src/components/PhoneInputNumber/index.tsx +3 -3
  170. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  171. package/themes/original/src/components/ProductForm/index.tsx +114 -36
  172. package/themes/original/src/components/ProductForm/styles.tsx +5 -7
  173. package/themes/original/src/components/ProductItemAccordion/index.tsx +17 -14
  174. package/themes/original/src/components/ProductOptionSubOption/index.tsx +24 -14
  175. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +3 -4
  176. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  177. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  178. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  179. package/themes/original/src/components/Promotions/index.tsx +234 -220
  180. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  181. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  182. package/themes/original/src/components/ReviewOrder/index.tsx +26 -9
  183. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  184. package/themes/original/src/components/ReviewProducts/index.tsx +23 -11
  185. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  186. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  187. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  188. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  189. package/themes/original/src/components/ServiceForm/index.tsx +66 -17
  190. package/themes/original/src/components/Sessions/index.tsx +11 -8
  191. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  192. package/themes/original/src/components/SignupForm/index.tsx +43 -20
  193. package/themes/original/src/components/SingleOrderCard/index.tsx +130 -52
  194. package/themes/original/src/components/SingleOrderCard/styles.tsx +11 -2
  195. package/themes/original/src/components/SingleProductCard/index.tsx +72 -34
  196. package/themes/original/src/components/SingleProductCard/styles.tsx +22 -4
  197. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  198. package/themes/original/src/components/StripeCardsList/index.tsx +13 -3
  199. package/themes/original/src/components/StripeElementsForm/index.tsx +67 -34
  200. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
  201. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  202. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  203. package/themes/original/src/components/UserFormDetails/index.tsx +76 -7
  204. package/themes/original/src/components/UserFormDetails/styles.tsx +1 -1
  205. package/themes/original/src/components/UserProfile/index.tsx +12 -29
  206. package/themes/original/src/components/UserProfileForm/index.tsx +27 -29
  207. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  208. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  209. package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
  210. package/themes/original/src/components/Wallets/index.tsx +67 -24
  211. package/themes/original/src/components/Wallets/styles.tsx +3 -4
  212. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  213. package/themes/original/src/components/shared/OButton.tsx +6 -2
  214. package/themes/original/src/components/shared/OInput.tsx +16 -2
  215. package/themes/original/src/components/shared/OModal.tsx +3 -3
  216. package/themes/original/src/layouts/Container.tsx +1 -1
  217. package/themes/original/src/types/index.tsx +40 -11
  218. package/themes/original/src/utils/index.tsx +375 -58
  219. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -16,6 +16,8 @@ import {
16
16
  useToast,
17
17
  ToastType
18
18
  } from 'ordering-components/native';
19
+ import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
20
+
19
21
  import { GooglePlacesAutocomplete } from 'react-native-google-places-autocomplete';
20
22
  import Spinner from 'react-native-loading-spinner-overlay';
21
23
  import { useForm, Controller } from 'react-hook-form';
@@ -38,6 +40,8 @@ import {
38
40
  import { GPSButton } from '../GPSButton';
39
41
  import { ScrollView } from 'react-native-gesture-handler';
40
42
 
43
+ const { useDeviceOrientation } = DeviceOrientationMethods
44
+
41
45
  const inputNames = [
42
46
  { name: 'address', code: 'Address' },
43
47
  { name: 'internal_number', code: 'Internal number' },
@@ -62,9 +66,13 @@ const AddressFormUI = (props: AddressFormParams) => {
62
66
  isFromProductsList,
63
67
  hasAddressDefault,
64
68
  afterSignup,
69
+ businessSlug
65
70
  } = props;
66
71
 
67
72
  const theme = useTheme();
73
+ const [orientationState] = useDeviceOrientation();
74
+
75
+ const [autoCompleteInputFocused, setAutoCompleteInputFocused] = useState(false)
68
76
 
69
77
  const tagsName = [
70
78
  { icon: theme.images.general.tag_home, value: 'home' },
@@ -73,6 +81,8 @@ const AddressFormUI = (props: AddressFormParams) => {
73
81
  { icon: theme.images.general.tag_plus, value: 'other' },
74
82
  ];
75
83
 
84
+ const HEIGHT_SCREEN = orientationState?.dimensions?.height
85
+
76
86
  const styles = StyleSheet.create({
77
87
  iconContainer: {
78
88
  display: 'flex',
@@ -83,7 +93,6 @@ const AddressFormUI = (props: AddressFormParams) => {
83
93
  backgroundColor: theme.colors.clear
84
94
  },
85
95
  inputsStyle: {
86
- borderColor: theme.colors.border,
87
96
  borderRadius: 10,
88
97
  marginBottom: 20,
89
98
  height: 50,
@@ -92,7 +101,6 @@ const AddressFormUI = (props: AddressFormParams) => {
92
101
  flex: 1,
93
102
  },
94
103
  textAreaStyles: {
95
- borderColor: theme.colors.border,
96
104
  borderRadius: 10,
97
105
  marginBottom: 20,
98
106
  height: 104,
@@ -106,10 +114,16 @@ const AddressFormUI = (props: AddressFormParams) => {
106
114
  end: 0,
107
115
  top: 12,
108
116
  zIndex: 1002,
117
+ right: autoCompleteInputFocused && (
118
+ !!address?.address ||
119
+ !!formState.changes?.address ||
120
+ !!addressState.address.address
121
+ ) ? 30 : 15,
122
+ width: 16
109
123
  },
110
124
  wrapperNavbar: Platform.OS === 'ios'
111
- ? { paddingVertical: 0, paddingHorizontal: 40 }
112
- : { paddingVertical: 20, paddingHorizontal: 40 }
125
+ ? { paddingVertical: 0, paddingLeft: 40, paddingRight: 20 }
126
+ : { paddingVertical: 10, paddingLeft: 40, paddingRight: 20 }
113
127
  });
114
128
 
115
129
  const [, t] = useLanguage();
@@ -154,13 +168,14 @@ const AddressFormUI = (props: AddressFormParams) => {
154
168
  'true';
155
169
  const maxLimitLocation =
156
170
  configState?.configs?.meters_to_change_address?.value;
157
-
158
- const continueAsGuest = () => navigation.navigate('BusinessList', { isGuestUser: true });
171
+ const countryCode = configState?.configs?.country_autocomplete?.value
172
+ const isHideMap = theme?.address?.components?.map?.hidden
173
+ const isHideIcons = theme?.address?.components?.icons?.hidden
174
+ const continueAsGuest = () => navigation.navigate(!!businessSlug ? 'Business' : 'BusinessList', { isGuestUser: true });
159
175
  const goToBack = () => navigation?.canGoBack() && navigation.goBack();
160
176
 
161
177
  const getAddressFormatted = (address: any) => {
162
178
  const data: any = { address: null, error: null };
163
- Geocoder.init(googleMapsApiKey);
164
179
  Geocoder.from(address)
165
180
  .then((json) => {
166
181
  if (json.results && json.results?.length > 0) {
@@ -336,6 +351,9 @@ const AddressFormUI = (props: AddressFormParams) => {
336
351
  map_data: { library: 'google', place_id: data.place_id },
337
352
  zip_code: data?.zip_code || null,
338
353
  };
354
+ if (googleInput?.current) {
355
+ googleInput?.current?.setAddressText(addressSelected.address);
356
+ }
339
357
  updateChanges(addressSelected);
340
358
  };
341
359
 
@@ -357,7 +375,7 @@ const AddressFormUI = (props: AddressFormParams) => {
357
375
  if (
358
376
  orderState.loading &&
359
377
  !addressesList &&
360
- orderState.options.address &&
378
+ orderState?.options?.address &&
361
379
  auth &&
362
380
  !afterSignup
363
381
  ) {
@@ -365,7 +383,7 @@ const AddressFormUI = (props: AddressFormParams) => {
365
383
  ? navigation.navigate('BottomTab')
366
384
  : navigation.navigate('Business');
367
385
  }
368
- }, [orderState.options.address]);
386
+ }, [orderState?.options?.address]);
369
387
 
370
388
  useEffect(() => {
371
389
  if (alertState.open && alertState?.key !== 'ERROR_MAX_LIMIT_LOCATION') {
@@ -418,16 +436,16 @@ const AddressFormUI = (props: AddressFormParams) => {
418
436
  if (isEditing) {
419
437
  if (formState?.changes?.location) {
420
438
  const prevLocation = {
421
- lat: Math.trunc(locationChange.lat),
422
- lng: Math.trunc(locationChange.lng),
439
+ lat: locationChange?.lat?.toFixed(5),
440
+ lng: locationChange?.lng?.toFixed(5),
423
441
  };
424
442
  const newLocation = {
425
- lat: Math.trunc(formState?.changes?.location?.lat),
426
- lng: Math.trunc(formState?.changes?.location?.lng),
443
+ lat: formState?.changes?.location?.lat?.toFixed(5),
444
+ lng: formState?.changes?.location?.lng?.toFixed(5),
427
445
  };
428
446
  if (
429
- prevLocation.lat !== newLocation.lat &&
430
- prevLocation.lng !== newLocation.lng
447
+ prevLocation?.lat !== newLocation?.lat &&
448
+ prevLocation?.lng !== newLocation?.lng
431
449
  ) {
432
450
  setLocationChange(formState?.changes?.location);
433
451
  }
@@ -472,6 +490,10 @@ const AddressFormUI = (props: AddressFormParams) => {
472
490
  }
473
491
  }, []);
474
492
 
493
+ useEffect(() => {
494
+ Geocoder.init(googleMapsApiKey);
495
+ }, [googleMapsApiKey]);
496
+
475
497
  useEffect(() => {
476
498
  const keyboardDidShowListener = Keyboard.addListener(
477
499
  'keyboardDidShow',
@@ -509,14 +531,14 @@ const AddressFormUI = (props: AddressFormParams) => {
509
531
  titleAlign={'center'}
510
532
  onActionLeft={goToBack}
511
533
  showCall={false}
512
- btnStyle={{ paddingLeft: 0 }}
513
- style={{ marginTop: Platform.OS === 'ios' ? 0 : 30 }}
514
- titleWrapStyle={{ paddingHorizontal: 0 }}
515
- titleStyle={{ marginRight: 0, marginLeft: 0 }}
534
+ btnStyle={{ paddingLeft: 0, paddingRight: 5 }}
535
+ style={{ marginTop: Platform.OS === 'ios' ? 0 : 10 }}
536
+ titleWrapStyle={{ paddingHorizontal: 0, width: '100%' }}
537
+ titleStyle={{ marginRight: 0, marginLeft: 0, paddingRight: 5 }}
516
538
  />
517
539
  </View>
518
540
  <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
519
- <AddressFormContainer style={{ height: 600, overflow: 'scroll' }}>
541
+ <AddressFormContainer style={{ overflow: 'scroll' }}>
520
542
  <View>
521
543
  <FormInput>
522
544
  <AutocompleteInput>
@@ -544,7 +566,10 @@ const AddressFormUI = (props: AddressFormParams) => {
544
566
  onPress={(data, details: any) => {
545
567
  handleChangeAddress(data, details);
546
568
  }}
547
- query={{ key: googleMapsApiKey }}
569
+ query={{
570
+ key: googleMapsApiKey,
571
+ components: countryCode && countryCode !== '*' ? `country:${countryCode}` : ''
572
+ }}
548
573
  fetchDetails
549
574
  ref={googleInput}
550
575
  textInputProps={{
@@ -563,6 +588,8 @@ const AddressFormUI = (props: AddressFormParams) => {
563
588
  autoCorrect: false,
564
589
  blurOnSubmit: false,
565
590
  returnKeyType: 'next',
591
+ onFocus: () => setAutoCompleteInputFocused(true),
592
+ onBlur: () => setAutoCompleteInputFocused(false)
566
593
  }}
567
594
  onFail={(error) =>
568
595
  setAlertState({
@@ -586,7 +613,7 @@ const AddressFormUI = (props: AddressFormParams) => {
586
613
  textInput: {
587
614
  borderWidth: 1,
588
615
  borderRadius: 7.6,
589
- borderColor: theme.colors.border,
616
+ borderColor: autoCompleteInputFocused ? theme.colors.primary : theme.colors.border,
590
617
  flexGrow: 1,
591
618
  fontSize: 15,
592
619
  paddingLeft: 16,
@@ -616,12 +643,13 @@ const AddressFormUI = (props: AddressFormParams) => {
616
643
  }
617
644
  }}
618
645
  IconButton={<OIcon src={theme.images.general.pin} width={16} />}
646
+ isIntGeoCoder
619
647
  />
620
648
  </View>
621
649
  )}
622
650
  </AutocompleteInput>
623
651
 
624
- {(locationChange || formState.changes?.location) && (
652
+ {!isHideMap && (locationChange || formState.changes?.location) && (
625
653
  <View
626
654
  style={{
627
655
  height: 189,
@@ -637,6 +665,7 @@ const AddressFormUI = (props: AddressFormParams) => {
637
665
  saveLocation={saveMapLocation}
638
666
  setSaveLocation={setSaveMapLocation}
639
667
  handleToggleMap={handleToggleMap}
668
+ isIntGeoCoder
640
669
  />
641
670
  </GoogleMapContainer>
642
671
  </View>
@@ -676,6 +705,7 @@ const AddressFormUI = (props: AddressFormParams) => {
676
705
  addressState?.address?.internal_number ||
677
706
  ''
678
707
  }
708
+ isFocusHighlight
679
709
  style={{
680
710
  ...styles.inputsStyle,
681
711
  marginRight: showField('internal_number') && showField('zipcode') ? 24 : 0
@@ -722,6 +752,7 @@ const AddressFormUI = (props: AddressFormParams) => {
722
752
  addressState.address.zipcode ||
723
753
  ''
724
754
  }
755
+ isFocusHighlight
725
756
  style={styles.inputsStyle}
726
757
  forwardRef={zipCodeRef}
727
758
  returnKeyType="next"
@@ -767,6 +798,7 @@ const AddressFormUI = (props: AddressFormParams) => {
767
798
  ''
768
799
  }
769
800
  multiline
801
+ isFocusHighlight
770
802
  style={styles.textAreaStyles}
771
803
  returnKeyType="done"
772
804
  forwardRef={addressNotesRef}
@@ -776,27 +808,29 @@ const AddressFormUI = (props: AddressFormParams) => {
776
808
  />
777
809
  )}
778
810
  </FormInput>
779
- <IconsContainer>
780
- {tagsName.map((tag) => (
781
- <TouchableOpacity
782
- key={tag.value}
783
- onPress={() => handleAddressTag(tag.value)}>
784
- <View
785
- style={{
786
- ...styles.iconContainer,
787
- }}>
788
- <OIcon
789
- src={tag.icon}
790
- width={24}
791
- color={
792
- addressTag === tag.value ?
793
- theme.colors.primary : theme.colors.disabled
794
- }
795
- />
796
- </View>
797
- </TouchableOpacity>
798
- ))}
799
- </IconsContainer>
811
+ {!isHideIcons && (
812
+ <IconsContainer>
813
+ {tagsName.map((tag) => (
814
+ <TouchableOpacity
815
+ key={tag.value}
816
+ onPress={() => handleAddressTag(tag.value)}>
817
+ <View
818
+ style={{
819
+ ...styles.iconContainer,
820
+ }}>
821
+ <OIcon
822
+ src={tag.icon}
823
+ width={24}
824
+ color={
825
+ addressTag === tag.value ?
826
+ theme.colors.primary : theme.colors.disabled
827
+ }
828
+ />
829
+ </View>
830
+ </TouchableOpacity>
831
+ ))}
832
+ </IconsContainer>
833
+ )}
800
834
  </View>
801
835
 
802
836
  <View>
@@ -842,6 +876,7 @@ const AddressFormUI = (props: AddressFormParams) => {
842
876
  saveLocation={saveMapLocation}
843
877
  setSaveLocation={setSaveMapLocation}
844
878
  handleToggleMap={handleToggleMap}
879
+ isIntGeoCoder
845
880
  />
846
881
  </GoogleMapContainer>
847
882
  )}
@@ -1,9 +1,8 @@
1
1
  import React, { useEffect } from 'react'
2
2
  import { AddressList as AddressListController, useLanguage, useOrder, useSession } from 'ordering-components/native'
3
- import { AddressListContainer, AddressItem } from './styles'
3
+ import { AddressItem, Container } from './styles'
4
4
  import { Platform, RefreshControl, StyleSheet, View } from 'react-native'
5
5
  import { OButton, OText, OAlert, OModal, OIcon } from '../shared'
6
- import { Container } from '../../layouts/Container'
7
6
  import { AddressListParams } from '../../types'
8
7
  import { NotFoundSource } from '../NotFoundSource'
9
8
  import NavBar from '../NavBar'
@@ -40,9 +39,6 @@ const AddressListUI = (props: AddressListParams) => {
40
39
 
41
40
  const [isProfile, setIsProfile] = useState(isFromProfile || route?.params?.isFromProfile);
42
41
 
43
- const goToBack = () => navigation?.canGoBack() && navigation.goBack()
44
- const onNavigationRedirect = (route: string, params?: any) => navigation.navigate(route, params)
45
-
46
42
  const onNavigatorRedirect = () => {
47
43
  if (route && (isFromBusinesses || isGoBack)) {
48
44
  isGoBack ? goToBack() : onNavigationRedirect('BottomTab')
@@ -104,7 +100,6 @@ const AddressListUI = (props: AddressListParams) => {
104
100
  const handleSetAddress = (address: any) => {
105
101
  if (address.id === orderState?.options?.address_id) return
106
102
  handleSetDefault(address)
107
- onNavigatorRedirect()
108
103
  }
109
104
 
110
105
  const handleSaveAddress = (address: any) => {
@@ -133,13 +128,21 @@ const AddressListUI = (props: AddressListParams) => {
133
128
  }
134
129
  }
135
130
 
131
+ const goToBack = () => navigation?.canGoBack() && navigation.goBack()
132
+ const onNavigationRedirect = (route: string, params?: any) => navigation.navigate(route, params)
133
+
134
+ useEffect(() => {
135
+ if (orderState.loading && auth && orderState.options.address?.location) {
136
+ onNavigatorRedirect()
137
+ }
138
+ }, [orderState.options.address])
139
+
136
140
  useEffect(() => {
137
141
  console.log('From profile : ' + isProfile)
138
142
  }, [])
139
143
 
140
144
  return (
141
- <Container
142
- noPadding
145
+ <Container
143
146
  refreshControl={
144
147
  <RefreshControl
145
148
  refreshing={refreshing}
@@ -147,17 +150,18 @@ const AddressListUI = (props: AddressListParams) => {
147
150
  />
148
151
  }
149
152
  >
150
- {isProfile && (
151
- <NavBar
152
- title={t('SAVED_PLACES', 'My saved places')}
153
- titleAlign={'center'}
154
- onActionLeft={goToBack}
155
- showCall={false}
156
- style={{ paddingHorizontal: 40, paddingVertical: Platform.OS === 'ios' ? 0 : 20, marginTop: Platform.OS === 'ios' ? 0 : 30 }}
157
- />
158
- )}
159
153
  {(!addressList.loading || (isFromProductsList || isFromBusinesses || isFromProfile || isProfile)) && (
160
- <AddressListContainer>
154
+ <>
155
+ {isProfile && (
156
+ <NavBar
157
+ title={t('SAVED_PLACES', 'My saved places')}
158
+ titleAlign={'center'}
159
+ onActionLeft={goToBack}
160
+ showCall={false}
161
+ paddingTop={10}
162
+ btnStyle={{ paddingLeft: 0 }}
163
+ />
164
+ )}
161
165
  {
162
166
  route &&
163
167
  (
@@ -173,8 +177,8 @@ const AddressListUI = (props: AddressListParams) => {
173
177
  onActionLeft={() => goToBack()}
174
178
  showCall={false}
175
179
  btnStyle={{ paddingLeft: 0 }}
176
- paddingTop={0}
177
- style={{ marginTop: Platform.OS === 'ios' ? 0 : 40 }}
180
+ paddingTop={10}
181
+ style={{ marginTop: 0 }}
178
182
  titleWrapStyle={{ paddingHorizontal: 0 }}
179
183
  titleStyle={{ marginLeft: 0, marginRight: 0 }}
180
184
  />
@@ -323,7 +327,8 @@ const AddressListUI = (props: AddressListParams) => {
323
327
  />
324
328
  </>
325
329
  )}
326
- </AddressListContainer>
330
+ </>
331
+
327
332
  )}
328
333
  </Container>
329
334
  )
@@ -346,7 +351,7 @@ const styles = StyleSheet.create({
346
351
  },
347
352
  button: {
348
353
  marginTop: 30,
349
- marginBottom: 0,
354
+ marginBottom: 30,
350
355
  borderRadius: 7.6,
351
356
  borderWidth: 1,
352
357
  shadowOpacity: 0,
@@ -1,10 +1,12 @@
1
1
  import styled from 'styled-components/native'
2
2
 
3
- export const AddressListContainer = styled.View`
3
+ export const Container = styled.ScrollView`
4
+ position: relative;
4
5
  flex: 1;
5
6
  paddingLeft: 40px;
6
7
  paddingRight: 40px;
7
- paddingBottom: 20px;
8
+ margin-bottom: 40px;
9
+ padding-top: 10px;
8
10
  `
9
11
 
10
12
  export const AddressItem = styled.TouchableOpacity`