ordering-ui-react-native 0.16.71 → 0.16.72-release

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/package.json +6 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/styles.tsx +8 -14
  4. package/src/components/BusinessInformation/index.tsx +19 -4
  5. package/src/components/BusinessInformation/styles.tsx +2 -2
  6. package/src/components/BusinessProductsList/index.tsx +10 -10
  7. package/src/components/BusinessesListing/index.tsx +1 -1
  8. package/src/components/Checkout/index.tsx +2 -1
  9. package/src/components/LanguageSelector/index.tsx +21 -16
  10. package/src/components/Messages/index.tsx +2 -2
  11. package/src/components/OrdersOption/index.tsx +54 -56
  12. package/src/components/PaymentOptions/index.tsx +298 -345
  13. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  14. package/src/components/SingleProductReview/index.tsx +7 -4
  15. package/src/components/StripeElementsForm/index.tsx +25 -16
  16. package/src/components/VerifyPhone/styles.tsx +1 -2
  17. package/src/components/shared/OToast.tsx +4 -4
  18. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  19. package/src/utils/index.tsx +2 -1
  20. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
  21. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  22. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  23. package/themes/business/src/components/Chat/index.tsx +31 -31
  24. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  25. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  26. package/themes/business/src/components/MapView/index.tsx +14 -3
  27. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  28. package/themes/business/src/components/NewOrderNotification/index.tsx +31 -41
  29. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +70 -43
  30. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
  31. package/themes/business/src/components/OrdersOption/index.tsx +63 -73
  32. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  33. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  34. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  35. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  36. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  37. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  38. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  39. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  40. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  41. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  42. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  43. package/themes/business/src/components/PreviousOrders/index.tsx +440 -245
  44. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  45. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  46. package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
  47. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  48. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  49. package/themes/business/src/components/shared/OLink.tsx +33 -13
  50. package/themes/business/src/components/shared/OText.tsx +8 -2
  51. package/themes/business/src/types/index.tsx +14 -3
  52. package/themes/business/src/utils/index.tsx +10 -0
  53. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  55. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  56. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  57. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  58. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  59. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  60. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  61. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  62. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  63. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  64. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  65. package/themes/kiosk/src/types/index.d.ts +2 -0
  66. package/themes/original/index.tsx +6 -0
  67. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  68. package/themes/original/src/components/AddressForm/index.tsx +153 -137
  69. package/themes/original/src/components/AddressList/index.tsx +18 -18
  70. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  71. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  72. package/themes/original/src/components/BusinessBasicInformation/index.tsx +47 -22
  73. package/themes/original/src/components/BusinessController/index.tsx +101 -70
  74. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  75. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  76. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  77. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  78. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  79. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  80. package/themes/original/src/components/BusinessListingSearch/index.tsx +87 -142
  81. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  82. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  83. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  84. package/themes/original/src/components/BusinessProductsList/index.tsx +41 -62
  85. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  86. package/themes/original/src/components/BusinessProductsListing/index.tsx +560 -496
  87. package/themes/original/src/components/BusinessProductsListing/styles.tsx +13 -12
  88. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  89. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  90. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +83 -92
  91. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  92. package/themes/original/src/components/BusinessesListing/index.tsx +7 -6
  93. package/themes/original/src/components/Cart/index.tsx +75 -42
  94. package/themes/original/src/components/CartContent/index.tsx +80 -18
  95. package/themes/original/src/components/CartContent/styles.tsx +11 -1
  96. package/themes/original/src/components/Checkout/index.tsx +92 -105
  97. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  98. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  99. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  100. package/themes/original/src/components/DriverTips/index.tsx +47 -37
  101. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  102. package/themes/original/src/components/Favorite/index.tsx +7 -4
  103. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  104. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  105. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  106. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  107. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  108. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  109. package/themes/original/src/components/GoogleMap/index.tsx +10 -1
  110. package/themes/original/src/components/Help/index.tsx +7 -7
  111. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +14 -20
  112. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  113. package/themes/original/src/components/HelpGuide/index.tsx +12 -11
  114. package/themes/original/src/components/HelpGuide/styles.tsx +5 -0
  115. package/themes/original/src/components/HelpOrder/index.tsx +12 -20
  116. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  117. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  118. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  119. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  120. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  121. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  122. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  123. package/themes/original/src/components/MessageListing/index.tsx +7 -40
  124. package/themes/original/src/components/Messages/index.tsx +35 -20
  125. package/themes/original/src/components/MomentOption/index.tsx +17 -11
  126. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  127. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  128. package/themes/original/src/components/MultiCheckout/index.tsx +158 -77
  129. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  130. package/themes/original/src/components/MultiOrdersDetails/index.tsx +85 -34
  131. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  132. package/themes/original/src/components/MyOrders/index.tsx +86 -20
  133. package/themes/original/src/components/NavBar/index.tsx +7 -6
  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 +144 -0
  137. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  138. package/themes/original/src/components/OrderDetails/index.tsx +100 -215
  139. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  140. package/themes/original/src/components/OrderItAgain/index.tsx +46 -43
  141. package/themes/original/src/components/OrderProgress/index.tsx +79 -100
  142. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  143. package/themes/original/src/components/OrderSummary/index.tsx +2 -2
  144. package/themes/original/src/components/OrderTypeSelector/index.tsx +13 -6
  145. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +94 -98
  146. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  147. package/themes/original/src/components/OrdersOption/index.tsx +97 -88
  148. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  149. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  150. package/themes/original/src/components/PaymentOptions/index.tsx +1 -2
  151. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  152. package/themes/original/src/components/PlaceSpot/index.tsx +22 -8
  153. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  154. package/themes/original/src/components/ProductForm/index.tsx +212 -253
  155. package/themes/original/src/components/ProductForm/styles.tsx +5 -8
  156. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  157. package/themes/original/src/components/ProductOptionSubOption/index.tsx +17 -9
  158. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  159. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  160. package/themes/original/src/components/ProfessionalProfile/index.tsx +19 -8
  161. package/themes/original/src/components/Promotions/index.tsx +234 -220
  162. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  163. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  164. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  165. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  166. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  167. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  168. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  169. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  170. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  171. package/themes/original/src/components/ServiceForm/index.tsx +328 -264
  172. package/themes/original/src/components/SignupForm/index.tsx +134 -89
  173. package/themes/original/src/components/SingleOrderCard/index.tsx +125 -56
  174. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  175. package/themes/original/src/components/SingleProductCard/index.tsx +84 -80
  176. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -9
  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/StripeCardsList/index.tsx +1 -1
  180. package/themes/original/src/components/StripeElementsForm/index.tsx +13 -2
  181. package/themes/original/src/components/UpsellingProducts/index.tsx +244 -215
  182. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  183. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  184. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  185. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  186. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  187. package/themes/original/src/components/UserProfileForm/index.tsx +19 -28
  188. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  189. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  190. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  191. package/themes/original/src/components/Wallets/index.tsx +176 -164
  192. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  193. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  194. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  195. package/themes/original/src/components/shared/OBottomPopup.tsx +6 -4
  196. package/themes/original/src/components/shared/OButton.tsx +9 -4
  197. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  198. package/themes/original/src/components/shared/OInput.tsx +10 -1
  199. package/themes/original/src/layouts/Container.tsx +13 -9
  200. package/themes/original/src/types/index.tsx +35 -5
  201. package/themes/original/src/utils/index.tsx +305 -58
  202. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import styled, { css } from 'styled-components/native';
