ordering-ui-react-native 0.21.34 → 0.21.35-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 (213) hide show
  1. package/package.json +7 -6
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/PaymentOptionsWebView/index.tsx +1 -0
  5. package/src/components/StripeMethodForm/index.tsx +6 -4
  6. package/src/components/VerifyPhone/styles.tsx +1 -2
  7. package/src/types/index.tsx +3 -1
  8. package/src/utils/index.tsx +2 -2
  9. package/themes/business/index.tsx +4 -0
  10. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -2
  11. package/themes/business/src/components/BusinessController/index.tsx +19 -17
  12. package/themes/business/src/components/BusinessProductList/AccordionDropdown.tsx +63 -0
  13. package/themes/business/src/components/BusinessProductList/IterateCategories.tsx +108 -0
  14. package/themes/business/src/components/BusinessProductList/ProductList.tsx +196 -0
  15. package/themes/business/src/components/BusinessProductList/index.tsx +196 -0
  16. package/themes/business/src/components/BusinessProductList/styles.tsx +10 -0
  17. package/themes/business/src/components/DriverMap/index.tsx +36 -23
  18. package/themes/business/src/components/FloatingButton/index.tsx +34 -31
  19. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  20. package/themes/business/src/components/Home/index.tsx +5 -1
  21. package/themes/business/src/components/LanguageSelector/index.tsx +1 -2
  22. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  23. package/themes/business/src/components/MapView/index.tsx +16 -9
  24. package/themes/business/src/components/MessagesOption/index.tsx +2 -1
  25. package/themes/business/src/components/NewOrderNotification/index.tsx +55 -23
  26. package/themes/business/src/components/OrderDetails/Business.tsx +50 -2
  27. package/themes/business/src/components/OrderDetails/Delivery.tsx +23 -11
  28. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +61 -54
  29. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +52 -20
  30. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +220 -0
  31. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +6 -1
  32. package/themes/business/src/components/OrderSummary/index.tsx +240 -76
  33. package/themes/business/src/components/OrdersListManager/index.tsx +7 -2
  34. package/themes/business/src/components/OrdersListManager/utils.tsx +1 -1
  35. package/themes/business/src/components/OrdersOption/index.tsx +124 -43
  36. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  37. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +36 -38
  38. package/themes/business/src/components/PreviousOrders/OrderList.tsx +18 -13
  39. package/themes/business/src/components/PreviousOrders/index.tsx +80 -66
  40. package/themes/business/src/components/PreviousOrders/styles.tsx +10 -0
  41. package/themes/business/src/components/PrinterSettings/index.tsx +279 -0
  42. package/themes/business/src/components/PrinterSettings/styles.tsx +17 -0
  43. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  44. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  45. package/themes/business/src/components/SearchBar/index.tsx +2 -1
  46. package/themes/business/src/components/Sessions/index.tsx +187 -0
  47. package/themes/business/src/components/Sessions/styles.tsx +20 -0
  48. package/themes/business/src/components/StoresList/index.tsx +5 -3
  49. package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
  50. package/themes/business/src/components/UserProfileForm/index.tsx +107 -53
  51. package/themes/business/src/components/WebsocketStatus/index.tsx +171 -0
  52. package/themes/business/src/components/WebsocketStatus/styles.tsx +28 -0
  53. package/themes/business/src/components/shared/OInput.tsx +2 -0
  54. package/themes/business/src/hooks/useLocation.tsx +5 -4
  55. package/themes/business/src/types/index.tsx +15 -2
  56. package/themes/business/src/utils/index.tsx +5 -0
  57. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  58. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  59. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  60. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  61. package/themes/kiosk/src/components/LoginForm/index.tsx +7 -4
  62. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  63. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  64. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  65. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  66. package/themes/original/index.tsx +9 -4
  67. package/themes/original/src/components/AddressDetails/index.tsx +20 -10
  68. package/themes/original/src/components/AddressForm/index.tsx +27 -12
  69. package/themes/original/src/components/AddressForm/styles.tsx +1 -1
  70. package/themes/original/src/components/AddressList/index.tsx +18 -4
  71. package/themes/original/src/components/AddressList/styles.tsx +4 -4
  72. package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
  73. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  74. package/themes/original/src/components/BusinessBasicInformation/index.tsx +7 -10
  75. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +1 -1
  76. package/themes/original/src/components/BusinessController/index.tsx +18 -10
  77. package/themes/original/src/components/BusinessController/styles.tsx +8 -7
  78. package/themes/original/src/components/BusinessInformation/index.tsx +0 -1
  79. package/themes/original/src/components/BusinessInformation/styles.tsx +2 -2
  80. package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -7
  81. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +317 -0
  82. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +96 -0
  83. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +1 -1
  84. package/themes/original/src/components/BusinessListingSearch/index.tsx +47 -358
  85. package/themes/original/src/components/BusinessListingSearch/styles.tsx +1 -1
  86. package/themes/original/src/components/BusinessPreorder/index.tsx +4 -3
  87. package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -1
  88. package/themes/original/src/components/BusinessProductsList/index.tsx +3 -3
  89. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  90. package/themes/original/src/components/BusinessProductsListing/index.tsx +35 -19
  91. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -2
  92. package/themes/original/src/components/BusinessReviews/index.tsx +1 -1
  93. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  94. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -5
  95. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
  96. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
  97. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
  98. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +24 -404
  99. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  100. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  101. package/themes/original/src/components/Cart/index.tsx +32 -9
  102. package/themes/original/src/components/CartContent/index.tsx +96 -58
  103. package/themes/original/src/components/CartStoresListing/styles.tsx +2 -2
  104. package/themes/original/src/components/Checkout/index.tsx +149 -63
  105. package/themes/original/src/components/Checkout/styles.tsx +17 -0
  106. package/themes/original/src/components/CitiesControl/styles.tsx +1 -1
  107. package/themes/original/src/components/DatePicker/index.tsx +33 -0
  108. package/themes/original/src/components/DatePicker/styles.tsx +20 -0
  109. package/themes/original/src/components/Favorite/index.tsx +9 -9
  110. package/themes/original/src/components/Favorite/styles.tsx +0 -2
  111. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  112. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -0
  113. package/themes/original/src/components/GPSButton/index.tsx +1 -1
  114. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
  115. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
  116. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +8 -3
  117. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +36 -3
  118. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +1 -1
  119. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +67 -4
  120. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +1 -1
  121. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +2 -2
  122. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +1 -1
  123. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
  124. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
  125. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +83 -0
  126. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
  127. package/themes/original/src/components/GoogleMap/index.tsx +1 -1
  128. package/themes/original/src/components/Help/index.tsx +7 -0
  129. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +5 -0
  130. package/themes/original/src/components/HelpGuide/index.tsx +5 -0
  131. package/themes/original/src/components/HelpOrder/index.tsx +5 -0
  132. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +2 -2
  133. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +1 -1
  134. package/themes/original/src/components/Home/index.tsx +2 -1
  135. package/themes/original/src/components/LastOrder/index.tsx +2 -1
  136. package/themes/original/src/components/LastOrders/index.tsx +2 -1
  137. package/themes/original/src/components/LoginForm/Otp/index.tsx +4 -16
  138. package/themes/original/src/components/LoginForm/index.tsx +8 -3
  139. package/themes/original/src/components/MessageListing/index.tsx +6 -0
  140. package/themes/original/src/components/Messages/index.tsx +8 -7
  141. package/themes/original/src/components/Messages/styles.tsx +1 -1
  142. package/themes/original/src/components/MomentOption/index.tsx +19 -4
  143. package/themes/original/src/components/MultiCart/index.tsx +1 -1
  144. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +1 -0
  145. package/themes/original/src/components/MultiCheckout/index.tsx +208 -21
  146. package/themes/original/src/components/MultiCheckout/styles.tsx +17 -0
  147. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -15
  148. package/themes/original/src/components/MyOrders/index.tsx +28 -28
  149. package/themes/original/src/components/NavBar/index.tsx +5 -1
  150. package/themes/original/src/components/NetworkError/index.tsx +2 -3
  151. package/themes/original/src/components/NetworkError/styles.tsx +2 -2
  152. package/themes/original/src/components/Notifications/index.tsx +9 -8
  153. package/themes/original/src/components/Notifications/styles.tsx +0 -1
  154. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +1 -1
  155. package/themes/original/src/components/OrderDetails/index.tsx +709 -665
  156. package/themes/original/src/components/OrderDetails/styles.tsx +24 -8
  157. package/themes/original/src/components/OrderProgress/index.tsx +24 -4
  158. package/themes/original/src/components/OrderProgress/styles.tsx +1 -1
  159. package/themes/original/src/components/OrderSummary/index.tsx +3 -1
  160. package/themes/original/src/components/OrderTypeSelector/index.tsx +10 -6
  161. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +1 -1
  162. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +1 -1
  163. package/themes/original/src/components/OrdersOption/index.tsx +3 -5
  164. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  165. package/themes/original/src/components/PaymentOptionCard/index.tsx +4 -2
  166. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  167. package/themes/original/src/components/PaymentOptions/index.tsx +50 -5
  168. package/themes/original/src/components/PreviousOrders/index.tsx +2 -0
  169. package/themes/original/src/components/ProductForm/ActionButton.tsx +122 -0
  170. package/themes/original/src/components/ProductForm/ExtraOptions.tsx +56 -0
  171. package/themes/original/src/components/ProductForm/index.tsx +67 -155
  172. package/themes/original/src/components/ProductItemAccordion/index.tsx +54 -44
  173. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  174. package/themes/original/src/components/ProductOptionSubOption/index.tsx +105 -91
  175. package/themes/original/src/components/ProfessionalProfile/styles.tsx +3 -3
  176. package/themes/original/src/components/Promotions/index.tsx +13 -11
  177. package/themes/original/src/components/Promotions/styles.tsx +0 -2
  178. package/themes/original/src/components/ReviewDriver/index.tsx +5 -0
  179. package/themes/original/src/components/ReviewDriver/styles.tsx +1 -1
  180. package/themes/original/src/components/ReviewOrder/index.tsx +5 -0
  181. package/themes/original/src/components/ReviewOrder/styles.tsx +1 -1
  182. package/themes/original/src/components/ReviewProducts/index.tsx +5 -0
  183. package/themes/original/src/components/ReviewProducts/styles.tsx +1 -1
  184. package/themes/original/src/components/ServiceForm/index.tsx +1 -1
  185. package/themes/original/src/components/ServiceForm/styles.tsx +4 -4
  186. package/themes/original/src/components/Sessions/index.tsx +5 -0
  187. package/themes/original/src/components/SignupForm/index.tsx +66 -59
  188. package/themes/original/src/components/SingleOrderCard/index.tsx +3 -2
  189. package/themes/original/src/components/SingleProductCard/index.tsx +2 -2
  190. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  191. package/themes/original/src/components/StripeCardsList/index.tsx +4 -35
  192. package/themes/original/src/components/StripeElementsForm/index.tsx +74 -59
  193. package/themes/original/src/components/StripeElementsForm/naked.tsx +47 -0
  194. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +170 -0
  195. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +86 -0
  196. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -199
  197. package/themes/original/src/components/UpsellingProducts/styles.tsx +19 -0
  198. package/themes/original/src/components/UserFormDetails/index.tsx +123 -75
  199. package/themes/original/src/components/UserFormDetails/styles.tsx +7 -0
  200. package/themes/original/src/components/UserProfile/index.tsx +3 -2
  201. package/themes/original/src/components/UserProfileForm/index.tsx +5 -0
  202. package/themes/original/src/components/WalletTransactions/styles.tsx +1 -0
  203. package/themes/original/src/components/Wallets/index.tsx +8 -4
  204. package/themes/original/src/components/Wallets/styles.tsx +1 -1
  205. package/themes/original/src/components/WebsocketStatus/index.tsx +172 -0
  206. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
  207. package/themes/original/src/components/shared/HeaderTitle.tsx +1 -1
  208. package/themes/original/src/components/shared/OButton.tsx +5 -5
  209. package/themes/original/src/components/shared/OInput.tsx +1 -4
  210. package/themes/original/src/components/shared/OModal.tsx +12 -14
  211. package/themes/original/src/layouts/Container.tsx +5 -3
  212. package/themes/original/src/utils/index.tsx +12 -1
  213. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -11,6 +11,7 @@ import { useTheme } from 'styled-components/native';
