ordering-ui-react-native 0.16.67 → 0.16.68-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 (206) hide show
  1. package/package.json +6 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +8 -14
  5. package/src/components/BusinessInformation/index.tsx +19 -4
  6. package/src/components/BusinessInformation/styles.tsx +2 -2
  7. package/src/components/BusinessProductsList/index.tsx +10 -10
  8. package/src/components/BusinessesListing/index.tsx +1 -1
  9. package/src/components/Checkout/index.tsx +2 -1
  10. package/src/components/LanguageSelector/index.tsx +21 -16
  11. package/src/components/Messages/index.tsx +2 -2
  12. package/src/components/NotificationSetting/index.tsx +85 -0
  13. package/src/components/OrdersOption/index.tsx +54 -56
  14. package/src/components/PaymentOptions/index.tsx +298 -345
  15. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  16. package/src/components/SingleProductReview/index.tsx +7 -4
  17. package/src/components/StripeElementsForm/index.tsx +25 -16
  18. package/src/components/VerifyPhone/styles.tsx +1 -2
  19. package/src/components/shared/OBottomPopup.tsx +6 -2
  20. package/src/components/shared/OToast.tsx +4 -4
  21. package/src/index.tsx +2 -0
  22. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  23. package/src/utils/index.tsx +2 -1
  24. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
  25. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  26. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  27. package/themes/business/src/components/Chat/index.tsx +31 -31
  28. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  29. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  30. package/themes/business/src/components/MapView/index.tsx +14 -3
  31. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  32. package/themes/business/src/components/NewOrderNotification/index.tsx +31 -41
  33. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +70 -43
  34. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
  35. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  36. package/themes/business/src/components/OrdersOption/index.tsx +74 -76
  37. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  38. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  39. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  40. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  41. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  42. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  43. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  44. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  45. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  46. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  47. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  48. package/themes/business/src/components/PreviousOrders/index.tsx +440 -245
  49. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  51. package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
  52. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  53. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  54. package/themes/business/src/components/shared/OLink.tsx +33 -13
  55. package/themes/business/src/components/shared/OText.tsx +8 -2
  56. package/themes/business/src/types/index.tsx +22 -10
  57. package/themes/business/src/utils/index.tsx +10 -0
  58. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  59. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  60. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  61. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  62. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  63. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  64. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  65. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  66. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  67. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  68. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  69. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  70. package/themes/kiosk/src/types/index.d.ts +2 -0
  71. package/themes/original/index.tsx +8 -0
  72. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  73. package/themes/original/src/components/AddressForm/index.tsx +153 -137
  74. package/themes/original/src/components/AddressList/index.tsx +18 -18
  75. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  76. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  77. package/themes/original/src/components/BusinessBasicInformation/index.tsx +49 -33
  78. package/themes/original/src/components/BusinessController/index.tsx +101 -70
  79. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  80. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  81. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  82. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  83. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  84. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  85. package/themes/original/src/components/BusinessListingSearch/index.tsx +87 -142
  86. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  87. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  88. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  89. package/themes/original/src/components/BusinessProductsList/index.tsx +54 -60
  90. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  91. package/themes/original/src/components/BusinessProductsListing/index.tsx +561 -477
  92. package/themes/original/src/components/BusinessProductsListing/styles.tsx +13 -12
  93. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  94. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  95. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +93 -98
  96. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  97. package/themes/original/src/components/BusinessesListing/index.tsx +13 -8
  98. package/themes/original/src/components/Cart/index.tsx +63 -38
  99. package/themes/original/src/components/CartContent/index.tsx +80 -18
  100. package/themes/original/src/components/CartContent/styles.tsx +11 -1
  101. package/themes/original/src/components/Checkout/index.tsx +110 -114
  102. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  103. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  104. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  105. package/themes/original/src/components/DriverTips/index.tsx +47 -37
  106. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  107. package/themes/original/src/components/Favorite/index.tsx +7 -4
  108. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  109. package/themes/original/src/components/FavoriteList/index.tsx +69 -45
  110. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  111. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  112. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  113. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  114. package/themes/original/src/components/GoogleMap/index.tsx +10 -1
  115. package/themes/original/src/components/Help/index.tsx +7 -7
  116. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +14 -20
  117. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  118. package/themes/original/src/components/HelpGuide/index.tsx +12 -11
  119. package/themes/original/src/components/HelpGuide/styles.tsx +5 -0
  120. package/themes/original/src/components/HelpOrder/index.tsx +12 -20
  121. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  122. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  123. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  124. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  125. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  126. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  127. package/themes/original/src/components/MessageListing/index.tsx +7 -7
  128. package/themes/original/src/components/Messages/index.tsx +35 -20
  129. package/themes/original/src/components/MomentOption/index.tsx +17 -11
  130. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  131. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  132. package/themes/original/src/components/MultiCheckout/index.tsx +158 -77
  133. package/themes/original/src/components/MultiOrdersDetails/index.tsx +60 -33
  134. package/themes/original/src/components/MyOrders/index.tsx +86 -20
  135. package/themes/original/src/components/NavBar/index.tsx +7 -6
  136. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  137. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  138. package/themes/original/src/components/Notifications/index.tsx +144 -0
  139. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  140. package/themes/original/src/components/OrderDetails/index.tsx +114 -15
  141. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  142. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  143. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  144. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  145. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  146. package/themes/original/src/components/OrderSummary/index.tsx +3 -36
  147. package/themes/original/src/components/OrderTypeSelector/index.tsx +13 -6
  148. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +94 -98
  149. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  150. package/themes/original/src/components/OrdersOption/index.tsx +97 -55
  151. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  152. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  153. package/themes/original/src/components/PaymentOptions/index.tsx +1 -2
  154. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  155. package/themes/original/src/components/PlaceSpot/index.tsx +249 -47
  156. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  157. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  158. package/themes/original/src/components/ProductForm/index.tsx +212 -253
  159. package/themes/original/src/components/ProductForm/styles.tsx +5 -8
  160. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  161. package/themes/original/src/components/ProductOptionSubOption/index.tsx +17 -9
  162. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +0 -1
  163. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  164. package/themes/original/src/components/ProfessionalProfile/index.tsx +19 -8
  165. package/themes/original/src/components/Promotions/index.tsx +234 -220
  166. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  167. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  168. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  169. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  170. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  171. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  172. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  173. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  174. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  175. package/themes/original/src/components/ServiceForm/index.tsx +328 -264
  176. package/themes/original/src/components/SignupForm/index.tsx +134 -89
  177. package/themes/original/src/components/SingleOrderCard/index.tsx +129 -54
  178. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  179. package/themes/original/src/components/SingleProductCard/index.tsx +101 -85
  180. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -9
  181. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  182. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  183. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  184. package/themes/original/src/components/StripeElementsForm/index.tsx +13 -2
  185. package/themes/original/src/components/UpsellingProducts/index.tsx +244 -215
  186. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  187. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  188. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  189. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  190. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  191. package/themes/original/src/components/UserProfileForm/index.tsx +19 -28
  192. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  193. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  194. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  195. package/themes/original/src/components/Wallets/index.tsx +176 -164
  196. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  197. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  198. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  199. package/themes/original/src/components/shared/OBottomPopup.tsx +6 -4
  200. package/themes/original/src/components/shared/OButton.tsx +9 -4
  201. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  202. package/themes/original/src/components/shared/OInput.tsx +10 -1
  203. package/themes/original/src/layouts/Container.tsx +13 -9
  204. package/themes/original/src/types/index.tsx +55 -5
  205. package/themes/original/src/utils/index.tsx +103 -58
  206. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,12 +1,14 @@