3
- import { Platform } from 'react-native';
2
+ import { useSafeAreaInsets } from 'react-native-safe-area-context'
3
+ import styled, { css, useTheme } from 'styled-components/native';
4
+ import { Platform, View } from 'react-native';
4
5
 
5
6
  const ContainerStyled = styled.ScrollView`
6
7
  flex: 1;
@@ -10,17 +11,20 @@ const ContainerStyled = styled.ScrollView`
10
11
  background-color: ${(props: any) => props.theme.colors.backgroundPage};
11
12
  `;
12
13
 
13
- const SafeAreaStyled = styled.SafeAreaView`
14
- flex: 1;
15
- background-color: ${(props: any) => props.theme.colors.backgroundPage};
16
- `;
17
-
18
14
  export const Container = (props: any) => {
15
+ const theme = useTheme()
16
+ const insets = useSafeAreaInsets()
19
17
  return (
20
- <SafeAreaStyled>
18
+ <View
19
+ style={{
20
+ flex: 1,
21
+ paddingTop: props.pt ?? insets.top,
22
+ backgroundColor: theme.colors.backgroundPage
23
+ }}
24
+ >
21
25
  <ContainerStyled {...props} ref={props?.forwardRef} keyboardShouldPersistTaps='handled' style={{...props.style}}>
22
26
  {props.children}
23
27
  </ContainerStyled>
24
- </SafeAreaStyled>
28
+ </View>
25
29
  )
26
30
  }
@@ -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,
@@ -170,6 +173,9 @@ export interface BusinessesListingParams {
170
173
  handleChangePriceLevel?: any;
171
174
  businessTypeSelected?: any;
172
175
  logosLayout?: boolean;
176
+ isCustomLayout?: boolean;
177
+ citiesState?: any;
178
+ actualSlug?: any;
173
179
  }
174
180
  export interface HighestRatedBusinessesParams {
175
181
  businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
@@ -215,6 +221,9 @@ export interface BusinessControllerParams {
215
221
  setFavoriteIds?: any;
216
222
  handleUpdateBusinessList?: any;
217
223
  enableIntersection?: boolean;
224
+ isCustomLayout?: boolean;
225
+ getBusinessOffer?: any;
226
+ handleCustomUpdate?: (businessId: number, changes: any) => {};
218
227
  }
219
228
  export interface BusinessProductsListingParams {
220
229
  navigation?: any;
@@ -240,6 +249,9 @@ export interface BusinessProductsListingParams {
240
249
  handleUpdateProducts?: any;
241
250
  professionalSelected?: any;
242
251
  handleChangeProfessionalSelected?: any;
252
+ handleUpdateProfessionals?: any;
253
+ onBusinessClick?: any;
254
+ onNavigationRedirect?: any;
243
255
  }
244
256
  export interface BusinessBasicInformationParams {
245
257
  navigation?: any;
@@ -305,6 +317,7 @@ export interface SingleProductCardParams {
305
317
  enableIntersection?: boolean;
306
318
  navigation?: any;
307
319
  isPreviously?: any;
320
+ isProductId?: any;
308
321
  }
309
322
  export interface BusinessInformationParams {
310
323
  navigation?: any,
@@ -359,6 +372,8 @@ export interface OrdersOptionParams {
359
372
  refreshOrders?: boolean,
360
373
  setRefreshOrders?: (value: boolean) => void,
361
374
  handleUpdateOrderList?: (orderId: number, changes: any) => {},
375
+ handleUpdateProducts?: (productId: number, changes: any) => {},
376
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
362
377
  isBusiness?: boolean,
363
378
  isProducts?: boolean,
364
379
  businessOrderIds?: any,
@@ -366,6 +381,8 @@ export interface OrdersOptionParams {
366
381
  businessesSearchList?: any,
367
382
  hideOrders?: boolean,
368
383
  BusinessControllerSkeletons?: any,
384
+ businessPaginationProps?: any,
385
+ businesses?: any
369
386
  }
370
387
  export interface ActiveOrdersParams {
371
388
  orders?: any,
@@ -387,6 +404,7 @@ export interface PreviousOrdersParams {
387
404
  getOrderStatus?: any,
388
405
  orderID?: number
389
406
  reorderLoading?: boolean,
407
+ loading?: boolean,
390
408
  loadMoreOrders?: () => {},
391
409
  handleReorder?: (orderId: number) => {},
392
410
  onNavigationRedirect?: (route: string, params?: any) => {}
@@ -575,6 +593,8 @@ export interface UpsellingProductsParams {
575
593
  products?: any;
576
594
  onNavigationRedirect?: any;
577
595
  onGoBack?: any;
596
+ singleBusiness?: any;
597
+ isFranchiseApp?: any;
578
598
  }
579
599
 
580
600
  export interface GoogleMapsParams {
@@ -635,6 +655,7 @@ export interface BusinessSearchParams {
635
655
  onNavigationRedirect?: any,
636
656
  handleUpdateProducts: any,
637
657
  handleUpdateBusinessList?: any;
658
+ brandId?: number
638
659
  }
639
660
 
640
661
  export interface NoNetworkParams {
@@ -648,14 +669,15 @@ export interface PlaceSpotParams {
648
669
  spotNumberDefault?: any,
649
670
  vehicleDefault?: any,
650
671
  spotNumber?: any,
651
- setSpotNumber?: any,
672
+ setSpotNumber?: any,
652
673
  orderTypes?: any,
653
674
  placesState?: any,
654
- handleChangePlace? : any,
675
+ handleChangePlace?: any,
655
676
  spotState?: any,
656
677
  vehicle?: any,
657
678
  setVehicle?: any,
658
679
  handleChangeSpot?: any
680
+ setPlaceSpotNumber?: any
659
681
  }
660
682
 
661
683
  export interface PromotionParams {
@@ -719,7 +741,9 @@ export interface PreviousBusinessOrderedParams {
719
741
  businessId?: number,
720
742
  onNavigationRedirect?: any,
721
743
  isBusinessesSearchList?: any,
722
- businessLoading?: boolean
744
+ businessLoading?: boolean,
745
+ businesses?: any
746
+ handleUpdateBusinesses?: (businessId: number, changes: any) => {},
723
747
  }
724
748
 
725
749
  export interface ServiceFormParams {
@@ -732,7 +756,10 @@ export interface ServiceFormParams {
732
756
  maxProductQuantity: any,
733
757
  businessSlug?: string,
734
758
  onClose: any,
735
- professionalList: any
759
+ professionalList: any,
760
+ productObject?: any,
761
+ professionalListState?: any,
762
+ isCartProduct?: any
736
763
  }
737
764
 
738
765
  export interface ProfessionalFilterParams {
@@ -754,11 +781,14 @@ export interface OrderItAgainParams {
754
781
  categoryState: any,
755
782
  currentCart: any,
756
783
  handleUpdateProducts: any,
757
- navigation: any
784
+ navigation: any,
785
+ searchValue?: string
758
786
  }
759
787
 
760
788
  export interface PreviousProductsOrderedParams {
761
789
  products?: any,
790
+ isProductId?: boolean
762
791
  onProductClick?: any,
763
792
  isBusinessesSearchList?: boolean
793
+ handleUpdateProducts?: any
764
794
  }
@@ -1,8 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useLanguage } from 'ordering-components/native';
3
3
  import FontAwesome from 'react-native-vector-icons/FontAwesome';
4
- import {CODES} from 'ordering-components/native'
4
+ import { CODES } from 'ordering-components/native'
5
5
  import { ORDER_TYPES } from '../config/constants';
6
+ import { useTheme } from 'styled-components/native';
7
+
8
+ const [languageState, t] = useLanguage();
9
+ const theme = useTheme()
6
10
 
7
11
  export const flatArray = (arr: any) => [].concat(...arr)
8
12
 
@@ -43,69 +47,113 @@ export const getTraduction = (key: string) => {
43
47
  /**
44
48
  * Change local moment variables
45
49
  */
46
- export const setLocalMoment = (moment : any, t : any) => {
50
+ export const setLocalMoment = (moment: any, t: any) => {
47
51
  moment.locale('custom', {
48
52
  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')
53
+ t('MONTH1', 'January'),
54
+ t('MONTH2', 'February'),
55
+ t('MONTH3', 'March'),
56
+ t('MONTH4', 'April'),
57
+ t('MONTH5', 'May'),
58
+ t('MONTH6', 'June'),
59
+ t('MONTH7', 'July'),
60
+ t('MONTH8', 'August'),
61
+ t('MONTH9', 'September'),
62
+ t('MONTH10', 'October'),
63
+ t('MONTH11', 'November'),
64
+ t('MONTH12', 'December')
61
65
  ],
62
66
  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')
67
+ t('MONTHSHORT1', 'Jan'),
68
+ t('MONTHSHORT2', 'Feb'),
69
+ t('MONTHSHORT3', 'Mar'),
70
+ t('MONTHSHORT4', 'Apr'),
71
+ t('MONTHSHORT5', 'May'),
72
+ t('MONTHSHORT6', 'Jun'),
73
+ t('MONTHSHORT7', 'Jul'),
74
+ t('MONTHSHORT8', 'Aug'),
75
+ t('MONTHSHORT9', 'Sep'),
76
+ t('MONTHSHORT10', 'Oct'),
77
+ t('MONTHSHORT11', 'Nov'),
78
+ t('MONTHSHORT12', 'Dec')
75
79
  ],
76
80
  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')
81
+ t('DAY7', 'Sunday'),
82
+ t('DAY1', 'Monday'),
83
+ t('DAY2', 'Tuesday'),
84
+ t('DAY3', 'Wednesday'),
85
+ t('DAY4', 'Thursday'),
86
+ t('DAY5', 'Friday'),
87
+ t('DAY6', 'Saturday')
84
88
  ],
85
89
  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')
90
+ t('DAYSHORT7', 'Sun'),
91
+ t('DAYSHORT1', 'Mon'),
92
+ t('DAYSHORT2', 'Tue'),
93
+ t('DAYSHORT3', 'Wed'),
94
+ t('DAYSHORT4', 'Thu'),
95
+ t('DAYSHORT5', 'Fri'),
96
+ t('DAYSHORT6', 'Sat')
93
97
  ],
94
98
  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')
99
+ t('DAYMIN7', 'Su'),
100
+ t('DAYMIN1', 'Mo'),
101
+ t('DAYMIN2', 'Tu'),
102
+ t('DAYMIN3', 'We'),
103
+ t('DAYMIN4', 'Th'),
104
+ t('DAYMIN5', 'Fr'),
105
+ t('DAYMIN6', 'Sa')
102
106
  ],
103
- meridiem : function (hours : any) {
104
- return hours < 12 ? t('AM', 'AM') : t('PM','PM');
107
+ meridiem: function (hours: any) {
108
+ return hours < 12 ? t('AM', 'AM') : t('PM', 'PM');
105
109
  }
106
110
  })
107
111
  }
108
112
 
113
+ export const monthsEnum: any = {
114
+ Jan: 'MONTHSHORT1',
115
+ Feb: 'MONTHSHORT2',
116
+ Mar: 'MONTHSHORT3',
117
+ Apr: 'MONTHSHORT4',
118
+ May: 'MONTHSHORT5',
119
+ Jun: 'MONTHSHORT6',
120
+ Jul: 'MONTHSHORT7',
121
+ Aug: 'MONTHSHORT8',
122
+ Sep: 'MONTHSHORT9',
123
+ Oct: 'MONTHSHORT10',
124
+ Nov: 'MONTHSHORT11',
125
+ Dec: 'MONTHSHORT12',
126
+ }
127
+
128
+ export const locale = {
129
+ name: languageState?.language?.code?.slice(0, 2),
130
+ config: {
131
+ months: [
132
+ t('MONTH1', 'January'),
133
+ t('MONTH2', 'February'),
134
+ t('MONTH3', 'March'),
135
+ t('MONTH4', 'April'),
136
+ t('MONTH5', 'May'),
137
+ t('MONTH6', 'June'),
138
+ t('MONTH7', 'July'),
139
+ t('MONTH8', 'August'),
140
+ t('MONTH9', 'September'),
141
+ t('MONTH10', 'October'),
142
+ t('MONTH11', 'November'),
143
+ t('MONTH12', 'December')
144
+ ],
145
+ weekdaysShort: [
146
+ t('DAYSHORT7', 'Sun'),
147
+ t('DAYSHORT1', 'Mon'),
148
+ t('DAYSHORT2', 'Tue'),
149
+ t('DAYSHORT3', 'Wed'),
150
+ t('DAYSHORT4', 'Thu'),
151
+ t('DAYSHORT5', 'Fri'),
152
+ t('DAYSHORT6', 'Sat')
153
+ ],
154
+ }
155
+ };
156
+
109
157
  /**
110
158
  * Function to convert delivery time in minutes
111
159
  * @param {string} time business delivery time
@@ -182,7 +230,7 @@ export const getIconCard = (brand: string, size: number) => {
182
230
  * Function to return a static google maps image based in location
183
231
  * @param {object} param object with latitude and logitude
184
232
  */
185
- export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
233
+ export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
186
234
  return `https://maps.googleapis.com/maps/api/staticmap?size=500x190&center=${lat},${lng}&zoom=17&scale=2&maptype=roadmap&&markers=icon:https://res.cloudinary.com/ditpjbrmz/image/upload/f_auto,q_auto,w_45,q_auto:best,q_auto:best/v1564675872/marker-customer_kvxric.png%7Ccolor:white%7C${lat},${lng}&key=${apiKey}`