11
11
  import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
12
12
  import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
13
13
  import { NewOrderNotification } from '../NewOrderNotification';
14
+ import { WebsocketStatus } from '../WebsocketStatus'
14
15
 
15
16
  import { OText, OButton, OModal, OInput, OIcon } from '../shared';
16
17
  import { NotFoundSource } from '../NotFoundSource';
@@ -49,6 +50,7 @@ const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
49
50
 
50
51
  const OrdersOptionUI = (props: OrdersOptionParams) => {
51
52
  const {
53
+ navigation,
52
54
  setCurrentFilters,
53
55
  tabs,
54
56
  currentTabSelected,
@@ -74,6 +76,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
74
76
 
75
77
  const defaultSearchList = {
76
78
  id: '',
79
+ external_id: '',
77
80
  state: '',
78
81
  city: '',
79
82
  business: '',
@@ -98,27 +101,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
98
101
  const [slaSettingTime, setSlaSettingTime] = useState(6000)
99
102
  const [currentDeliveryType, setCurrentDeliveryType] = useState('Delivery')
100
103
  const [search, setSearch] = useState(defaultSearchList)
101
- const [selectedTabStatus, setSelectedTabStatus] = useState<any>([])
102
- const [openedSelect, setOpenedSelect] = useState('')
103
-
104
- const HEIGHT_SCREEN = orientationState?.dimensions?.height
105
- const IS_PORTRAIT = orientationState.orientation === PORTRAIT
106
-
107
- const preorderTypeList = [
108
- { key: null, name: t('SLA', 'SLA\'s') },
109
- { key: 'in_time', name: t('OK', 'Ok') },
110
- { key: 'at_risk', name: t('AT_RISK', 'At Risk') },
111
- { key: 'delayed', name: t('DELAYED', 'Delayed') }
112
- ]
113
-
114
- const defaultOrderTypes = [
115
- { key: 1, name: t('DELIVERY', 'Delivery') },
116
- { key: 2, name: t('PICKUP', 'Pickup') },
117
- { key: 3, name: t('EAT_IN', 'Eat in') },
118
- { key: 4, name: t('CURBSIDE', 'Curbside') },
119
- { key: 5, name: t('DRIVE_THRU', 'Drive thru') }
120
- ]
121
-
122
104
  const deliveryStatus = [
123
105
  {
124
106
  key: t('OK', 'Ok'),
@@ -142,6 +124,27 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
142
124
  backColor: '#E63757'
143
125
  }
144
126
  ]
127
+ const combineTabs = configState?.configs?.combine_pending_and_progress_orders?.value === '1'
128
+ const [selectedTabStatus, setSelectedTabStatus] = useState<any>(deliveryStatus)
129
+ const [openedSelect, setOpenedSelect] = useState('')
130
+
131
+ const HEIGHT_SCREEN = orientationState?.dimensions?.height
132
+ const IS_PORTRAIT = orientationState.orientation === PORTRAIT
133
+
134
+ const preorderTypeList = [
135
+ { key: null, name: t('SLA', 'SLA\'s') },
136
+ { key: 'in_time', name: t('OK', 'Ok') },
137
+ { key: 'at_risk', name: t('AT_RISK', 'At Risk') },
138
+ { key: 'delayed', name: t('DELAYED', 'Delayed') }
139
+ ]
140
+
141
+ const defaultOrderTypes = [
142
+ { key: 1, name: t('DELIVERY', 'Delivery') },
143
+ { key: 2, name: t('PICKUP', 'Pickup') },
144
+ { key: 3, name: t('EAT_IN', 'Eat in') },
145
+ { key: 4, name: t('CURBSIDE', 'Curbside') },
146
+ { key: 5, name: t('DRIVE_THRU', 'Drive thru') }
147
+ ]
145
148
 
146
149
  const styles = StyleSheet.create({
147
150
  header: {
@@ -383,15 +386,21 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
383
386
  setTags({ values: [] })
384
387
  }, [currentTabSelected])
385
388
 
386
- useEffect(() => {
387
- setSelectedTabStatus(deliveryStatus)
388
- }, [])
389
+ useEffect(() => {
390
+ const unsubcribe = navigation.addListener('focus', () => {
391
+ currentTabSelected === 'logisticOrders' ? loadLogisticOrders() : loadOrders && loadOrders({ newFetch: true })
392
+ })
393
+ return unsubcribe
394
+ }, [navigation, loadOrders, loadLogisticOrders])
389
395
 
390
396
  return (
391
397
  <>
392
398
  <View style={styles.header}>
393
399
  <OText style={styles.title}>{t('MY_ORDERS', 'My orders')}</OText>
394
400
  <IconWrapper>
401
+ <View style={{ marginRight: 10 }}>
402
+ <WebsocketStatus />
403
+ </View>
395
404
  <FeatherIcon
396
405
  name='refresh-cw'
397
406
  color={theme.colors.backgroundDark}
@@ -409,7 +418,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
409
418
  </View>
410
419
  {configState?.configs?.order_deadlines_enabled?.value === '1' && (
411
420
  <View style={styles.SLAwrapper}>
412
- <View style={{ flex: 0.5 }}>
421
+ {/* <View style={{ flex: 0.5 }}>
413
422
  <OButton
414
423
  text={t('SLA_SETTING', 'SLA’s Settings')}
415
424
  textStyle={{ color: theme.colors.backArrow }}
@@ -423,9 +432,9 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
423
432
  }}
424
433
  onClick={onClickSetting}
425
434
  />
426
- </View>
427
- <View style={{ width: 10, height: '100%' }} />
428
- <View style={{ flex: 0.5, justifyContent: 'center' }}>
435
+ </View> */}
436
+ {/* <View style={{ width: 10, height: '100%' }} /> */}
437
+ {/* <View style={{ flex: 0.5, justifyContent: 'center' }}>
429
438
  <SelectDropdown
430
439
  defaultButtonText={t('SLA', 'SLA\'s')}
431
440
  data={preorderTypeList}
@@ -455,7 +464,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
455
464
  );
456
465
  }}
457
466
  />
458
- </View>
467
+ </View> */}
459
468
  </View>
460
469
  )}
461
470
  <FiltersTab>
@@ -467,7 +476,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
467
476
  nestedScrollEnabled={true}
468
477
  >
469
478
  <TabsContainer>
470
- {(isLogisticActivated && !isBusinessApp) && (
479
+ {(isLogisticActivated && !isBusinessApp && !combineTabs) && (
471
480
  <Pressable
472
481
  style={styles.pressable}
473
482
  onPress={() => setCurrentTabSelected('logisticOrders')}>
@@ -608,6 +617,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
608
617
  orderTitle={props.orderDetailsProps?.orderTitle}
609
618
  handleChangeOrderStatus={handleChangeOrderStatus}
610
619
  handleSendCustomerReview={handleSendCustomerReview}
620
+ isBusinessApp={isBusinessApp}
611
621
  />
612
622
  )}
613
623
  {!logisticOrders?.error?.length &&
@@ -618,6 +628,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
618
628
  onNavigationRedirect={onNavigationRedirect}
619
629
  getOrderStatus={getOrderStatus}
620
630
  handleClickLogisticOrder={handleClickLogisticOrder}
631
+ isBusinessApp={isBusinessApp}
621
632
  isLogisticOrder
622
633
  />
623
634
  )
@@ -713,6 +724,39 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
713
724
  {openSearchModal && (
714
725
  <SearchModalContent>
715
726
  <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
727
+ <InputContainer style={{ marginBottom: 24 }}>
728
+ <SelectDropdown
729
+ defaultButtonText={search?.timeStatus
730
+ ? preorderTypeList.find(type => type.key === search?.timeStatus)?.name
731
+ : t('SLA', 'SLA\'s')}
732
+ data={preorderTypeList}
733
+ onSelect={(selectedItem, index) => {
734
+ setSearch({ ...search, timeStatus: selectedItem?.key })
735
+ }}
736
+ buttonTextAfterSelection={(selectedItem, index) => {
737
+ return selectedItem.name
738
+ }}
739
+ rowTextForSelection={(item, index) => {
740
+ return item.key
741
+ }}
742
+ buttonStyle={styles.selectOption}
743
+ buttonTextStyle={styles.buttonTextStyle}
744
+ renderDropdownIcon={isOpened => {
745
+ return <FeatherIcon name={isOpened ? 'chevron-up' : 'chevron-down'} color={'#444'} size={18} />;
746
+ }}
747
+ dropdownStyle={styles.dropdownStyle}
748
+ dropdownOverlayColor='transparent'
749
+ rowStyle={styles.rowStyle}
750
+ renderCustomizedRowChild={(item, index) => {
751
+ return (
752
+ <SlaOption>
753
+ {index !== 0 && <OrderStatus timeState={item?.key} />}
754
+ <View><OText size={14} color={'#748194'} >{item?.name}</OText></View>
755
+ </SlaOption>
756
+ );
757
+ }}
758
+ />
759
+ </InputContainer>
716
760
  <InputContainer>
717
761
  <OInput
718
762
  value={search.id}
@@ -728,6 +772,21 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
728
772
  onPress={() => setSearch({ ...search, id: '' })}
729
773
  />
730
774
  </InputContainer>
775
+ <InputContainer>
776
+ <OInput
777
+ value={search.external_id}
778
+ onChange={(value: any) => setSearch({ ...search, external_id: value })}
779
+ style={styles.inputStyle}
780
+ placeholder={t('EXTERNAL_ID', 'External id')}
781
+ autoCorrect={false}
782
+ />
783
+ <AntDesignIcon
784
+ name='close'
785
+ size={20}
786
+ style={{ position: 'absolute', right: 12, top: 13 }}
787
+ onPress={() => setSearch({ ...search, external_id: '' })}
788
+ />
789
+ </InputContainer>
731
790
  <OrdersOptionDate
732
791
  {...props}
733
792
  search={search}
@@ -917,14 +976,16 @@ export const Timer = () => {
917
976
  return (
918
977
  <TimerInputWrapper>
919
978
  <OText style={styles.settingTime} color={theme.colors.disabled}>{configs?.order_deadlines_delayed_time?.value}</OText>
920
- <OText>{t('MIN', 'min')}</OText>
979
+ <OText>{t('TIME_MIN', 'min')}</OText>
921
980
  </TimerInputWrapper>
922
981
  )
923
982
  }
924
983
 
925
984
  export const OrdersOption = (props: OrdersOptionParams) => {
926
985
  const [, t] = useLanguage();
986
+ const [configState] = useConfig()
927
987
  const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
988
+ const combineTabs = configState?.configs?.combine_pending_and_progress_orders?.value === '1'
928
989
  const ordersProps = {
929
990
  ...props,
930
991
  UIComponent: OrdersOptionUI,
@@ -1011,32 +1072,52 @@ export const OrdersOption = (props: OrdersOptionParams) => {
1011
1072
  text: t('ORDER_DRIVER_ON_WAY', 'Driver on way')
1012
1073
  }
1013
1074
  ],
1014
- tabs: [
1075
+ tabs: combineTabs ? [
1015
1076
  {
1016
1077
  key: 0,
1017
- text: t('PENDING', 'Pending'),
1018
- tags: props?.orderGroupStatusCustom?.pending ?? [0, 13],
1019
- title: 'pending'
1078
+ text: t('ACTIVE', 'Active'),
1079
+ tags: props?.orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23],
1080
+ title: 'active',
1020
1081
  },
1021
1082
  {
1022
1083
  key: 1,
1023
- text: t('IN_PROGRESS', 'In Progress'),
1024
- tags: props?.orderGroupStatusCustom?.inProgress ?? [3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23],
1025
- title: 'inProgress',
1026
- },
1027
- {
1028
- key: 2,
1029
1084
  text: t('COMPLETED', 'Completed'),
1030
1085
  tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1031
1086
  title: 'completed',
1032
1087
  },
1033
1088
  {
1034
- key: 3,
1089
+ key: 2,
1035
1090
  text: t('CANCELLED', 'Cancelled'),
1036
1091
  tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1037
1092
  title: 'cancelled',
1038
1093
  },
1039
- ]
1094
+ ] :
1095
+ [
1096
+ {
1097
+ key: 0,
1098
+ text: t('PENDING', 'Pending'),
1099
+ tags: props?.orderGroupStatusCustom?.pending ?? [0, 13],
1100
+ title: 'pending'
1101
+ },
1102
+ {
1103
+ key: 1,
1104
+ text: t('IN_PROGRESS', 'In Progress'),
1105
+ tags: props?.orderGroupStatusCustom?.inProgress ?? [3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23],
1106
+ title: 'inProgress',
1107
+ },
1108
+ {
1109
+ key: 2,
1110
+ text: t('COMPLETED', 'Completed'),
1111
+ tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1112
+ title: 'completed',
1113
+ },
1114
+ {
1115
+ key: 3,
1116
+ text: t('CANCELLED', 'Cancelled'),
1117
+ tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1118
+ title: 'cancelled',
1119
+ },
1120
+ ]
1040
1121
  };
1041
1122
 
1042
1123
  return (<>
@@ -6,7 +6,7 @@ import { useTheme } from 'styled-components/native';
6
6
  import { Wrapper } from './styles';
7
7
  import { OText, OIcon } from '../shared';
8
8
  import { PhoneInputParams } from '../../types';
9
- import { transformCountryCode } from '../../utils';
9
+ import { transformCountryCode, findExitingCode } from '../../utils';
10
10
 
11
11
  export const PhoneInputNumber = (props: PhoneInputParams) => {
12
12
  const {
@@ -97,10 +97,13 @@ export const PhoneInputNumber = (props: PhoneInputParams) => {
97
97
  containerStyle={{ width: '100%' }}
98
98
  ref={phoneInput}
99
99
  defaultValue={userphoneNumber || defaultValue}
100
- defaultCode={
101
- defaultCode
102
- ? transformCountryCode(defaultCode)
103
- : configs?.default_country_code?.value
100
+ defaultCode={defaultCode ?
101
+ !isNaN(defaultCode)
102
+ ? transformCountryCode(defaultCode)
103
+ : findExitingCode(defaultCode)
104
+ : !isNaN((configs?.default_country_code?.value || '')?.replace(/\+/g, ''))
105
+ ? transformCountryCode((configs?.default_country_code?.value || '')?.replace(/\+/g, ''))
106
+ : findExitingCode(configs?.default_country_code?.value?.toUpperCase())
104
107
  }
105
108
  onChangeFormattedText={(text: string) => handleChangeNumber(text)}
106
109
  countryPickerProps={{
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { Platform, PlatformIOSStatic, StyleSheet, TouchableOpacity, View } from 'react-native';
2
+ import { Platform, PlatformIOSStatic, Pressable, StyleSheet, View } from 'react-native';
3
3
  import DeviceInfo from 'react-native-device-info';
4
4
  import { useTheme } from 'styled-components/native';
5
5
  import { useLanguage, useUtils, useConfig } from 'ordering-components/native';
@@ -47,6 +47,7 @@ export const OrderItem = React.memo((props: any) => {
47
47
  timer: configState?.configs?.order_deadlines_enabled?.value === '1',
48
48
  slaBar: configState?.configs?.order_deadlines_enabled?.value === '1',
49
49
  })
50
+ const showExternalId = configState?.configs?.change_order_id?.value === '1'
50
51
 
51
52
  const IS_PORTRAIT = orientationState.orientation === PORTRAIT
52
53
  const platformIOS = Platform as PlatformIOSStatic
@@ -76,7 +77,7 @@ export const OrderItem = React.memo((props: any) => {
76
77
  marginLeft: 3,
77
78
  },
78
79
  title: {
79
- marginBottom: 6,
80
+ marginBottom: showExternalId ? 0 : 6,
80
81
  fontFamily: 'Poppins',
81
82
  fontStyle: 'normal',
82
83
  fontWeight: '600',
@@ -84,7 +85,7 @@ export const OrderItem = React.memo((props: any) => {
84
85
  color: theme.colors.textGray,
85
86
  },
86
87
  date: {
87
- marginBottom: 6,
88
+ marginBottom: showExternalId ? 0 : 6,
88
89
  fontFamily: 'Poppins',
89
90
  fontStyle: 'normal',
90
91
  fontWeight: 'normal',
@@ -100,12 +101,13 @@ export const OrderItem = React.memo((props: any) => {
100
101
  });
101
102
 
102
103
  const getDelayMinutes = (order: any) => {
103
- const cdtToutc = moment(order?.delivery_datetime).utc().format('YYYY-MM-DD HH:mm:ss')
104
+ const offset = 300
105
+ const cdtToutc = moment(order?.delivery_datetime).add(offset, 'minutes').format('YYYY-MM-DD HH:mm:ss')
104
106
  const _delivery = order?.delivery_datetime_utc
105
- ? parseDate(order?.delivery_datetime_utc)
106
- : parseDate(cdtToutc)
107
+ ? parseDate(order?.delivery_datetime_utc, { outputFormat: 'YYYY-MM-DD HH:mm:ss' })
108
+ : parseDate(cdtToutc, { outputFormat: 'YYYY-MM-DD HH:mm:ss' })
107
109
  const _eta = order?.eta_time
108
- const diffTimeAsSeconds = moment(_delivery, 'YYYY-MM-DD hh:mm A').add(_eta, 'minutes').diff(moment().utc(), 'seconds')
110
+ const diffTimeAsSeconds = moment(_delivery).add(_eta, 'minutes').diff(moment().utc(), 'seconds')
109
111
  return Math.ceil(diffTimeAsSeconds / 60)
110
112
  }
111
113
 
@@ -119,7 +121,7 @@ export const OrderItem = React.memo((props: any) => {
119
121
  let restHours: string | number = Math.floor(restMinOfTargetedMin / 60)
120
122
  let restMins: string | number = restMinOfTargetedMin - 60 * restHours
121
123
  // make standard time format
122
- day = day === 0 ? '' : day + 'day '
124
+ day = day === 0 ? '' : `${day + ' ' + t('DAY', 'day') + ' '}`
123
125
  restHours = restHours < 10 ? '0' + restHours : restHours
124
126
  restMins = restMins < 10 ? '0' + restMins : restMins
125
127
 
@@ -127,12 +129,6 @@ export const OrderItem = React.memo((props: any) => {
127
129
  return finalTaget
128
130
  }
129
131
 
130
- const getStatusClassName = (minutes: number) => {
131
- if (isNaN(Number(minutes))) return 'in_time'
132
- const delayTime = configState?.configs?.order_deadlines_delayed_time?.value
133
- return minutes > 0 ? 'in_time' : Math.abs(minutes) <= delayTime ? 'at_risk' : 'delayed'
134
- }
135
-
136
132
  useEffect(() => {
137
133
  const slaSettings = configState?.configs?.order_deadlines_enabled?.value === '1'
138
134
  setAllowColumns({
@@ -143,8 +139,7 @@ export const OrderItem = React.memo((props: any) => {
143
139
  }, [configState.loading])
144
140
 
145
141
  return (
146
- <TouchableOpacity
147
- activeOpacity={1}
142
+ <Pressable
148
143
  disabled={order?.locked && isLogisticOrder}
149
144
  style={styles.cardButton}
150
145
  onPress={() => handlePressOrder({ ...order, logistic_order_id: _order?.id })}
@@ -152,24 +147,16 @@ export const OrderItem = React.memo((props: any) => {
152
147
  <Card key={order.id}>
153
148
  {!!allowColumns?.slaBar && (
154
149
  <Timestatus
155
- style={{
156
- backgroundColor: getStatusClassName(getDelayMinutes(order)) === 'in_time'
157
- ? '#00D27A'
158
- : getStatusClassName(getDelayMinutes(order)) === 'at_risk'
159
- ? '#FFC700'
160
- : getStatusClassName(getDelayMinutes(order)) === 'delayed'
161
- ? '#E63757'
162
- : ''
163
- }}
150
+ timeState={order?.time_status}
164
151
  />
165
152
  )}
166
153
  <Logo style={styles.logo}>
167
154
  <FastImage
168
155
  style={styles.icon}
169
- source={order.business?.logo ? {
170
- uri: optimizeImage(order.business?.logo, 'h_100,c_limit'),
156
+ source={order.business?.logo?.includes('https') ? {
157
+ uri: order.business?.logo,
171
158
  priority: FastImage.priority.normal,
172
- } : theme?.images?.dummies?.businessLogo}
159
+ } : order.business?.logo ?? theme?.images?.dummies?.businessLogo}
173
160
  resizeMode={FastImage.resizeMode.cover}
174
161
  />
175
162
  </Logo>
@@ -193,32 +180,43 @@ export const OrderItem = React.memo((props: any) => {
193
180
  />
194
181
  </NotificationIcon>
195
182
  )}
196
- <View style={{ flexDirection: 'row', flexWrap: 'wrap' }}>
197
- <OText
183
+ <View style={{ flexDirection: `${showExternalId ? 'column' : 'row'}`, flexWrap: 'wrap' }}>
184
+ {!order?.order_group_id && showExternalId && !order?.order_group && (
185
+ <OText
186
+ style={styles.date}
187
+ color={theme.colors.unselectText}
188
+ numberOfLines={1}
189
+ adjustsFontSizeToFit
190
+ >
191
+ {order?.external_id ?? t('NO_EXTERNAL_ID', 'No external Id ') + t('NO', 'Order No.') + order?.id}
192
+ </OText>
193
+ )}
194
+ {!showExternalId && <OText
198
195
  style={styles.date}
199
196
  color={theme.colors.unselectText}
200
197
  numberOfLines={1}
201
198
  adjustsFontSizeToFit
202
199
  >
203
- {(!!order?.order_group_id && order?.order_group && isLogisticOrder
200
+ {((!!order?.order_group_id && order?.order_group && isLogisticOrder
204
201
  ? `${order?.order_group?.orders?.length} ${t('ORDERS', 'Orders')}`
205
- : (t('NO', 'Order No.') + order.id)
206
- ) + ' · '}
202
+ : (t('NO', 'Order No.') + order?.id)
203
+ ) + ' · ')}
207
204
  {order?.delivery_datetime_utc
208
205
  ? parseDate(order?.delivery_datetime_utc)
209
206
  : parseDate(order?.delivery_datetime, { utc: false })}
210
207
  </OText>
208
+ }
211
209
  {((currentTabSelected === 'pending' || currentTabSelected === 'inProgress') && allowColumns?.timer) && (
212
210
  <>
213
- <OText> · </OText>
211
+ {!showExternalId && <OText> · </OText>}
214
212
  <OText
215
213
  style={styles.date}
216
214
  color={
217
- getStatusClassName(getDelayMinutes(order)) === 'in_time'
215
+ order?.time_status === 'in_time'
218
216
  ? '#00D27A'
219
- : getStatusClassName(getDelayMinutes(order)) === 'at_risk'
217
+ : order?.time_status === 'at_risk'
220
218
  ? '#FFC700'
221
- : getStatusClassName(getDelayMinutes(order)) === 'delayed'
219
+ : order?.time_status === 'delayed'
222
220
  ? '#E63757'
223
221
  : ''}
224
222
  >
@@ -250,6 +248,6 @@ export const OrderItem = React.memo((props: any) => {
250
248
  )}
251
249
  </Information>
252
250
  </Card>
253
- </TouchableOpacity>
251
+ </Pressable>
254
252
  )
255
253
  }, OrderItemPropsAreEqual)
@@ -2,13 +2,13 @@ import React from 'react'
2
2
  import { View } from 'react-native'
3
3
  import { useTheme } from 'styled-components/native'
4
4
  import { OButton } from '../shared';
5
- import { useLanguage } from 'ordering-components/native'
5
+ import { useLanguage, useConfig } from 'ordering-components/native'
6
6
  import { OrderItem } from './OrderItem';
7
7
  import { AcceptOrRejectOrder as AcceptOrRejectOrderStyle } from './styles';
8
8
 
9
9
  function OrderListPropsAreEqual(prevProps: any, nextProps: any) {
10
10
  return JSON.stringify(prevProps.order) === JSON.stringify(nextProps.order) &&
11
- JSON.stringify(prevProps._order) === JSON.stringify(nextProps._order) &&
11
+ JSON.stringify(prevProps._order) === JSON.stringify(nextProps._order) &&
12
12
  JSON.stringify(prevProps.currentOrdenSelected) === JSON.stringify(nextProps.currentOrdenSelected) &&
13
13
  prevProps.currentTabSelected === nextProps.currentTabSelected
14
14
  }
@@ -28,6 +28,9 @@ export const OrdersList = React.memo((props: any) => {
28
28
 
29
29
  const theme = useTheme()
30
30
  const [, t] = useLanguage()
31
+ const [{ configs }] = useConfig();
32
+
33
+ const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1'
31
34
 
32
35
  return (
33
36
  <View
@@ -59,16 +62,18 @@ export const OrdersList = React.memo((props: any) => {
59
62
  />
60
63
  ) : (
61
64
  <>
62
- <OButton
63
- text={t('REJECT', 'Reject')}
64
- onClick={() => handleClickLogisticOrder(2, _order?.id)}
65
- bgColor={theme.colors.red}
66
- borderColor={theme.colors.red}
67
- imgRightSrc={null}
68
- style={{ borderRadius: 7, height: 40 }}
69
- parentStyle={{ width: '45%' }}
70
- textStyle={{ color: theme.colors.white }}
71
- />
65
+ {!isHideRejectButtons && (
66
+ <OButton
67
+ text={t('REJECT', 'Reject')}
68
+ onClick={() => handleClickLogisticOrder(2, _order?.id)}
69
+ bgColor={theme.colors.red}
70
+ borderColor={theme.colors.red}
71
+ imgRightSrc={null}
72
+ style={{ borderRadius: 7, height: 40 }}
73
+ parentStyle={{ width: '45%' }}
74
+ textStyle={{ color: theme.colors.white }}
75
+ />
76
+ )}
72
77
  <OButton
73
78
  text={t('ACCEPT', 'Accept')}
74
79
  onClick={() => handleClickLogisticOrder(1, _order?.id)}
@@ -76,7 +81,7 @@ export const OrdersList = React.memo((props: any) => {
76
81
  borderColor={theme.colors.green}
77
82
  imgRightSrc={null}
78
83
  style={{ borderRadius: 7, height: 40 }}
79
- parentStyle={{ width: '45%' }}
84
+ parentStyle={{ width: isHideRejectButtons ? '100%' : '45%' }}
80
85
  textStyle={{ color: theme.colors.white }}
81
86
  />
82
87
  </>