1
1
  import React, { useEffect, useState, useRef } from 'react';
2
- import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Linking, Platform, TextInput } from 'react-native';
3
- import { useLanguage, useUtils, useToast, ToastType, OrderListGroups, useConfig } from 'ordering-components/native';
2
+ import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Platform } from 'react-native';
3
+ import { useLanguage, useUtils, useToast, OrderListGroups, useConfig } from 'ordering-components/native';
4
4
  import SelectDropdown from 'react-native-select-dropdown'
5
5
  import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
6
6
  import FeatherIcon from 'react-native-vector-icons/Feather';
7
7
  import FontistoIcon from 'react-native-vector-icons/Fontisto'
8
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
8
9
  import { useTheme } from 'styled-components/native';
9
10
  import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
11
+ import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
10
12
  import { NewOrderNotification } from '../NewOrderNotification';
11
13
 
12
14
  import { OText, OButton, OModal, OIconButton, OInput, OIcon } from '../shared';
@@ -18,7 +20,6 @@ import {
18
20
  IconWrapper,
19
21
  ModalContainer,
20
22
  ModalTitle,
21
- FilterBtnWrapper,
22
23
  TabPressable,
23
24
  OrderStatus,
24
25
  SlaOption,
@@ -32,41 +33,17 @@ import {
32
33
  ItemContent,
33
34
  TimerInputWrapper,
34
35
  OverLine,
35
- Actions
36
+ InputContainer
36
37
  } from './styles';
37
38
  import { PreviousOrders } from '../PreviousOrders';
38
39
  import { OrdersOptionParams } from '../../types';
39
40
 
40
- import { TouchableOpacity } from 'react-native-gesture-handler';
41
- import GestureRecognizer from 'react-native-swipe-gestures';
42
- import ODropDown from '../shared/ODropDown';
43
- import { OrdersOptionStatus } from '../OrdersOptionStatus'
44
41
  import { OrdersOptionCity } from '../OrdersOptionCity';
45
42
  import { OrdersOptionBusiness } from '../OrdersOptionBusiness';
46
43
  import { OrdersOptionDelivery } from '../OrdersOptionDelivery';
47
44
  import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
48
45
  import { OrdersOptionDriver } from '../OrdersOptionDriver';
49
46
  import { OrdersOptionDate } from '../OrdersOptionDate';
50
-
51
- const tabsList: any = {
52
- pending: 1,
53
- inProgress: 2,
54
- completed: 3,
55
- cancelled: 4
56
- };
57
-
58
- const tabsListText: any = {
59
- 1: 'pending',
60
- 2: 'inProgress',
61
- 3: 'completed',
62
- 4: 'cancelled'
63
- };
64
-
65
- const swipeConfig = {
66
- velocityThreshold: 0.3,
67
- directionalOffsetThreshold: 80
68
- };
69
-
70
47
  const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
71
48
 
72
49
  const OrdersOptionUI = (props: OrdersOptionParams) => {
@@ -78,10 +55,10 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
78
55
  ordersGroup,
79
56
  setOrdersGroup,
80
57
  orderStatus,
58
+ ordersFormatted,
81
59
  loadOrders,
82
60
  loadMoreOrders,
83
61
  onNavigationRedirect,
84
- filtered,
85
62
  onFiltered,
86
63
  handleClickOrder,
87
64
  isBusinessApp,
@@ -89,7 +66,9 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
89
66
  logisticOrders,
90
67
  loadLogisticOrders,
91
68
  isLogisticActivated,
92
- isAlsea
69
+ isAlsea,
70
+ handleChangeOrderStatus,
71
+ handleSendCustomerReview
93
72
  } = props;
94
73
 
95
74
  const defaultSearchList = {
@@ -119,10 +98,10 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
119
98
  const [slaSettingTime, setSlaSettingTime] = useState(6000)
120
99
  const [currentDeliveryType, setCurrentDeliveryType] = useState('Delivery')
121
100
  const [search, setSearch] = useState(defaultSearchList)
122
- const [selectedTabStatus, setSelectedTabStatus] = useState([])
101
+ const [selectedTabStatus, setSelectedTabStatus] = useState<any>([])
123
102
  const [hour, setHour] = useState(0)
124
103
  const [minute, setMinute] = useState(0)
125
-
104
+ const [openedSelect, setOpenedSelect] = useState('')
126
105
  const WIDTH_SCREEN = orientationState?.dimensions?.width
127
106
  const HEIGHT_SCREEN = orientationState?.dimensions?.height
128
107
  const IS_PORTRAIT = orientationState.orientation === PORTRAIT
@@ -343,26 +322,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
343
322
  })
