ordering-ui-react-native 0.15.92 → 0.15.93-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 (233) hide show
  1. package/package.json +7 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +8 -14
  5. package/src/components/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessController/index.tsx +16 -8
  8. package/src/components/BusinessInformation/index.tsx +14 -0
  9. package/src/components/BusinessTypeFilter/index.tsx +1 -2
  10. package/src/components/BusinessesListing/index.tsx +1 -1
  11. package/src/components/Checkout/index.tsx +2 -1
  12. package/src/components/DriverTips/index.tsx +11 -6
  13. package/src/components/LanguageSelector/index.tsx +21 -16
  14. package/src/components/LoginForm/index.tsx +120 -30
  15. package/src/components/LoginForm/styles.tsx +6 -0
  16. package/src/components/Messages/index.tsx +2 -2
  17. package/src/components/NotificationSetting/index.tsx +85 -0
  18. package/src/components/OrderDetails/index.tsx +7 -21
  19. package/src/components/OrdersOption/index.tsx +54 -56
  20. package/src/components/PaymentOptions/index.tsx +335 -365
  21. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  22. package/src/components/ReviewDriver/index.tsx +1 -1
  23. package/src/components/ReviewOrder/index.tsx +2 -1
  24. package/src/components/ReviewProducts/index.tsx +11 -0
  25. package/src/components/SignupForm/index.tsx +145 -61
  26. package/src/components/SingleProductCard/index.tsx +16 -4
  27. package/src/components/SingleProductReview/index.tsx +1 -1
  28. package/src/components/StripeElementsForm/index.tsx +25 -16
  29. package/src/components/StripeMethodForm/index.tsx +22 -24
  30. package/src/components/UpsellingProducts/index.tsx +1 -1
  31. package/src/components/UserProfileForm/index.tsx +63 -6
  32. package/src/components/UserProfileForm/styles.tsx +8 -0
  33. package/src/components/VerifyPhone/styles.tsx +1 -2
  34. package/src/components/shared/OBottomPopup.tsx +6 -2
  35. package/src/components/shared/OModal.tsx +1 -1
  36. package/src/index.tsx +2 -0
  37. package/src/navigators/CheckoutNavigator.tsx +6 -0
  38. package/src/navigators/HomeNavigator.tsx +6 -0
  39. package/src/pages/BusinessesListing.tsx +7 -6
  40. package/src/pages/MultiCheckout.tsx +31 -0
  41. package/src/pages/MultiOrdersDetails.tsx +27 -0
  42. package/src/pages/OrderDetails.tsx +1 -1
  43. package/src/pages/ReviewDriver.tsx +2 -2
  44. package/src/pages/ReviewOrder.tsx +2 -2
  45. package/src/theme.json +0 -1
  46. package/src/types/index.tsx +18 -11
  47. package/src/utils/index.tsx +1 -2
  48. package/themes/business/index.tsx +4 -0
  49. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +1 -1
  50. package/themes/business/src/components/Chat/index.tsx +14 -6
  51. package/themes/business/src/components/DriverMap/index.tsx +6 -5
  52. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  53. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  54. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  55. package/themes/business/src/components/MapView/index.tsx +1 -1
  56. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  57. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  58. package/themes/business/src/components/OrderDetails/Delivery.tsx +6 -4
  59. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -18
  60. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  61. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  62. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  63. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  64. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  65. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  66. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  67. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  68. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  69. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  70. package/themes/business/src/components/PreviousMessages/index.tsx +1 -0
  71. package/themes/business/src/components/PreviousOrders/index.tsx +7 -7
  72. package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
  73. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  74. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  75. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  76. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  77. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  78. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  79. package/themes/business/src/components/shared/OModal.tsx +41 -38
  80. package/themes/business/src/types/index.tsx +14 -9
  81. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  82. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  83. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  84. package/themes/kiosk/src/components/BusinessMenu/index.tsx +25 -26
  85. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -3
  86. package/themes/kiosk/src/components/Cart/index.tsx +10 -11
  87. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +9 -2
  88. package/themes/kiosk/src/components/CartContent/index.tsx +0 -11
  89. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  90. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +107 -62
  91. package/themes/kiosk/src/components/Checkout/index.tsx +40 -22
  92. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  93. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  94. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  95. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  96. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  97. package/themes/kiosk/src/components/OrderDetails/index.tsx +2 -2
  98. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +9 -11
  99. package/themes/kiosk/src/components/PaymentOptions/index.tsx +55 -53
  100. package/themes/kiosk/src/components/ProductForm/index.tsx +6 -7
  101. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +3 -1
  102. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +16 -5
  103. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  104. package/themes/kiosk/src/types/index.d.ts +1 -0
  105. package/themes/original/index.tsx +22 -0
  106. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  107. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  108. package/themes/original/src/components/AddressForm/index.tsx +137 -134
  109. package/themes/original/src/components/AddressList/index.tsx +2 -2
  110. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  111. package/themes/original/src/components/BusinessBasicInformation/index.tsx +302 -160
  112. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  113. package/themes/original/src/components/BusinessController/index.tsx +179 -96
  114. package/themes/original/src/components/BusinessController/styles.tsx +5 -0
  115. package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -8
  116. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  117. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  118. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  119. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  120. package/themes/original/src/components/BusinessListingSearch/index.tsx +106 -126
  121. package/themes/original/src/components/BusinessListingSearch/styles.tsx +18 -13
  122. package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
  123. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
  124. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  125. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  126. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  127. package/themes/original/src/components/BusinessProductsList/index.tsx +66 -73
  128. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  129. package/themes/original/src/components/BusinessProductsListing/index.tsx +296 -178
  130. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
  131. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  132. package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
  133. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  134. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
  135. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
  136. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
  137. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  138. package/themes/original/src/components/BusinessesListing/index.tsx +102 -464
  139. package/themes/original/src/components/Cart/index.tsx +82 -37
  140. package/themes/original/src/components/Cart/styles.tsx +4 -0
  141. package/themes/original/src/components/CartContent/index.tsx +22 -16
  142. package/themes/original/src/components/Checkout/index.tsx +107 -67
  143. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  144. package/themes/original/src/components/DriverTips/index.tsx +17 -12
  145. package/themes/original/src/components/Favorite/index.tsx +92 -0
  146. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  147. package/themes/original/src/components/FavoriteList/index.tsx +298 -0
  148. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  149. package/themes/original/src/components/GPSButton/index.tsx +25 -17
  150. package/themes/original/src/components/GoogleMap/index.tsx +21 -12
  151. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  152. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  153. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  154. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  155. package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -2
  156. package/themes/original/src/components/LoginForm/index.tsx +16 -10
  157. package/themes/original/src/components/Messages/index.tsx +17 -17
  158. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  159. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  160. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  161. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  162. package/themes/original/src/components/MultiCheckout/index.tsx +304 -0
  163. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  164. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  165. package/themes/original/src/components/MultiOrdersDetails/index.tsx +262 -0
  166. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  167. package/themes/original/src/components/MyOrders/index.tsx +132 -27
  168. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  169. package/themes/original/src/components/NavBar/index.tsx +11 -5
  170. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  171. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  172. package/themes/original/src/components/OrderDetails/index.tsx +138 -58
  173. package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
  174. package/themes/original/src/components/OrderItAgain/index.tsx +73 -0
  175. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  176. package/themes/original/src/components/OrderProgress/index.tsx +8 -2
  177. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  178. package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
  179. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  180. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +140 -0
  181. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  182. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +53 -0
  183. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  184. package/themes/original/src/components/OrdersOption/index.tsx +138 -46
  185. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  186. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  187. package/themes/original/src/components/PaymentOptionWallet/index.tsx +15 -23
  188. package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
  189. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
  190. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  191. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  192. package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
  193. package/themes/original/src/components/ProductForm/index.tsx +694 -647
  194. package/themes/original/src/components/ProductForm/styles.tsx +9 -7
  195. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  196. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  197. package/themes/original/src/components/ProfessionalFilter/index.tsx +128 -0
  198. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  199. package/themes/original/src/components/ProfessionalProfile/index.tsx +298 -0
  200. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  201. package/themes/original/src/components/Promotions/index.tsx +4 -4
  202. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  203. package/themes/original/src/components/ReviewOrder/index.tsx +1 -1
  204. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  205. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  206. package/themes/original/src/components/SearchBar/index.tsx +13 -5
  207. package/themes/original/src/components/ServiceForm/index.tsx +579 -0
  208. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  209. package/themes/original/src/components/SignupForm/index.tsx +237 -127
  210. package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
  211. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  212. package/themes/original/src/components/SingleProductCard/index.tsx +204 -95
  213. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  214. package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
  215. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  216. package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
  217. package/themes/original/src/components/UserDetails/index.tsx +32 -18
  218. package/themes/original/src/components/UserFormDetails/index.tsx +108 -74
  219. package/themes/original/src/components/UserProfile/index.tsx +4 -0
  220. package/themes/original/src/components/UserProfileForm/index.tsx +15 -10
  221. package/themes/original/src/components/UserVerification/index.tsx +178 -192
  222. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  223. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  224. package/themes/original/src/components/Wallets/index.tsx +176 -162
  225. package/themes/original/src/components/Wallets/styles.tsx +10 -8
  226. package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
  227. package/themes/original/src/components/shared/OButton.tsx +10 -3
  228. package/themes/original/src/components/shared/OInput.tsx +3 -2
  229. package/themes/original/src/components/shared/OModal.tsx +4 -2
  230. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  231. package/themes/original/src/types/index.tsx +197 -47
  232. package/themes/original/src/utils/index.tsx +77 -0
  233. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -5,8 +5,10 @@ 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';
