ordering-ui-react-native 0.17.72 → 0.17.73-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 (201) hide show
  1. package/package.json +8 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessInformation/index.tsx +10 -9
  4. package/src/components/BusinessesListing/index.tsx +1 -1
  5. package/src/components/OrderCreating/index.tsx +1 -21
  6. package/src/components/PaymentOptionsWebView/index.tsx +29 -8
  7. package/src/components/PhoneInputNumber/index.tsx +6 -2
  8. package/src/components/StripeMethodForm/index.tsx +136 -102
  9. package/src/components/VerifyPhone/styles.tsx +1 -2
  10. package/src/components/shared/OToast.tsx +3 -2
  11. package/src/types/index.tsx +5 -0
  12. package/src/utils/index.tsx +5 -0
  13. package/themes/business/index.tsx +2 -0
  14. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +28 -24
  15. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  16. package/themes/business/src/components/Chat/index.tsx +149 -118
  17. package/themes/business/src/components/DriverMap/index.tsx +17 -6
  18. package/themes/business/src/components/DriverSchedule/index.tsx +45 -8
  19. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  20. package/themes/business/src/components/LoginForm/Otp/index.tsx +31 -3
  21. package/themes/business/src/components/LoginForm/index.tsx +15 -22
  22. package/themes/business/src/components/MapView/index.tsx +10 -10
  23. package/themes/business/src/components/MessagesOption/index.tsx +20 -93
  24. package/themes/business/src/components/NewOrderNotification/index.tsx +37 -21
  25. package/themes/business/src/components/NotFoundSource/index.tsx +2 -2
  26. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  27. package/themes/business/src/components/OrderDetails/Delivery.tsx +191 -6
  28. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +103 -39
  29. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +61 -60
  30. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  31. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  32. package/themes/business/src/components/OrderMessage/index.tsx +19 -18
  33. package/themes/business/src/components/OrderSummary/index.tsx +114 -123
  34. package/themes/business/src/components/OrdersOption/index.tsx +17 -15
  35. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
  36. package/themes/business/src/components/PreviousMessages/index.tsx +97 -55
  37. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +17 -12
  38. package/themes/business/src/components/PreviousOrders/OrderList.tsx +88 -0
  39. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
  40. package/themes/business/src/components/PreviousOrders/index.tsx +186 -114
  41. package/themes/business/src/components/PreviousOrders/styles.tsx +1 -1
  42. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  43. package/themes/business/src/components/ReviewCustomer/index.tsx +18 -13
  44. package/themes/business/src/components/StoresList/index.tsx +3 -4
  45. package/themes/business/src/components/UserProfileForm/index.tsx +14 -15
  46. package/themes/business/src/components/shared/OLink.tsx +11 -3
  47. package/themes/business/src/components/shared/OModal.tsx +16 -9
  48. package/themes/business/src/components/shared/OText.tsx +6 -1
  49. package/themes/business/src/types/index.tsx +25 -10
  50. package/themes/business/src/utils/index.tsx +29 -2
  51. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  52. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  53. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  55. package/themes/kiosk/src/components/Intro/index.tsx +16 -1
  56. package/themes/kiosk/src/components/LoginForm/index.tsx +7 -9
  57. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  58. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  59. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  60. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +2 -2
  61. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  62. package/themes/original/index.tsx +1 -1
  63. package/themes/original/src/components/AddressDetails/index.tsx +19 -3
  64. package/themes/original/src/components/AddressForm/index.tsx +61 -39
  65. package/themes/original/src/components/AddressList/index.tsx +25 -24
  66. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  67. package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
  68. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  69. package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
  70. package/themes/original/src/components/BusinessBasicInformation/index.tsx +153 -96
  71. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +10 -12
  72. package/themes/original/src/components/BusinessController/index.tsx +80 -66
  73. package/themes/original/src/components/BusinessController/styles.tsx +12 -5
  74. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  75. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  76. package/themes/original/src/components/BusinessInformation/index.tsx +139 -85
  77. package/themes/original/src/components/BusinessItemAccordion/index.tsx +15 -20
  78. package/themes/original/src/components/BusinessListingSearch/index.tsx +349 -339
  79. package/themes/original/src/components/BusinessListingSearch/styles.tsx +0 -18
  80. package/themes/original/src/components/BusinessPreorder/index.tsx +103 -19
  81. package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -2
  82. package/themes/original/src/components/BusinessProductsList/index.tsx +15 -7
  83. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  84. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +1 -1
  85. package/themes/original/src/components/BusinessProductsListing/index.tsx +684 -557
  86. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -2
  87. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  88. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +69 -38
  89. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +0 -1
  90. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  91. package/themes/original/src/components/Cart/index.tsx +77 -79
  92. package/themes/original/src/components/CartContent/index.tsx +117 -20
  93. package/themes/original/src/components/CartContent/styles.tsx +17 -7
  94. package/themes/original/src/components/Checkout/index.tsx +355 -123
  95. package/themes/original/src/components/CitiesControl/index.tsx +1 -1
  96. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  97. package/themes/original/src/components/DriverTips/index.tsx +52 -34
  98. package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
  99. package/themes/original/src/components/Favorite/index.tsx +2 -6
  100. package/themes/original/src/components/FavoriteList/index.tsx +1 -35
  101. package/themes/original/src/components/FloatingButton/index.tsx +10 -13
  102. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  103. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
  104. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
  105. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
  106. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
  107. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +191 -0
  108. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
  109. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
  110. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
  111. package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
  112. package/themes/original/src/components/GoogleMap/index.tsx +60 -5
  113. package/themes/original/src/components/Help/index.tsx +2 -2
  114. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +10 -31
  115. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +5 -3
  116. package/themes/original/src/components/HelpGuide/index.tsx +6 -6
  117. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  118. package/themes/original/src/components/HelpOrder/index.tsx +6 -15
  119. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  120. package/themes/original/src/components/Home/index.tsx +13 -4
  121. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  122. package/themes/original/src/components/LoginForm/Otp/index.tsx +91 -25
  123. package/themes/original/src/components/LoginForm/index.tsx +64 -34
  124. package/themes/original/src/components/LottieAnimation/index.tsx +88 -63
  125. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  126. package/themes/original/src/components/Messages/index.tsx +14 -7
  127. package/themes/original/src/components/MomentOption/index.tsx +193 -90
  128. package/themes/original/src/components/MomentSelector/index.tsx +1 -1
  129. package/themes/original/src/components/MultiCart/index.tsx +41 -54
  130. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +162 -50
  131. package/themes/original/src/components/MultiCheckout/index.tsx +329 -100
  132. package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
  133. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  134. package/themes/original/src/components/MultiOrdersDetails/index.tsx +54 -21
  135. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  136. package/themes/original/src/components/MyOrders/index.tsx +40 -29
  137. package/themes/original/src/components/NavBar/index.tsx +20 -17
  138. package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
  139. package/themes/original/src/components/Notifications/index.tsx +42 -52
  140. package/themes/original/src/components/Notifications/styles.tsx +6 -3
  141. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  142. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +21 -5
  143. package/themes/original/src/components/OrderDetails/index.tsx +191 -363
  144. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  145. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  146. package/themes/original/src/components/OrderProgress/index.tsx +30 -56
  147. package/themes/original/src/components/OrderSummary/index.tsx +88 -59
  148. package/themes/original/src/components/OrderTypeSelector/index.tsx +2 -1
  149. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
  150. package/themes/original/src/components/OrdersOption/index.tsx +67 -85
  151. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  152. package/themes/original/src/components/PageBanner/index.tsx +98 -38
  153. package/themes/original/src/components/PageBanner/styles.tsx +0 -10
  154. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  155. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  156. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  157. package/themes/original/src/components/PaymentOptions/index.tsx +78 -35
  158. package/themes/original/src/components/PhoneInputNumber/index.tsx +18 -4
  159. package/themes/original/src/components/ProductForm/index.tsx +104 -29
  160. package/themes/original/src/components/ProductForm/styles.tsx +5 -5
  161. package/themes/original/src/components/ProductItemAccordion/index.tsx +12 -9
  162. package/themes/original/src/components/ProductOptionSubOption/index.tsx +20 -18
  163. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +5 -9
  164. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  165. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  166. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  167. package/themes/original/src/components/Promotions/index.tsx +2 -2
  168. package/themes/original/src/components/Promotions/styles.tsx +3 -1
  169. package/themes/original/src/components/ReviewProducts/index.tsx +16 -7
  170. package/themes/original/src/components/ScheduleAccordion/index.tsx +3 -3
  171. package/themes/original/src/components/ServiceForm/index.tsx +63 -20
  172. package/themes/original/src/components/Sessions/index.tsx +11 -8
  173. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  174. package/themes/original/src/components/SignupForm/index.tsx +43 -27
  175. package/themes/original/src/components/SingleOrderCard/index.tsx +102 -63
  176. package/themes/original/src/components/SingleOrderCard/styles.tsx +1 -1
  177. package/themes/original/src/components/SingleProductCard/index.tsx +72 -31
  178. package/themes/original/src/components/SingleProductCard/styles.tsx +20 -4
  179. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  180. package/themes/original/src/components/StripeCardsList/index.tsx +49 -5
  181. package/themes/original/src/components/StripeElementsForm/index.tsx +48 -34
  182. package/themes/original/src/components/StripeElementsForm/naked.tsx +12 -1
  183. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
  184. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  185. package/themes/original/src/components/UserDetails/index.tsx +3 -1
  186. package/themes/original/src/components/UserFormDetails/index.tsx +76 -7
  187. package/themes/original/src/components/UserFormDetails/styles.tsx +1 -1
  188. package/themes/original/src/components/UserProfile/index.tsx +88 -79
  189. package/themes/original/src/components/UserProfileForm/index.tsx +17 -21
  190. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  191. package/themes/original/src/components/UserVerification/index.tsx +55 -50
  192. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  193. package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
  194. package/themes/original/src/components/Wallets/index.tsx +66 -30
  195. package/themes/original/src/components/Wallets/styles.tsx +3 -4
  196. package/themes/original/src/components/shared/OButton.tsx +6 -2
  197. package/themes/original/src/components/shared/OInput.tsx +6 -1
  198. package/themes/original/src/components/shared/OModal.tsx +3 -3
  199. package/themes/original/src/types/index.tsx +40 -11
  200. package/themes/original/src/utils/index.tsx +273 -1
  201. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -3,11 +3,11 @@ import { View } from 'react-native';