344
323
  }
345
324
 
346
- const onSwipeLeft = () => {
347
- let currentTab = tabsList[currentTabSelected]
348
- currentTab = currentTab >= 4 ? null : currentTab + 1
349
-
350
- if (!currentTab) return
351
-
352
- const nextTab = tabsListText[currentTab]
353
- nextTab && setCurrentTabSelected(nextTab)
354
- }
355
-
356
- const onSwipeRight = () => {
357
- let currentTab = tabsList[currentTabSelected]
358
- currentTab = currentTab <= 1 ? null : currentTab - 1
359
-
360
- if (!currentTab) return
361
-
362
- const nextTab = tabsListText[currentTab]
363
- nextTab && setCurrentTabSelected(nextTab)
364
- }
365
-
366
325
  const calculateDate = (type: any, from: any, to: any) => {
367
326
  switch (type) {
368
327
  case 'today':
@@ -402,13 +361,15 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
402
361
  setOpenSLASettingModal(false)
403
362
  }
404
363
 
405
- useEffect(() => {
406
- setCurrentFilters(null)
407
- onFiltered && onFiltered(null)
364
+ const handleClearFilters = () => {
408
365
  setSearch(defaultSearchList)
366
+ }
367
+
368
+ useEffect(() => {
409
369
  scrollRefTab.current?.scrollTo({ animated: true });
410
370
  scrollListRef.current?.scrollTo({ animated: true });
411
371
  scrollRef.current?.scrollTo({ y: 0, animated: true });
372
+ setTags({ values: [] })
412
373
  }, [currentTabSelected])
413
374
 
414
375
  useEffect(() => {
@@ -416,12 +377,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
416
377
  }, [])
417
378
 
418
379
  return (
419
- // <GestureRecognizer
420
- // onSwipeLeft={onSwipeLeft}
421
- // onSwipeRight={onSwipeRight}
422
- // config={swipeConfig}
423
- // style={{ flex: 1 }}
424
- // >
425
380
  <>
426
381
  <View style={styles.header}>
427
382
  <OText style={styles.title}>{t('MY_ORDERS', 'My orders')}</OText>
@@ -630,12 +585,18 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
630
585
  currentTabSelected !== 'logisticOrders' &&
631
586
  (
632
587
  <PreviousOrders
633
- orders={currentOrdersGroup?.orders}
588
+ orders={ordersFormatted}
589
+ navigation={props.navigation}
634
590
  onNavigationRedirect={onNavigationRedirect}
635
591
  getOrderStatus={getOrderStatus}
636
592
  handleClickOrder={handleClickOrder}
637
593
  slaSettingTime={slaSettingTime}
638
594
  currentTabSelected={currentTabSelected}
595
+ appTitle={props.orderDetailsProps?.appTitle}
596
+ actions={props.orderDetailsProps?.actions}
597
+ orderTitle={props.orderDetailsProps?.orderTitle}
598
+ handleChangeOrderStatus={handleChangeOrderStatus}
599
+ handleSendCustomerReview={handleSendCustomerReview}
639
600
  />
640
601
  )}
641
602
  {!logisticOrders?.error?.length &&
@@ -725,12 +686,11 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
725
686
  )}
726
687
  </ScrollView>
727
688
  </View>
728
- {/* </GestureRecognizer> */}
729
-
689
+
730
690
  {isBusinessApp && (
731
691
  <NewOrderNotification isBusinessApp={isBusinessApp} />
732
692
  )}
733
-
693
+
734
694
  {(openSearchModal || openSLASettingModal) && (
735
695
  <OModal open={openSearchModal || openSLASettingModal} entireModal customClose>
736
696
  <ModalContainer
@@ -753,22 +713,34 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
753
713
  {openSearchModal && (
754
714
  <SearchModalContent>
755
715
  <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
756
- <OInput
757
- value={search.id}
758
- onChange={(value: any) => setSearch({ ...search, id: value })}
759
- style={styles.inputStyle}
760
- placeholder={t('ORDER_NUMBER', 'Order number')}
761
- autoCorrect={false}
762
- />
716
+ <InputContainer>
717
+ <OInput
718
+ value={search.id}
719
+ onChange={(value: any) => setSearch({ ...search, id: value })}
720
+ style={styles.inputStyle}
721
+ placeholder={t('ORDER_NUMBER', 'Order number')}
722
+ autoCorrect={false}
723
+ />
724
+ <AntDesignIcon
725
+ name='close'
726
+ size={20}
727
+ style={{ position: 'absolute', right: 12, top: 13 }}
728
+ onPress={() => setSearch({ ...search, id: '' })}
729
+ />
730
+ </InputContainer>
763
731
  <OrdersOptionDate
764
732
  {...props}
765
733
  search={search}
766
734
  onSearch={setSearch}
735
+ setOpenedSelect={setOpenedSelect}
736
+ openedSelect={openedSelect}
767
737
  />
768
738
  <OrdersOptionCity
769
739
  {...props}
770
740
  search={search}
771
741
  onSearch={setSearch}
742
+ setOpenedSelect={setOpenedSelect}
743
+ openedSelect={openedSelect}
772
744
  />
773
745
  {isBusinessApp && (
774
746
  <>
@@ -776,21 +748,29 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
776
748
  {...props}
777
749
  search={search}
778
750
  onSearch={setSearch}
751
+ setOpenedSelect={setOpenedSelect}
752
+ openedSelect={openedSelect}
779
753
  />
780
754
  <OrdersOptionDelivery
781
755
  {...props}
782
756
  search={search}
783
757
  onSearch={setSearch}
758
+ setOpenedSelect={setOpenedSelect}
759
+ openedSelect={openedSelect}
784
760
  />
785
761
  <OrdersOptionDriver
786
762
  {...props}
787
763
  search={search}
788
764
  onSearch={setSearch}
765
+ setOpenedSelect={setOpenedSelect}
766
+ openedSelect={openedSelect}
789
767
  />
790
768
  <OrdersOptionPaymethod
791
769
  {...props}
792
770
  search={search}
793
771
  onSearch={setSearch}
772
+ setOpenedSelect={setOpenedSelect}
773
+ openedSelect={openedSelect}
794
774
  />
795
775
  </>
796
776
  )}
@@ -800,13 +780,24 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
800
780
  imgRightSrc={null}
801
781
  style={{
802
782
  borderRadius: 7.6,
803
- marginBottom: 70,
783
+ marginBottom: 10,
804
784
  marginTop: 60,
805
785
  zIndex: 12
806
786
  }}
807
787
  onClick={applyFilters}
808
788
  />
809
-
789
+ <OButton
790
+ text={t('CLEAR_SEARCh', 'Clear search')}
791
+ imgRightSrc={null}
792
+ bgColor='#fff'
793
+ style={{
794
+ borderRadius: 7.6,
795
+ marginBottom: 0,
796
+ marginTop: 0,
797
+ zIndex: 12
798
+ }}
799
+ onClick={handleClearFilters}
800
+ />
810
801
  </SearchModalContent>
811
802
  )}
812
803
  {openSLASettingModal && (
@@ -848,7 +839,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
848
839
  </ScrollView>
849
840
  </FiltersTab>
850
841
  <DeliveryStatusWrapper>
851
- {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item, i) => (
842
+ {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item: any, i: number) => (
852
843
  <StatusBlock
853
844
  key={i}
854
845
  item={item}
@@ -935,6 +926,7 @@ export const OrdersOption = (props: OrdersOptionParams) => {
935
926
  const [, t] = useLanguage();
936
927
  const [configState] = useConfig()
937
928
  const theme = useTheme()
929
+ const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
938
930
  const ordersProps = {
939
931
  ...props,
940
932
  UIComponent: OrdersOptionUI,
@@ -1049,5 +1041,11 @@ export const OrdersOption = (props: OrdersOptionParams) => {
1049
1041
  ]
1050
1042
  };
1051
1043
 
1052
- return <OrderListGroups {...ordersProps} />;
1044
+ return (<>
1045
+ <OrderListGroups {...ordersProps} />
1046
+ {props?.checkNotification && (
1047
+ <NotificationSetting checkNotificationStatus={checkNotificationStatus}
1048
+ setCheckNotificationStatus={setCheckNotificationStatus} />
1049
+ )}
1050
+ </>);
1053
1051
  };
@@ -149,4 +149,8 @@ export const OverLine = styled.View`
149
149
  `
150
150
  export const Actions = styled.View`
151
151
 
152
- `
152
+ `
153
+
154
+ export const InputContainer = styled.View`
155
+ position: relative;
156
+ `
@@ -10,7 +10,9 @@ export const OrdersOptionBusinessUI = (props: any) => {
10
10
  const {
11
11
  search,
12
12
  onSearch,
13
- businessesList
13
+ businessesList,
14
+ setOpenedSelect,
15
+ openedSelect
14
16
  } = props
15
17
 
16
18
  const theme = useTheme();
@@ -25,6 +27,14 @@ export const OrdersOptionBusinessUI = (props: any) => {
25
27
  setOptionsList(businesses)
26
28
  }, [businessesList?.businesses])
27
29
 
30
+ const handleClear = () => {
31
+ onSearch({ ...search, business: '' })
32
+ }
33
+
34
+ const handleOpenSelect = () => {
35
+ setOpenedSelect('business')
36
+ }
37
+
28
38
  return (
29
39
  <Container isIos={Platform.OS === 'ios'}>
30
40
  <ODropDown
@@ -36,6 +46,10 @@ export const OrdersOptionBusinessUI = (props: any) => {
36
46
  textcolor={theme.colors.unselectText}
37
47
  placeholder={t('SELECT_BUSINESS', 'Select Business')}
38
48
  dropViewMaxHeight={200}
49
+ handleClear={handleClear}
50
+ handleOpenSelect={handleOpenSelect}
51
+ openedSelect={openedSelect}
52
+ selectType='business'
39
53
  />
40
54
  </Container>
41
55
  );
@@ -10,7 +10,9 @@ export const OrdersOptionCityUI = (props: any) => {
10
10
  const {
11
11
  search,
12
12
  onSearch,
13
- allListValues
13
+ allListValues,
14
+ setOpenedSelect,
15
+ openedSelect
14
16
  } = props
15
17
 
16
18
  const theme = useTheme();
@@ -27,6 +29,14 @@ export const OrdersOptionCityUI = (props: any) => {
27
29
  setOptionsList(cities)
28
30
  }, [allListValues?.countries])
29
31
 
32
+ const handleClear = () => {
33
+ onSearch({ ...search, city: '' })
34
+ }
35
+
36
+ const handleOpenSelect = () => {
37
+ setOpenedSelect('city')
38
+ }
39
+
30
40
  return (
31
41
  <Container isIos={Platform.OS === 'ios'}>
32
42
  <ODropDown
@@ -38,6 +48,10 @@ export const OrdersOptionCityUI = (props: any) => {
38
48
  textcolor={theme.colors.unselectText}
39
49
  placeholder={t('SELECT_CITY', 'Select City')}
40
50
  dropViewMaxHeight={200}
51
+ handleClear={handleClear}
52
+ handleOpenSelect={handleOpenSelect}
53
+ openedSelect={openedSelect}
54
+ selectType='city'
41
55
  />
42
56
  </Container>
43
57
  );
@@ -3,12 +3,16 @@ import { useLanguage } from 'ordering-components/native';
3
3
  import { useTheme } from 'styled-components/native';
4
4
  import { Container } from './styles';
5
5
  import ODropDownCalendar from '../shared/ODropDownCalendar';
6
- import { Platform } from 'react-native'
7
-
6
+ import { Button, Platform, Touchable, TouchableOpacity, View } from 'react-native'
7
+ import DoubleClick from 'react-native-double-tap'
8
+ import { OText } from '../shared';
9
+ import DoubleTap from 'react-native-double-tap';
8
10
  export const OrdersOptionDate = (props: any) => {
9
11
  const {
10
12
  search,
11
- onSearch
13
+ onSearch,
14
+ setOpenedSelect,
15
+ openedSelect
12
16
  } = props
13
17
 
14
18
  const theme = useTheme();
@@ -22,18 +26,23 @@ export const OrdersOptionDate = (props: any) => {
22
26
 
23
27
  const handleChangeOption = (option: any) => {
24
28
  if (option === 'calendar') {
25
- onSearch({...search, date: {...search.date, type: option}})
29
+ onSearch({ ...search, date: { ...search.date, type: option } })
26
30
  } else {
27
- onSearch({...search, date: {from: '', to: '', type: option}})
31
+ onSearch({ ...search, date: { from: '', to: '', type: option } })
28
32
  }
29
33
  }
30
34
 
31
35
  const handleChangeDate = (from: any, to: any) => {
32
- onSearch({...search, date: {...search.date, from: from, to: to}})
36
+ onSearch({ ...search, date: { ...search.date, from: from, to: to } })
37
+ }
38
+
39
+ const handleOpenSelect = () => {
40
+ setOpenedSelect('calendar')
33
41
  }
34
42
 
35
43
  return (
36
44
  <Container isIos={Platform.OS === 'ios'}>
45
+
37
46
  <ODropDownCalendar
38
47
  options={optionsList}
39
48
  defaultValue={search.date.type}
@@ -47,6 +56,10 @@ export const OrdersOptionDate = (props: any) => {
47
56
  rangeDate={search.date}
48
57
  handleChangeDate={handleChangeDate}
49
58
  isCalendarAlwaysVisible
59
+ handleClear={() => onSearch({ ...search, date: { from: '', to: '', type: '' } })}
60
+ handleOpenSelect={handleOpenSelect}
61
+ openedSelect={openedSelect}
62
+ selectType='calendar'
50
63
  />
51
64
  </Container>
52
65
  );
@@ -8,7 +8,9 @@ import { Platform } from 'react-native'
8
8
  export const OrdersOptionDelivery = (props: any) => {
9
9
  const {
10
10
  search,
11
- onSearch
11
+ onSearch,
12
+ setOpenedSelect,
13
+ openedSelect
12
14
  } = props
13
15
 
14
16
  const theme = useTheme();
@@ -18,6 +20,14 @@ export const OrdersOptionDelivery = (props: any) => {
18
20
  { value: '2', content: t('PICKUP', 'Pickup') }
19
21
  ]
20
22
 
23
+ const handleClear = () => {
24
+ onSearch({ ...search, delivery_type: '' })
25
+ }
26
+
27
+ const handleOpenSelect = () => {
28
+ setOpenedSelect('delivery_type')
29
+ }
30
+
21
31
  return (
22
32
  <Container isIos={Platform.OS === 'ios'}>
23
33
  <ODropDown
@@ -29,6 +39,10 @@ export const OrdersOptionDelivery = (props: any) => {
29
39
  textcolor={theme.colors.unselectText}
30
40
  placeholder={t('SELECT_DELIVERY_TYPE', 'Select Delivery type')}
31
41
  dropViewMaxHeight={200}
42
+ handleClear={handleClear}
43
+ handleOpenSelect={handleOpenSelect}
44
+ openedSelect={openedSelect}
45
+ selectType='delivery_type'
32
46
  />
33
47
  </Container>
34
48
  );
@@ -9,7 +9,9 @@ export const OrdersOptionDriverUI = (props: any) => {
9
9
  const {
10
10
  search,
11
11
  onSearch,
12
- driverList
12
+ driverList,
13
+ setOpenedSelect,
14
+ openedSelect
13
15
  } = props
14
16
 
15
17
  const theme = useTheme();
@@ -24,6 +26,14 @@ export const OrdersOptionDriverUI = (props: any) => {
24
26
  setOptionsList(drivers)
25
27
  }, [driverList?.drivers])
26
28
 
29
+ const handleClear = () => {
30
+ onSearch({ ...search, driver: '' })
31
+ }
32
+
33
+ const handleOpenSelect = () => {
34
+ setOpenedSelect('driver')
35
+ }
36
+
27
37
  return (
28
38
  <Container isIos={Platform.OS === 'ios'}>
29
39
  <ODropDown
@@ -35,6 +45,10 @@ export const OrdersOptionDriverUI = (props: any) => {
35
45
  textcolor={theme.colors.unselectText}
36
46
  placeholder={t('SELECT_DRIVER', 'Select Driver')}
37
47
  dropViewMaxHeight={165}
48
+ handleClear={handleClear}
49
+ handleOpenSelect={handleOpenSelect}
50
+ openedSelect={openedSelect}
51
+ selectType='driver'
38
52
  />
39
53
  </Container>
40
54
  );
@@ -9,7 +9,9 @@ export const OrdersOptionPaymethodUI = (props: any) => {
9
9
  const {
10
10
  search,
11
11
  onSearch,
12
- paymethodList
12
+ paymethodList,
13
+ setOpenedSelect,
14
+ openedSelect
13
15
  } = props
14
16
 
15
17
  const theme = useTheme();
@@ -24,6 +26,14 @@ export const OrdersOptionPaymethodUI = (props: any) => {
24
26
  setOptionsList(paymethods)
25
27
  }, [paymethodList?.paymethods])
26
28
 
29
+ const handleClear = () => {
30
+ onSearch({ ...search, paymethod: '' })
31
+ }
32
+
33
+ const handleOpenSelect = () => {
34
+ setOpenedSelect('paymethod')
35
+ }
36
+
27
37
  return (
28
38
  <Container isIos={Platform.OS === 'ios'}>
29
39
  <ODropDown
@@ -35,6 +45,10 @@ export const OrdersOptionPaymethodUI = (props: any) => {
35
45
  textcolor={theme.colors.unselectText}
36
46
  placeholder={t('SELECT_PAYMETHOD', 'Select Paymethod')}
37
47
  dropViewMaxHeight={200}
48
+ handleClear={handleClear}
49
+ handleOpenSelect={handleOpenSelect}
50
+ openedSelect={openedSelect}
51
+ selectType='paymethod'
38
52
  />
39
53
  </Container>
40
54
  );
@@ -11,7 +11,9 @@ export const OrdersOptionStatus = (props: any) => {
11
11
  tabs,
12
12
  orderStatus,
13
13
  search,
14
- onSearch
14
+ onSearch,
15
+ setOpenedSelect,
16
+ openedSelect
15
17
  } = props
16
18
 
17
19
  const theme = useTheme();
@@ -29,6 +31,10 @@ export const OrdersOptionStatus = (props: any) => {
29
31
  setOptionsList(_optionList)
30
32
  }, [currentTabSelected, tabs, orderStatus])
31
33
 
34
+ const handleOpenSelect = () => {
35
+ setOpenedSelect('state')
36
+ }
37
+
32
38
  return (
33
39
  <Container isIos={Platform.OS === 'ios'}>
34
40
  <ODropDown
@@ -40,6 +46,9 @@ export const OrdersOptionStatus = (props: any) => {
40
46
  textcolor={theme.colors.unselectText}
41
47
  placeholder={t('SELECT_STATUS', 'Select Status')}
42
48
  dropViewMaxHeight={200}
49
+ handleOpenSelect={handleOpenSelect}
50
+ openedSelect={openedSelect}
51
+ selectType='state'
43
52
  />
44
53
  </Container>
45
54
  );
@@ -176,17 +176,17 @@ export const PreviousMessages = (props: PreviousMessagesParams) => {
176
176
  slug: 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
177
177
  percentage: 95,
178
178
  },
179
- {
180
- key: 22,
181
- value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver'),
182
- slug: 'ORDER_LOOKING_FOR_DRIVER',
179
+ {
180
+ key: 22,
181
+ value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver'),
182
+ slug: 'ORDER_LOOKING_FOR_DRIVER',
183
183
  percentage: 35
184
184
  },
185
- {
186
- key: 23,
187
- value: t('ORDER_DRIVER_ON_WAY', 'Driver on way'),
188
- slug: 'ORDER_DRIVER_ON_WAY',
189
- percentage: 45
185
+ {
186
+ key: 23,
187
+ value: t('ORDER_DRIVER_ON_WAY', 'Driver on way'),
188
+ slug: 'ORDER_DRIVER_ON_WAY',
189
+ percentage: 45
190
190
  }
191
191
  ];
192
192
 
@@ -230,6 +230,7 @@ export const PreviousMessages = (props: PreviousMessagesParams) => {
230
230
  fontWeight: '600',
231
231
  fontSize: 16,
232
232
  color: theme.colors.textGray,
233
+ width: '85%'
233
234
  },
234
235
  badge: {
235
236
  marginBottom: 6,
@@ -265,15 +266,13 @@ export const PreviousMessages = (props: PreviousMessagesParams) => {
265
266
  style={styles.cardButton}
266
267
  activeOpacity={1}>
267
268
  <Card key={order?.id}>
268
- {!!order?.business?.logo && (
269
- <Logo style={styles.logo}>
270
- <OIcon
271
- url={optimizeImage(order?.business?.logo, 'h_300,c_limit')}
272
- style={styles.icon}
273
- />
274
- </Logo>
275
- )}
276
-
269
+ <Logo style={styles.logo}>
270
+ <OIcon
271
+ url={optimizeImage(order?.business?.logo, 'h_300,c_limit')}
272
+ src={!order?.business?.logo && theme?.images?.dummies?.businessLogo}
273
+ style={styles.icon}
274
+ />
275
+ </Logo>
277
276
  <Information>
278
277
  <Header>
279
278
  <OText numberOfLines={1} style={styles.title}>