187
235
  }
188
236
  /**
@@ -213,8 +261,8 @@ export const sortInputFields = ({ fields, values }: any) => {
213
261
  return fieldsSorted;
214
262
  }
215
263
 
216
- export const transformCountryCode = (countryCode : number) => {
217
- const code = CODES.find((code : any) => code.phoneCode === countryCode)
264
+ export const transformCountryCode = (countryCode: number) => {
265
+ const code = CODES.find((code: any) => code.phoneCode === countryCode)
218
266
  return code?.countryCode
219
267
  }
220
268
 
@@ -224,7 +272,7 @@ export const transformCountryCode = (countryCode : number) => {
224
272
  * @param {*} parser function fallback when is decimal
225
273
  * @returns string
226
274
  */
227
- export const verifyDecimals = (value: number, parser: any) => {
275
+ export const verifyDecimals = (value: number, parser: any) => {
228
276
  if (value % 1 === 0) {
229
277
  return value
230
278
  } else {
@@ -240,7 +288,7 @@ export const getTypesText = (value: number) => {
240
288
  /**
241
289
  * List shape for ribbon
242
290
  */
243
- export const shape = {
291
+ export const shape = {
244
292
  rectangle: 'rectangle',
245
293
  rectangleRound: 'rectangle_round',
246
294
  capsuleShape: 'capsule_shape'
@@ -251,7 +299,7 @@ export const getTypesText = (value: number) => {
251
299
  * @param {number} value for transform
252
300
  *
253
301
  */
254
- export const convertToRadian = (value: number) => {
302
+ export const convertToRadian = (value: number) => {
255
303
  return value * Math.PI / 180
256
304
  }
257
305
 
@@ -273,14 +321,14 @@ export const getDistance = (lat1: any, lon1: any, lat2: any, lon2: any) => {
273
321
  return R * c
274
322
  }
275
323
 
276
- export const formatUrlVideo = (url : string) => {
324
+ export const formatUrlVideo = (url: string) => {
277
325
  const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/
278
326
  const match = url.match(regExp)
279
327
  const id = (match && match[7].length === 11) ? match[7] : false
280
328
  return `https://www.youtube-nocookie.com/embed/${id}`
281
329
  }
282
330
 
283
- export const formatSeconds = (seconds : number) => {
331
+ export const formatSeconds = (seconds: number) => {
284
332
  // Hours, minutes and seconds
285
333
  var hrs = ~~(seconds / 3600)
286
334
  var mins = ~~((seconds % 3600) / 60)
@@ -299,10 +347,209 @@ export const formatSeconds = (seconds : number) => {
299
347
  /**
300
348
  * List of price to filter businesses
301
349
  */
302
- export const priceList = [
350
+ export const priceList = [
303
351
  { level: '1', content: '$' },
304
352
  { level: '2', content: '$$' },
305
353
  { level: '3', content: '$$$' },
306
354
  { level: '4', content: '$$$$' },
307
355
  { level: '5', content: '$$$$$' }
308
356
  ]
357
+
358
+ export const getOrderStatus = (s: string) => {
359
+ const status = parseInt(s);
360
+ const orderStatus = [
361
+ {
362
+ key: 0,
363
+ value: t('PENDING', 'Pending'),
364
+ slug: 'PENDING',
365
+ percentage: 0.25,
366
+ image: theme.images.order.status0,
367
+ },
368
+ {
369
+ key: 1,
370
+ value: t('COMPLETED', 'Completed'),
371
+ slug: 'COMPLETED',
372
+ percentage: 1,
373
+ image: theme.images.order.status1,
374
+ },
375
+ {
376
+ key: 2,
377
+ value: t('REJECTED', 'Rejected'),
378
+ slug: 'REJECTED',
379
+ percentage: 0,
380
+ image: theme.images.order.status2,
381
+ },
382
+ {
383
+ key: 3,
384
+ value: t('DRIVER_IN_BUSINESS', 'Driver in business'),
385
+ slug: 'DRIVER_IN_BUSINESS',
386
+ percentage: 0.6,
387
+ image: theme.images.order.status3,
388
+ },
389
+ {
390
+ key: 4,
391
+ value: t('PREPARATION_COMPLETED', 'Preparation Completed'),
392
+ slug: 'PREPARATION_COMPLETED',
393
+ percentage: 0.7,
394
+ image: theme.images.order.status4,
395
+ },
396
+ {
397
+ key: 5,
398
+ value: t('REJECTED_BY_BUSINESS', 'Rejected by business'),
399
+ slug: 'REJECTED_BY_BUSINESS',
400
+ percentage: 0,
401
+ image: theme.images.order.status5,
402
+ },
403
+ {
404
+ key: 6,
405
+ value: t('REJECTED_BY_DRIVER', 'Rejected by Driver'),
406
+ slug: 'REJECTED_BY_DRIVER',
407
+ percentage: 0,
408
+ image: theme.images.order.status6,
409
+ },
410
+ {
411
+ key: 7,
412
+ value: t('ACCEPTED_BY_BUSINESS', 'Accepted by business'),
413
+ slug: 'ACCEPTED_BY_BUSINESS',
414
+ percentage: 0.35,
415
+ image: theme.images.order.status7,
416
+ },
417
+ {
418
+ key: 8,
419
+ value: t('ACCEPTED_BY_DRIVER', 'Accepted by driver'),
420
+ slug: 'ACCEPTED_BY_DRIVER',
421
+ percentage: 0.45,
422
+ image: theme.images.order.status8,
423
+ },
424
+ {
425
+ key: 9,
426
+ value: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver'),
427
+ slug: 'PICK_UP_COMPLETED_BY_DRIVER',
428
+ percentage: 0.8,
429
+ image: theme.images.order.status9,
430
+ },
431
+ {
432
+ key: 10,
433
+ value: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver'),
434
+ slug: 'PICK_UP_FAILED_BY_DRIVER',
435
+ percentage: 0,
436
+ image: theme.images.order.status10,
437
+ },
438
+ {
439
+ key: 11,
440
+ value: t(
441
+ 'DELIVERY_COMPLETED_BY_DRIVER',
442
+ 'Delivery completed by driver',
443
+ ),
444
+ slug: 'DELIVERY_COMPLETED_BY_DRIVER',
445
+ percentage: 1,
446
+ image: theme.images.order.status11,
447
+ },
448
+ {
449
+ key: 12,
450
+ value: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver'),
451
+ slug: 'DELIVERY_FAILED_BY_DRIVER',
452
+ percentage: 0,
453
+ image: theme.images.order.status12,
454
+ },
455
+ {
456
+ key: 13,
457
+ value: t('PREORDER', 'PreOrder'),
458
+ slug: 'PREORDER',
459
+ percentage: 0,
460
+ image: theme.images.order.status13,
461
+ },
462
+ {
463
+ key: 14,
464
+ value: t('ORDER_NOT_READY', 'Order not ready'),
465
+ slug: 'ORDER_NOT_READY',
466
+ percentage: 0,
467
+ image: theme.images.order.status13,
468
+ },
469
+ {
470
+ key: 15,
471
+ value: t(
472
+ 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER',
473
+ 'Order picked up completed by customer',
474
+ ),
475
+ slug: 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER',
476
+ percentage: 100,
477
+ image: theme.images.order.status1,
478
+ },
479
+ {
480
+ key: 16,
481
+ value: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer'),
482
+ slug: 'CANCELLED_BY_CUSTOMER',
483
+ percentage: 0,
484
+ image: theme.images.order.status2,
485
+ },
486
+ {
487
+ key: 17,
488
+ value: t(
489
+ 'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
490
+ 'Order not picked up by customer',
491
+ ),
492
+ slug: 'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
493
+ percentage: 0,
494
+ image: theme.images.order.status2,
495
+ },
496
+ {
497
+ key: 18,
498
+ value: t(
499
+ 'DRIVER_ALMOST_ARRIVED_TO_BUSINESS',
500
+ 'Driver almost arrived to business',
501
+ ),
502
+ slug: 'DRIVER_ALMOST_ARRIVED_TO_BUSINESS',
503
+ percentage: 0.15,
504
+ image: theme.images.order.status3,
505
+ },
506
+ {
507
+ key: 19,
508
+ value: t(
509
+ 'DRIVER_ALMOST_ARRIVED_TO_CUSTOMER',
510
+ 'Driver almost arrived to customer',
511
+ ),
512
+ slug: 'DRIVER_ALMOST_ARRIVED_TO_CUSTOMER',
513
+ percentage: 0.9,
514
+ image: theme.images.order.status11,
515
+ },
516
+ {
517
+ key: 20,
518
+ value: t(
519
+ 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
520
+ 'Customer almost arrived to business',
521
+ ),
522
+ slug: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
523
+ percentage: 90,
524
+ image: theme.images.order.status7,
525
+ },
526
+ {
527
+ key: 21,
528
+ value: t(
529
+ 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
530
+ 'Customer arrived to business',
531
+ ),
532
+ slug: 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
533
+ percentage: 95,
534
+ image: theme.images.order.status7,
535
+ },
536
+ {
537
+ key: 22,
538
+ value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver'),
539
+ slug: 'ORDER_LOOKING_FOR_DRIVER',
540
+ percentage: 35,
541
+ image: theme.images.order.status8
542
+ },
543
+ {
544
+ key: 23,
545
+ value: t('ORDER_DRIVER_ON_WAY', 'Driver on way'),
546
+ slug: 'ORDER_DRIVER_ON_WAY',
547
+ percentage: 45,
548
+ image: theme.images.order.status8
549
+ }
550
+ ];
551
+
552
+ const objectStatus = orderStatus.find((o) => o.key === status);
553
+
554
+ return objectStatus && objectStatus;
555
+ }
@@ -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}>