3
3
  import { useTheme } from 'styled-components/native';
4
4
  import { useLanguage } from 'ordering-components/native';
5
5
 
6
- import {AcceptOrRejectOrder as AcceptOrRejectOrderStyle } from './styles';
6
+ import { AcceptOrRejectOrder as AcceptOrRejectOrderStyle } from './styles';
7
7
 
8
8
  import { OButton, OModal } from '../shared';
9
- import { OrderItem } from './OrderItem'
10
9
  import { OrdersGroupedItem } from './OrdersGroupedItem'
10
+ import { OrdersList } from './OrderList';
11
11
  import { AcceptOrRejectOrder } from '../AcceptOrRejectOrder';
12
12
  import { ReviewCustomer } from '../ReviewCustomer';
13
13
  import { GoogleMap } from '../GoogleMap';
@@ -31,7 +31,7 @@ export const PreviousOrders = (props: any) => {
31
31
  const [, t] = useLanguage();
32
32
  const theme = useTheme();
33
33
 
34
- const [, setCurrentTime] = useState()
34
+ // const [, setCurrentTime] = useState()
35
35
  const [openModal, setOpenModal] = useState(false)
36
36
  const [openReviewModal, setOpenReviewModal] = useState({ order: null, ids: [], customerId: null })
37
37
  const [openMapViewModal, setOpenMapViewModal] = useState<any>({ open: false, customerLocation: null, locations: [] })
@@ -39,6 +39,8 @@ export const PreviousOrders = (props: any) => {
39
39
 
40
40
  const pastOrderStatuses = [1, 2, 5, 6, 10, 11, 12, 16, 17]
41
41
  const viewMapStatus = [9, 18, 19, 23]
42
+ const deliveryPickupBtn = props.appTitle?.text?.includes('Delivery') && [3, 8, 18]
43
+ const deliveryStatusCompleteBtn = props.appTitle?.text?.includes('Delivery') && [9, 19, 23]
42
44
 
43
45
  const handlePressOrder = (order: any) => {
44
46
  if (order?.locked && isLogisticOrder) return
@@ -46,78 +48,23 @@ export const PreviousOrders = (props: any) => {
46
48
  if (props.handleClickEvent) {
47
49
  props.handleClickEvent({ ...order, isLogistic: isLogisticOrder })
48
50
  } else {
49
- onNavigationRedirect &&
50
- onNavigationRedirect('OrderDetails', { order: { ...order, isLogistic: isLogisticOrder }, handleClickLogisticOrder });
51
+ if (isLogisticOrder) {
52
+ onNavigationRedirect &&
53
+ onNavigationRedirect('OrderDetailsLogistic', { order: { ...order, isLogistic: isLogisticOrder }, handleClickLogisticOrder });
54
+ } else {
55
+ onNavigationRedirect &&
56
+ onNavigationRedirect('OrderDetails', { order });
57
+ }
51
58
  }
52
59
  };
53
60
 
54
- const OrdersList = (props: any) => {
55
- const { order, _order, hideBtns } = props
56
- return (
57
- <View
58
- style={{
59
- backgroundColor: currentOrdenSelected === order?.id ? theme.colors.gray100 : order?.locked && isLogisticOrder ? '#ccc' : '#fff',
60
- marginBottom: isLogisticOrder ? 10 : 0
61
- }}
62
- >
63
- <OrderItem
64
- order={order}
65
- _order={_order}
66
- isLogisticOrder={isLogisticOrder}
67
- handlePressOrder={handlePressOrder}
68
- currentTabSelected={currentTabSelected}
69
- getOrderStatus={getOrderStatus}
70
- />
71
- {isLogisticOrder && !hideBtns && (
72
- <AcceptOrRejectOrderStyle>
73
- {!!order?.order_group_id && !!order?.order_group ? (
74
- <OButton
75
- text={t('VIEW_ORDER', 'View order')}
76
- onClick={() => handlePressOrder({ ...order, logistic_order_id: _order?.id })}
77
- bgColor={theme.colors.blueLight}
78
- borderColor={theme.colors.blueLight}
79
- imgRightSrc={null}
80
- style={{ borderRadius: 7, height: 40 }}
81
- parentStyle={{ width: '100%' }}
82
- textStyle={{ color: theme.colors.primary }}
83
- />
84
- ) : (
85
- <>
86
- <OButton
87
- text={t('REJECT', 'Reject')}
88
- onClick={() => handleClickLogisticOrder(2, _order?.id)}
89
- bgColor={theme.colors.danger}
90
- borderColor={theme.colors.danger}
91
- imgRightSrc={null}
92
- style={{ borderRadius: 7, height: 40 }}
93
- parentStyle={{ width: '45%' }}
94
- textStyle={{ color: theme.colors.dangerText }}
95
- />
96
- <OButton
97
- text={t('ACCEPT', 'Accept')}
98
- onClick={() => handleClickLogisticOrder(1, _order?.id)}
99
- bgColor={theme.colors.successOrder}
100
- borderColor={theme.colors.successOrder}
101
- imgRightSrc={null}
102
- style={{ borderRadius: 7, height: 40 }}
103
- parentStyle={{ width: '45%' }}
104
- textStyle={{ color: theme.colors.successText }}
105
- />
106
- </>
107
- )}
108
- </AcceptOrRejectOrderStyle>
109
- )}
110
- </View>
111
- )
112
- }
113
-
114
61
  const ordersGroupAction = (param1 = '', param2 = '', { order, action, body, ids }: any = {}) => {
115
62
  setOrderUpdateStatus({ ...orderUpdateStatus, action, ids, body, order })
116
63
  if (!param1) setOpenModal(true)
117
64
  if (param1) {
118
65
  setOpenModal(false)
119
66
  handleChangeOrderStatus &&
120
- handleChangeOrderStatus(param1, orderUpdateStatus.ids, param2)
67
+ handleChangeOrderStatus(param1, orderUpdateStatus.ids, param2)
121
68
  }
122
69
  }
123
70
 
@@ -152,7 +99,7 @@ export const PreviousOrders = (props: any) => {
152
99
  if (_order?.customer?.location) {
153
100
  locations.push({
154
101
  ..._order?.customer?.location,
155
- title: _order?.customer?.name ?? t('CUSTOMER', 'Customer'),
102
+ title: _order?.customer?.name ?? t('CUSTOMER', 'Customer'),
156
103
  address: {
157
104
  addressName: _order?.customer?.address,
158
105
  zipcode: _order?.customer?.zipcode
@@ -173,14 +120,14 @@ export const PreviousOrders = (props: any) => {
173
120
  })
174
121
  }
175
122
 
176
- useEffect(() => {
177
- const interval = setInterval(() => {
178
- const date: any = Date.now()
179
- setCurrentTime(date)
180
- }, slaSettingTime ?? 6000)
123
+ // useEffect(() => {
124
+ // const interval = setInterval(() => {
125
+ // const date: any = Date.now()
126
+ // setCurrentTime(date)
127
+ // }, slaSettingTime ?? 6000)
181
128
 
182
- return () => clearInterval(interval)
183
- }, [])
129
+ // return () => clearInterval(interval)
130
+ // }, [])
184
131
 
185
132
 
186
133
  return (
@@ -203,10 +150,21 @@ export const PreviousOrders = (props: any) => {
203
150
  ?.map((_order: any) => {
204
151
  const order_ = _order?.isLogistic && !_order?.order_group && isLogisticOrder ? _order?.order : _order
205
152
  return (
206
- <OrdersList key={order_.id} order={order_} _order={_order} hideBtns />
153
+ <OrdersList
154
+ key={order_.id}
155
+ order={order_}
156
+ _order={_order}
157
+ hideBtns
158
+ currentOrdenSelected={currentOrdenSelected}
159
+ isLogisticOrder={isLogisticOrder}
160
+ handlePressOrder={handlePressOrder}
161
+ currentTabSelected={currentTabSelected}
162
+ getOrderStatus={getOrderStatus}
163
+ handleClickLogisticOrder={handleClickLogisticOrder}
164
+ />
207
165
  )
208
166
  }
209
- )
167
+ )
210
168
  }
211
169
  {_ordersGrouped[k][0]?.status === 0 && (
212
170
  <AcceptOrRejectOrderStyle>
@@ -242,8 +200,8 @@ export const PreviousOrders = (props: any) => {
242
200
  />
243
201
  </AcceptOrRejectOrderStyle>
244
202
  )}
245
- <View>
246
- {_ordersGrouped[k][0]?.status === 7 && (
203
+ {_ordersGrouped[k][0]?.status === 7 && (
204
+ <View>
247
205
  <OButton
248
206
  text={t('READY_FOR_PICKUP', 'Ready for pickup')}
249
207
  bgColor={theme.colors.primaryLight}
@@ -257,41 +215,164 @@ export const PreviousOrders = (props: any) => {
257
215
  _ordersGrouped[k].map((o: any) => o.id),
258
216
  )}
259
217
  />
218
+ </View>
219
+ )}
220
+ {(_ordersGrouped[k][0]?.status === 8 || _ordersGrouped[k][0]?.status === 18) &&
221
+ _ordersGrouped[k][0]?.delivery_type === 1 &&
222
+ (
223
+ <AcceptOrRejectOrderStyle>
224
+ <OButton
225
+ text={t('ARRIVED_TO_BUSINESS', 'Arrived to bussiness')}
226
+ bgColor={theme.colors.btnBGWhite}
227
+ borderColor={theme.colors.btnBGWhite}
228
+ imgRightSrc={null}
229
+ style={{ borderRadius: 7, height: 40 }}
230
+ parentStyle={{ width: '100%' }}
231
+ textStyle={{ color: theme.colors.primary, fontSize: 12 }}
232
+ onClick={() => handleChangeOrderStatus(
233
+ 3,
234
+ _ordersGrouped[k].map((o: any) => o.id),
235
+ )}
236
+ />
237
+ </AcceptOrRejectOrderStyle>
260
238
  )}
261
- </View>
262
- <View>
263
- {viewMapStatus.includes(_ordersGrouped[k][0]?.status) && (
239
+ {_ordersGrouped[k][0]?.status === 3 && _ordersGrouped[k][0]?.delivery_type === 1 &&
240
+ (
241
+ <AcceptOrRejectOrderStyle>
242
+ <OButton
243
+ text={t('ORDER_NOT_READY', 'Order not ready')}
244
+ bgColor={theme.colors.red}
245
+ borderColor={theme.colors.red}
246
+ imgRightSrc={null}
247
+ style={{ borderRadius: 7, height: 40 }}
248
+ parentStyle={{ width: '100%' }}
249
+ textStyle={{ color: theme.colors.white, fontSize: 12 }}
250
+ onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
251
+ action: 'notReady',
252
+ order: _ordersGrouped[k][0],
253
+ ids: _ordersGrouped[k].map((o: any) => o.id),
254
+ handleChangeOrderStatus
255
+ })}
256
+ />
257
+ </AcceptOrRejectOrderStyle>
258
+ )}
259
+ {viewMapStatus.includes(_ordersGrouped[k][0]?.status) &&
260
+ props.appTitle?.text?.includes('Business') &&
261
+ (
262
+ <View>
263
+ <OButton
264
+ text={t('TRACK_REAL_TIME_POSITION', 'Track real time position')}
265
+ bgColor={theme.colors.primaryLight}
266
+ borderColor={theme.colors.primaryLight}
267
+ imgRightSrc={null}
268
+ style={{ borderRadius: 7, height: 40 }}
269
+ parentStyle={{ width: '100%' }}
270
+ textStyle={{ color: theme.colors.primary, fontSize: 12 }}
271
+ onClick={() => handleOpenMapView({ orders: _ordersGrouped[k] })}
272
+ />
273
+ </View>
274
+ )}
275
+ {_ordersGrouped[k][0]?.status === 4 &&
276
+ ![1].includes(_ordersGrouped[k][0]?.delivery_type) &&
277
+ (
278
+ <AcceptOrRejectOrderStyle>
279
+ <OButton
280
+ text={t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Order not picked up by customer')}
281
+ bgColor={theme.colors.danger100}
282
+ borderColor={theme.colors.danger100}
283
+ imgRightSrc={null}
284
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
285
+ parentStyle={{ width: '45%' }}
286
+ textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
287
+ onClick={() => handleChangeOrderStatus(
288
+ 17,
289
+ _ordersGrouped[k].map((o: any) => o.id),
290
+ )}
291
+ />
292
+ <OButton
293
+ text={t('PICKUP_COMPLETED_BY_CUSTOMER', 'Pickup completed by customer')}
294
+ bgColor={theme.colors.success100}
295
+ borderColor={theme.colors.success100}
296
+ imgRightSrc={null}
297
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
298
+ parentStyle={{ width: '45%' }}
299
+ textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
300
+ onClick={() => handleChangeOrderStatus(
301
+ 15,
302
+ _ordersGrouped[k].map((o: any) => o.id),
303
+ )}
304
+ />
305
+ </AcceptOrRejectOrderStyle>
306
+ )}
307
+ {!_ordersGrouped[k][0]?.user_review &&
308
+ pastOrderStatuses.includes(_ordersGrouped[k][0]?.status) &&
309
+ (
264
310
  <OButton
265
- text={t('TRACK_REAL_TIME_POSITION', 'Track real time position')}
266
- bgColor={theme.colors.primaryLight}
267
- borderColor={theme.colors.primaryLight}
311
+ text={t('REVIEW_CUSTOMER', 'Review customer')}
312
+ bgColor={theme.colors.primary}
313
+ borderColor={theme.colors.primary}
268
314
  imgRightSrc={null}
269
- style={{ borderRadius: 7, height: 40 }}
315
+ style={{ borderRadius: 8, height: 40 }}
270
316
  parentStyle={{ width: '100%' }}
271
- textStyle={{ color: theme.colors.primary, fontSize: 12 }}
272
- onClick={() => handleOpenMapView({ orders: _ordersGrouped[k] })}
317
+ textStyle={{ color: theme.colors.white }}
318
+ onClick={() => setOpenReviewModal({
319
+ order: _ordersGrouped[k][0],
320
+ customerId: _ordersGrouped[k][0]?.customer_id,
321
+ ids: _ordersGrouped[k].map((o: any) => o.id)
322
+ })}
273
323
  />
274
324
  )}
275
- </View>
276
- {_ordersGrouped[k][0]?.status === 4 &&
277
- ![1].includes(_ordersGrouped[k][0]?.delivery_type) &&
278
- (
325
+ {!!deliveryPickupBtn && deliveryPickupBtn?.includes(_ordersGrouped[k][0]?.status) && (
279
326
  <AcceptOrRejectOrderStyle>
280
327
  <OButton
281
- text={t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Order not picked up by customer')}
328
+ text={t('PICKUP_FAILED', 'Pickup failed')}
282
329
  bgColor={theme.colors.danger100}
283
330
  borderColor={theme.colors.danger100}
284
331
  imgRightSrc={null}
285
332
  style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
286
333
  parentStyle={{ width: '45%' }}
287
334
  textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
335
+ onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
336
+ action: 'pickupFailed',
337
+ order: _ordersGrouped[k][0],
338
+ ids: _ordersGrouped[k].map((o: any) => o.id),
339
+ handleChangeOrderStatus
340
+ })}
341
+ />
342
+ <OButton
343
+ text={t('PICKUP_COMPLETE', 'Pickup complete')}
344
+ bgColor={theme.colors.success100}
345
+ borderColor={theme.colors.success100}
346
+ imgRightSrc={null}
347
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
348
+ parentStyle={{ width: '45%' }}
349
+ textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
288
350
  onClick={() => handleChangeOrderStatus(
289
- 17,
351
+ 9,
290
352
  _ordersGrouped[k].map((o: any) => o.id),
291
353
  )}
292
354
  />
355
+ </AcceptOrRejectOrderStyle>
356
+ )}
357
+ {!!deliveryStatusCompleteBtn && deliveryStatusCompleteBtn.includes(_ordersGrouped[k][0]?.status) && (
358
+ <AcceptOrRejectOrderStyle>
293
359
  <OButton
294
- text={t('PICKUP_COMPLETED_BY_CUSTOMER', 'Pickup completed by customer')}
360
+ text={t('DELIVERY_FAILED', 'Delivery Failed')}
361
+ bgColor={theme.colors.danger100}
362
+ borderColor={theme.colors.danger100}
363
+ imgRightSrc={null}
364
+ style={{ borderRadius: 7, height: 40, paddingLeft: 10, paddingRight: 10 }}
365
+ parentStyle={{ width: '45%' }}
366
+ textStyle={{ color: theme.colors.danger500, fontSize: 12, textAlign: 'center' }}
367
+ onClick={() => onNavigationRedirect('AcceptOrRejectOrder', {
368
+ action: 'deliveryFailed',
369
+ order: _ordersGrouped[k][0],
370
+ ids: _ordersGrouped[k].map((o: any) => o.id),
371
+ handleChangeOrderStatus
372
+ })}
373
+ />
374
+ <OButton
375
+ text={t('DELIVERY_COMPLETE', 'Delivery complete')}
295
376
  bgColor={theme.colors.success100}
296
377
  borderColor={theme.colors.success100}
297
378
  imgRightSrc={null}
@@ -299,36 +380,27 @@ export const PreviousOrders = (props: any) => {
299
380
  parentStyle={{ width: '45%' }}
300
381
  textStyle={{ color: theme.colors.success500, fontSize: 12, textAlign: 'center' }}
301
382
  onClick={() => handleChangeOrderStatus(
302
- 15,
383
+ 11,
303
384
  _ordersGrouped[k].map((o: any) => o.id),
304
385
  )}
305
386
  />
306
387
  </AcceptOrRejectOrderStyle>
307
388
  )}
308
- {!_ordersGrouped[k][0]?.user_review &&
309
- pastOrderStatuses.includes(_ordersGrouped[k][0]?.status) &&
310
- (
311
- <OButton
312
- text={t('REVIEW_CUSTOMER', 'Review customer')}
313
- bgColor={theme.colors.primary}
314
- borderColor={theme.colors.primary}
315
- imgRightSrc={null}
316
- style={{ borderRadius: 8, height: 40 }}
317
- parentStyle={{ width: '100%' }}
318
- textStyle={{ color: theme.colors.white }}
319
- onClick={() => setOpenReviewModal({
320
- order: _ordersGrouped[k][0],
321
- customerId: _ordersGrouped[k][0]?.customer_id,
322
- ids: _ordersGrouped[k].map((o: any) => o.id)
323
- })}
324
- />
325
- )}
326
389
  </OrdersGroupedItem>
327
390
  ))}
328
391
  </View>
329
392
  ) : (
330
393
  <View key={order.id}>
331
- <OrdersList order={order} _order={_order} />
394
+ <OrdersList
395
+ order={order}
396
+ _order={_order}
397
+ currentOrdenSelected={currentOrdenSelected}
398
+ isLogisticOrder={isLogisticOrder}
399
+ handlePressOrder={handlePressOrder}
400
+ currentTabSelected={currentTabSelected}
401
+ getOrderStatus={getOrderStatus}
402
+ handleClickLogisticOrder={handleClickLogisticOrder}
403
+ />
332
404
  </View>
333
405
  )
334
406
  )
@@ -33,7 +33,7 @@ export const NotificationIcon = styled.View`
33
33
  export const AcceptOrRejectOrder = styled.View`
34
34
  flex-direction: row;
35
35
  justify-content: space-between;
36
- margin: 10px;
36
+ margin: ${(props: any) => props.m ?? 10}px;
37
37
  `
38
38
  export const Timestatus = styled.View`
39
39
  position: relative;;
@@ -1,8 +1,12 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { View, Animated } from 'react-native';
1
+ import React, { useEffect, useState, useCallback } from 'react';
2
+ import { View, Animated, TouchableOpacity } from 'react-native';
3
3
  import MaterialCommunityIcon from 'react-native-vector-icons/MaterialCommunityIcons';
4
4
  import { useUtils, useLanguage } from 'ordering-components/native';
5
5
  import { useTheme } from 'styled-components/native';
6
+ import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
7
+
8
+ const { useDeviceOrientation } = DeviceOrientationMethods
9
+
6
10
  import {
7
11
  Accordion,
8
12
  AccordionSection,
@@ -34,8 +38,12 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
34
38
  const [, t] = useLanguage();
35
39
  const theme = useTheme();
36
40
  const [{ parsePrice }] = useUtils();
41
+ const [orientationState] = useDeviceOrientation();
42
+ const WIDTH_SCREEN = orientationState?.dimensions?.width
37
43
 
38
44
  const [isActive, setActiveState] = useState(false);
45
+ const [isReadMore, setIsReadMore] = useState(false);
46
+ const [lengthMore, setLengthMore] = useState(false);
39
47
 
40
48
  const productInfo = () => {
41
49
  if (isCartProduct) {
@@ -108,6 +116,10 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
108
116
  }
109
117
  }, []);
110
118
 
119
+ const onTextLayout = useCallback((e: any) => {
120
+ setLengthMore((e.nativeEvent.lines.length == 2 && e.nativeEvent.lines[1].width > WIDTH_SCREEN * .76) || e.nativeEvent.lines.length > 2); //to check the text is more than 2 lines or not
121
+ },[]);
122
+
111
123
  return (
112
124
  <AccordionSection>
113
125
  <Accordion
@@ -288,9 +300,21 @@ export const ProductItemAccordion = (props: ProductItemAccordionParams) => {
288
300
  color={theme.colors.unselectText}>
289
301
  {t('COMMENT', 'Comment')}
290
302
  </OText>
291
- <OText size={12} mLeft={10} color={theme.colors.unselectText}>
303
+ <OText
304
+ size={12}
305
+ style={{ width: '100%', paddingLeft: 10 }}
306
+ color={theme.colors.unselectText}
307
+ onTextLayout={onTextLayout}
308
+ numberOfLines={isReadMore ? 15 : 2}
309
+ ellipsizeMode="tail"
310
+ >
292
311
  {product.comment}
293
312
  </OText>
313
+ {lengthMore && (
314
+ <TouchableOpacity onPress={() => setIsReadMore(!isReadMore)} style={{ marginLeft: 10 }}>
315
+ <OText size={10} color={theme.colors.statusOrderBlue}>{isReadMore ? t('SHOW_LESS', 'Show less') : t('READ_MORE', 'Read more')}</OText>
316
+ </TouchableOpacity>
317
+ )}
294
318
  </ProductComment>
295
319
  )}
296
320
  </AccordionContent>
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  import React, { useState, useEffect, useRef } from 'react'
2
4
  import {
3
5
  useLanguage,
@@ -86,6 +88,18 @@ const ReviewCustomerUI = (props: ReviewCustomerParams) => {
86
88
  marginBottom: 10,
87
89
  backgroundColor: theme.colors.lightGray
88
90
  },
91
+ btnBackArrow: {
92
+ borderWidth: 0,
93
+ width: 32,
94
+ height: 32,
95
+ tintColor: theme.colors.textGray,
96
+ backgroundColor: theme.colors.clear,
97
+ borderColor: theme.colors.clear,
98
+ shadowColor: theme.colors.clear,
99
+ paddingLeft: 0,
100
+ paddingRight: 0,
101
+ marginBottom: 20
102
+ },
89
103
  inputTextArea: {
90
104
  borderColor: theme.colors.lightGray,
91
105
  borderRadius: 8,
@@ -147,7 +161,7 @@ const ReviewCustomerUI = (props: ReviewCustomerParams) => {
147
161
  useEffect(() => {
148
162
  if (scrollref?.current) {
149
163
  Keyboard.addListener('keyboardDidShow', () => {
150
- scrollref.current.scrollToEnd()
164
+ scrollref?.current?.scrollToEnd && scrollref.current.scrollToEnd()
151
165
  })
152
166
  }
153
167
  }, [scrollref?.current])
@@ -177,18 +191,9 @@ const ReviewCustomerUI = (props: ReviewCustomerParams) => {
177
191
  }}
178
192
  >
179
193
  <View>
180
- <OIconButton
181
- icon={theme.images.general.arrow_left}
182
- borderColor={theme.colors.clear}
183
- iconStyle={{ width: 20, height: 16 }}
184
- style={{
185
- maxWidth: 40,
186
- height: 20,
187
- justifyContent: 'flex-end',
188
- marginBottom: 20,
189
- }}
190
- onClick={() => closeModal()}
191
- />
194
+ <TouchableOpacity onPress={() => closeModal()} style={styles.btnBackArrow}>
195
+ <OIcon src={theme.images.general.arrow_left} color={theme.colors.textGray} />
196
+ </TouchableOpacity>
192
197
  <OText
193
198
  size={20}
194
199
  weight="600"
@@ -1,6 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { View, StyleSheet, Dimensions, Linking } from 'react-native';
3
- import { ScrollView, TouchableOpacity } from 'react-native-gesture-handler';
2
+ import { View, StyleSheet, Dimensions, Linking, ScrollView, TouchableOpacity } from 'react-native';
4
3
  import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
5
4
  import NetInfo from '@react-native-community/netinfo';
6
5
  import { useTheme } from 'styled-components/native';
@@ -149,10 +148,10 @@ const StoresListUI = (props: BusinessesListingParams) => {
149
148
  width={12}
150
149
  height={12}
151
150
  color={theme.colors.skyBlue}
152
- style={{ marginRight: 5, marginTop: 3 }}
151
+ style={{ marginRight: 5 }}
153
152
  />
154
153
  <OText size={12}>
155
- {t('MORE_SETTINGS_GO_TO', 'For more settings go to')}{' '}
154
+ {t('MORE_SETTINGS_GO_TO', 'For more settings go to ')}
156
155
  </OText>
157
156
  <TouchableOpacity onPress={() => { Linking.openURL(t('LINK_MORE_SETTINGS_GO_TO', 'https://app.ordering.co')) }}>
158
157
  <OText size={12} color={theme.colors.skyBlue}>
@@ -49,7 +49,8 @@ const ProfileUI = (props: ProfileParams) => {
49
49
  handleToggleAvalaibleStatusDriver,
50
50
  userState,
51
51
  isAvailableLoading,
52
- isAlsea
52
+ isAlsea,
53
+ isHideDriverStatus
53
54
  } = props;
54
55
 
55
56
  const [{ user }] = useSession();
@@ -345,7 +346,7 @@ const ProfileUI = (props: ProfileParams) => {
345
346
  />
346
347
  </CenterView>
347
348
 
348
- {user?.level === 4 && (
349
+ {user?.level === 4 && !isHideDriverStatus && (
349
350
  <EnabledStatusDriver>
350
351
  <View style={{ flex: 1 }}>
351
352
  <OText
@@ -478,19 +479,17 @@ const ProfileUI = (props: ProfileParams) => {
478
479
  />
479
480
  </EditButton>
480
481
  )}
481
- {!!user?.schedule && (
482
- <Pressable style={{ marginBottom: 10 }} onPress={() => setOpenModal(true)}>
483
- <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
484
- <OText size={16}>{t('SCHEDULE', 'Schedule')}</OText>
485
- <AntDesignIcon size={18} name='right' />
486
- </View>
487
- <View style={{
488
- borderBottomColor: theme.colors.tabBar,
489
- borderBottomWidth: 1,
490
- marginTop: 10
491
- }} />
492
- </Pressable>
493
- )}
482
+ <Pressable style={{ marginBottom: 10 }} onPress={() => setOpenModal(true)}>
483
+ <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
484
+ <OText size={16}>{t('SCHEDULE', 'Schedule')}</OText>
485
+ <AntDesignIcon size={18} name='right' />
486
+ </View>
487
+ <View style={{
488
+ borderBottomColor: theme.colors.tabBar,
489
+ borderBottomWidth: 1,
490
+ marginTop: 10
491
+ }} />
492
+ </Pressable>
494
493
  <Actions>
495
494
  <LanguageSelector />
496
495
 
@@ -12,10 +12,12 @@ interface Props {
12
12
  TextStyle?: TextStyle;
13
13
  type?: string;
14
14
  hasButton?: boolean;
15
+ numberOfLines?: number;
16
+ onTextLayout?: (e : any) => void;
15
17
  }
16
18
 
17
19
  const OLink = (props: Props): React.ReactElement => {
18
- const { url, shorcut, color, PressStyle, TextStyle, type, hasButton } = props;
20
+ const { url, shorcut, color, PressStyle, TextStyle, type, hasButton, numberOfLines, onTextLayout } = props;
19
21
  const [, t] = useLanguage();
20
22
 
21
23
  const handleAlert = () =>
@@ -75,9 +77,11 @@ const OLink = (props: Props): React.ReactElement => {
75
77
  ) : (
76
78
  <OText
77
79
  style={TextStyle}
78
- numberOfLines={1}
80
+ numberOfLines={numberOfLines ?? 1}
79
81
  ellipsizeMode="tail"
80
- color={color}>
82
+ color={color}
83
+ onTextLayout={onTextLayout}
84
+ >
81
85
  {shorcut}
82
86
  </OText>
83
87
  )}
@@ -85,4 +89,8 @@ const OLink = (props: Props): React.ReactElement => {
85
89
  );
86
90
  };
87
91
 
92
+ OLink.defaultProps = {
93
+ onTextLayout: (e: any) => {}
94
+ };
95
+
88
96
  export default OLink;