@@ -32,7 +34,8 @@ import {
32
34
  ItemContent,
33
35
  TimerInputWrapper,
34
36
  OverLine,
35
- Actions
37
+ Actions,
38
+ InputContainer
36
39
  } from './styles';
37
40
  import { PreviousOrders } from '../PreviousOrders';
38
41
  import { OrdersOptionParams } from '../../types';
@@ -47,7 +50,7 @@ import { OrdersOptionDelivery } from '../OrdersOptionDelivery';
47
50
  import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
48
51
  import { OrdersOptionDriver } from '../OrdersOptionDriver';
49
52
  import { OrdersOptionDate } from '../OrdersOptionDate';
50
-
53
+ import { GestureEvent, GestureDetector } from 'react-native-gesture-handler'
51
54
  const tabsList: any = {
52
55
  pending: 1,
53
56
  inProgress: 2,
@@ -88,7 +91,8 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
88
91
  handleClickLogisticOrder,
89
92
  logisticOrders,
90
93
  loadLogisticOrders,
91
- isLogisticActivated
94
+ isLogisticActivated,
95
+ isAlsea
92
96
  } = props;
93
97
 
94
98
  const defaultSearchList = {
@@ -121,7 +125,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
121
125
  const [selectedTabStatus, setSelectedTabStatus] = useState([])
122
126
  const [hour, setHour] = useState(0)
123
127
  const [minute, setMinute] = useState(0)
124
-
128
+ const [openedSelect, setOpenedSelect] = useState('')
125
129
  const WIDTH_SCREEN = orientationState?.dimensions?.width
126
130
  const HEIGHT_SCREEN = orientationState?.dimensions?.height
127
131
  const IS_PORTRAIT = orientationState.orientation === PORTRAIT
@@ -401,19 +405,21 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
401
405
  setOpenSLASettingModal(false)
402
406
  }
403
407
 
404
- useEffect(() => {
405
- setCurrentFilters(null)
406
- onFiltered && onFiltered(null)
408
+ const handleClearFilters = () => {
407
409
  setSearch(defaultSearchList)
410
+ }
411
+
412
+ useEffect(() => {
408
413
  scrollRefTab.current?.scrollTo({ animated: true });
409
414
  scrollListRef.current?.scrollTo({ animated: true });
410
415
  scrollRef.current?.scrollTo({ y: 0, animated: true });
416
+ setTags({ values: [] })
411
417
  }, [currentTabSelected])
412
418
 
413
419
  useEffect(() => {
414
420
  setSelectedTabStatus(deliveryStatus)
415
421
  }, [])
416
-
422
+
417
423
  return (
418
424
  // <GestureRecognizer
419
425
  // onSwipeLeft={onSwipeLeft}
@@ -545,7 +551,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
545
551
  </ScrollView>
546
552
  </FiltersTab>
547
553
  <View style={{ flex: 1, minHeight: HEIGHT_SCREEN - 450 }}>
548
- {currentTabSelected !== 'logisticOrders' && (
554
+ {currentTabSelected !== 'logisticOrders' && !isAlsea && (
549
555
  <View
550
556
  style={{
551
557
  display: 'flex',
@@ -725,11 +731,11 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
725
731
  </ScrollView>
726
732
  </View>
727
733
  {/* </GestureRecognizer> */}
728
-
734
+
729
735
  {isBusinessApp && (
730
736
  <NewOrderNotification isBusinessApp={isBusinessApp} />
731
737
  )}
732
-
738
+
733
739
  {(openSearchModal || openSLASettingModal) && (
734
740
  <OModal open={openSearchModal || openSLASettingModal} entireModal customClose>
735
741
  <ModalContainer
@@ -752,22 +758,34 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
752
758
  {openSearchModal && (
753
759
  <SearchModalContent>
754
760
  <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
755
- <OInput
756
- value={search.id}
757
- onChange={(value: any) => setSearch({ ...search, id: value })}
758
- style={styles.inputStyle}
759
- placeholder={t('ORDER_NUMBER', 'Order number')}
760
- autoCorrect={false}
761
- />
761
+ <InputContainer>
762
+ <OInput
763
+ value={search.id}
764
+ onChange={(value: any) => setSearch({ ...search, id: value })}
765
+ style={styles.inputStyle}
766
+ placeholder={t('ORDER_NUMBER', 'Order number')}
767
+ autoCorrect={false}
768
+ />
769
+ <AntDesignIcon
770
+ name='close'
771
+ size={20}
772
+ style={{ position: 'absolute', right: 12, top: 13 }}
773
+ onPress={() => setSearch({ ...search, id: '' })}
774
+ />
775
+ </InputContainer>
762
776
  <OrdersOptionDate
763
777
  {...props}
764
778
  search={search}
765
779
  onSearch={setSearch}
780
+ setOpenedSelect={setOpenedSelect}
781
+ openedSelect={openedSelect}
766
782
  />
767
783
  <OrdersOptionCity
768
784
  {...props}
769
785
  search={search}
770
786
  onSearch={setSearch}
787
+ setOpenedSelect={setOpenedSelect}
788
+ openedSelect={openedSelect}
771
789
  />
772
790
  {isBusinessApp && (
773
791
  <>
@@ -775,21 +793,29 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
775
793
  {...props}
776
794
  search={search}
777
795
  onSearch={setSearch}
796
+ setOpenedSelect={setOpenedSelect}
797
+ openedSelect={openedSelect}
778
798
  />
779
799
  <OrdersOptionDelivery
780
800
  {...props}
781
801
  search={search}
782
802
  onSearch={setSearch}
803
+ setOpenedSelect={setOpenedSelect}
804
+ openedSelect={openedSelect}
783
805
  />
784
806
  <OrdersOptionDriver
785
807
  {...props}
786
808
  search={search}
787
809
  onSearch={setSearch}
810
+ setOpenedSelect={setOpenedSelect}
811
+ openedSelect={openedSelect}
788
812
  />
789
813
  <OrdersOptionPaymethod
790
814
  {...props}
791
815
  search={search}
792
816
  onSearch={setSearch}
817
+ setOpenedSelect={setOpenedSelect}
818
+ openedSelect={openedSelect}
793
819
  />
794
820
  </>
795
821
  )}
@@ -799,13 +825,24 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
799
825
  imgRightSrc={null}
800
826
  style={{
801
827
  borderRadius: 7.6,
802
- marginBottom: 70,
828
+ marginBottom: 10,
803
829
  marginTop: 60,
804
830
  zIndex: 12
805
831
  }}
806
832
  onClick={applyFilters}
807
833
  />
808
-
834
+ <OButton
835
+ text={t('CLEAR_SEARCh', 'Clear search')}
836
+ imgRightSrc={null}
837
+ bgColor='#fff'
838
+ style={{
839
+ borderRadius: 7.6,
840
+ marginBottom: 0,
841
+ marginTop: 0,
842
+ zIndex: 12
843
+ }}
844
+ onClick={handleClearFilters}
845
+ />
809
846
  </SearchModalContent>
810
847
  )}
811
848
  {openSLASettingModal && (
@@ -934,6 +971,7 @@ export const OrdersOption = (props: OrdersOptionParams) => {
934
971
  const [, t] = useLanguage();
935
972
  const [configState] = useConfig()
936
973
  const theme = useTheme()
974
+ const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
937
975
  const ordersProps = {
938
976
  ...props,
939
977
  UIComponent: OrdersOptionUI,
@@ -1048,5 +1086,11 @@ export const OrdersOption = (props: OrdersOptionParams) => {
1048
1086
  ]
1049
1087
  };
1050
1088
 
1051
- return <OrderListGroups {...ordersProps} />;
1089
+ return (<>
1090
+ <OrderListGroups {...ordersProps} />
1091
+ {props?.checkNotification && (
1092
+ <NotificationSetting checkNotificationStatus={checkNotificationStatus}
1093
+ setCheckNotificationStatus={setCheckNotificationStatus} />
1094
+ )}
1095
+ </>);
1052
1096
  };
@@ -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, option: '' })
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
  );
@@ -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,
@@ -31,8 +31,8 @@ export const PreviousOrders = (props: any) => {
31
31
  const theme = useTheme();
32
32
  const [, setCurrentTime] = useState()
33
33
  const [allowColumns, setAllowColumns] = useState({
34
- timer: true,
35
- slaBar: true,
34
+ timer: configState?.configs?.order_deadlines_enabled?.value === '1',
35
+ slaBar: configState?.configs?.order_deadlines_enabled?.value === '1',
36
36
  })
37
37
 
38
38
  const [orientationState] = useDeviceOrientation();
@@ -104,8 +104,8 @@ export const PreviousOrders = (props: any) => {
104
104
  const offset = 300
105
105
  const cdtToutc = moment(order?.delivery_datetime).add(offset, 'minutes').format('YYYY-MM-DD HH:mm:ss')
106
106
  const _delivery = order?.delivery_datetime_utc
107
- ? parseDate(order?.delivery_datetime_utc)
108
- : parseDate(cdtToutc)
107
+ ? parseDate(order?.delivery_datetime_utc, { outputFormat: 'YYYY-MM-DD hh:mm A' })
108
+ : parseDate(cdtToutc, { outputFormat: 'YYYY-MM-DD hh:mm A' })
109
109
  const _eta = order?.eta_time
110
110
  const diffTimeAsSeconds = moment(_delivery, 'YYYY-MM-DD hh:mm A').add(_eta, 'minutes').diff(moment().utc(), 'seconds')
111
111
  return Math.ceil(diffTimeAsSeconds / 60)
@@ -178,9 +178,9 @@ export const PreviousOrders = (props: any) => {
178
178
  activeOpacity={1}
179
179
  >
180
180
  <Card key={order.id}>
181
- {allowColumns?.slaBar && (
182
- <Timestatus style={{ backgroundColor: getStatusClassName(getDelayMinutes(order)) === 'in_time' ? '#00D27A' : getStatusClassName(getDelayMinutes(order)) === 'at_risk' ? '#FFC700' : getStatusClassName(getDelayMinutes(order)) === 'delayed' ? '#E63757' : '' }} />
183
- )}
181
+ {allowColumns?.slaBar && (
182
+ <Timestatus style={{ backgroundColor: getStatusClassName(getDelayMinutes(order)) === 'in_time' ? '#00D27A' : getStatusClassName(getDelayMinutes(order)) === 'at_risk' ? '#FFC700' : getStatusClassName(getDelayMinutes(order)) === 'delayed' ? '#E63757' : '' }} />
183
+ )}
184
184
  {
185
185
  order.business?.logo && (
186
186
  <Logo style={styles.logo}>
@@ -28,6 +28,7 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
28
28
  getProductMax,
29
29
  onDeleteProduct,
30
30
  onEditProduct,
31
+ currency
31
32
  } = props;
32
33
 
33
34
  const [, t] = useLanguage();
@@ -147,13 +148,13 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
147
148
  }}>
148
149
  <View style={{ flexDirection: 'row' }}>
149
150
  <OText size={12} color={theme.colors.textGray}>
150
- {parsePrice(getProductPrice(product))}
151
+ {parsePrice(getProductPrice(product), { currency })}
151
152
  </OText>
152
153
 
153
154
  {(
154
155
  productInfo?.()?.ingredients?.length > 0 ||
155
156
  productInfo?.()?.options?.length > 0 ||
156
- product.comment
157
+ !!product.comment
157
158
  ) && !isClickableEvent && (
158
159
  <MaterialCommunityIcon name="chevron-down" size={12} />
159
160
  )}
@@ -268,7 +269,7 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
268
269
  suboption.position,
269
270
  )
270
271
  : '',
271
- price: parsePrice(suboption.price),
272
+ price: parsePrice(suboption.price, { currency }),
272
273
  })}
273
274
  </OText>
274
275
  </ProductSubOption>
@@ -278,7 +279,7 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
278
279
  </ProductOptionsList>
279
280
  )}
280
281
 
281
- {product.comment && (
282
+ {!!product.comment && (
282
283
  <ProductComment>
283
284
  <OText
284
285
  size={12}
@@ -270,7 +270,7 @@ const ReviewCustomerUI = (props: ReviewCustomerParams) => {
270
270
  }}
271
271
  style={{ height: 35, paddingLeft: 5, paddingRight: 5, marginHorizontal: 3, marginVertical: 10 }}
272
272
  imgRightSrc={isSelectedComment(commentItem.key) ? theme.images.general.close : null}
273
- imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
273
+ imgRightStyle={{ right: 5, margin: 5 }}
274
274
  onClick={() => handleChangeComment(commentItem) }
275
275
  />
276
276
  ))}
@@ -0,0 +1,53 @@
1
+ import React from 'react'
2
+ import { Dimensions, View } from 'react-native'
3
+ import { OButton, OIcon, OText } from '../shared'
4
+ import { useLanguage, useSession } from 'ordering-components/native'
5
+ import { useTheme } from 'styled-components/native'
6
+
7
+ export const ScheduleBlocked = (props : any) => {
8
+ const { nextSchedule } = props
9
+ const [, t] = useLanguage()
10
+ const [, {logout}] = useSession()
11
+ const theme = useTheme()
12
+ const deviceWidth = Dimensions.get('screen').width
13
+
14
+ const daysOfWeek = [
15
+ t('SUNDAY', 'Sunday'),
16
+ t('MONDAY', 'Monday'),
17
+ t('TUESDAY', 'Tuesday'),
18
+ t('WEDNESDAY', 'Wednesday'),
19
+ t('THURSDAY', 'Thurday'),
20
+ t('FRIDAY', 'Friday'),
21
+ t('SATURDAY', 'Saturday'),
22
+ ]
23
+
24
+ const scheduleFormatted = ({ hour, minute }: any) => {
25
+ const checkTime = (val: number) => val < 10 ? `0${val}` : val
26
+ return `${checkTime(hour)}:${checkTime(minute)}`
27
+ }
28
+
29
+ const goBack = () => {
30
+ logout()
31
+ }
32
+
33
+ return (
34
+ <View style={{ alignItems: 'center', padding: 40 }}>
35
+ <OText size={20}>{t('YOU_CANT_LOGIN', 'You can\'t login')}</OText>
36
+ <OIcon
37
+ src={theme.images?.general?.deliveryWaiting}
38
+ width={(deviceWidth - 80) * 0.9}
39
+ height={(deviceWidth - 80) * 0.8}
40
+ />
41
+ <OText>{t('OUTSIDE_ESTABLISHED_SCHEDULE', 'You are outside the established schedule')}</OText>
42
+ <View style={{ flexDirection: 'row', marginBottom: 20 }}>
43
+ <OText color={theme.colors.primary}>{t('NEXT_TIME', 'Next time')}: </OText>
44
+ <OText>{daysOfWeek[nextSchedule?.day]} {scheduleFormatted(nextSchedule?.schedule?.open)}</OText>
45
+ </View>
46
+ <OButton
47
+ text={t('GO_BACK', 'Go back')}
48
+ textStyle={{ color: theme.colors.white }}
49
+ onClick={goBack}
50
+ />
51
+ </View>
52
+ )
53
+ }
@@ -36,6 +36,7 @@ export const UserFormDetailsUI = (props: any) => {
36
36
  handleCancelEdit,
37
37
  toggleIsEdit,
38
38
  isCheckout,
39
+ isAlsea
39
40
  } = props;
40
41
 
41
42
  const theme = useTheme();
@@ -265,7 +266,9 @@ export const UserFormDetailsUI = (props: any) => {
265
266
  }).map(
266
267
  (field: any) =>
267
268
  showField &&
268
- showField(field.code) && (
269
+ showField(field.code) &&
270
+ !isAlsea
271
+ && (
269
272
  <React.Fragment key={field.id}>
270
273
  <OText style={styles.label}>
271
274
  {t(field?.code.toUpperCase(), field?.name)}
@@ -442,7 +445,7 @@ export const UserFormDetailsUI = (props: any) => {
442
445
  </OText>
443
446
  )}
444
447
 
445
- {!!showInputPhoneNumber && (
448
+ {!!showInputPhoneNumber && !isAlsea && (
446
449
  <WrapperPhone>
447
450
  <PhoneInputNumber
448
451
  data={phoneInputData}