ordering-ui-react-native 0.17.1 → 0.17.2-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 (207) hide show
  1. package/package.json +5 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/styles.tsx +8 -14
  4. package/src/components/BusinessInformation/index.tsx +11 -4
  5. package/src/components/BusinessInformation/styles.tsx +2 -2
  6. package/src/components/BusinessesListing/index.tsx +1 -1
  7. package/src/components/OrderCreating/index.tsx +1 -21
  8. package/src/components/OrdersOption/index.tsx +54 -56
  9. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  10. package/src/components/SingleProductReview/index.tsx +7 -4
  11. package/src/components/StripeMethodForm/index.tsx +1 -1
  12. package/src/components/VerifyPhone/styles.tsx +1 -2
  13. package/src/components/shared/OToast.tsx +4 -4
  14. package/src/utils/index.tsx +7 -1
  15. package/themes/business/index.tsx +2 -0
  16. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
  17. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  18. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  19. package/themes/business/src/components/Chat/index.tsx +118 -107
  20. package/themes/business/src/components/DriverMap/index.tsx +22 -9
  21. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  22. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  23. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  24. package/themes/business/src/components/LoginForm/index.tsx +238 -80
  25. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  26. package/themes/business/src/components/MapView/index.tsx +18 -7
  27. package/themes/business/src/components/NewOrderNotification/index.tsx +34 -44
  28. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  29. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +96 -50
  30. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +59 -62
  31. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  32. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  33. package/themes/business/src/components/OrderMessage/index.tsx +18 -17
  34. package/themes/business/src/components/OrderSummary/index.tsx +113 -121
  35. package/themes/business/src/components/OrdersOption/index.tsx +33 -75
  36. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  37. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  38. package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
  39. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  40. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  41. package/themes/business/src/components/ReviewCustomer/index.tsx +41 -24
  42. package/themes/business/src/components/StoresList/index.tsx +2 -2
  43. package/themes/business/src/components/shared/OLink.tsx +33 -13
  44. package/themes/business/src/components/shared/OModal.tsx +16 -9
  45. package/themes/business/src/components/shared/OText.tsx +8 -2
  46. package/themes/business/src/types/index.tsx +33 -2
  47. package/themes/business/src/utils/index.tsx +51 -0
  48. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  49. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  50. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  52. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  53. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  54. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  55. package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
  56. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  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 +3 -2
  61. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  62. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  63. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  64. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  65. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  66. package/themes/kiosk/src/types/index.d.ts +13 -0
  67. package/themes/kiosk/src/utils/index.tsx +15 -0
  68. package/themes/original/index.tsx +8 -0
  69. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  70. package/themes/original/src/components/AddressForm/index.tsx +41 -16
  71. package/themes/original/src/components/AddressList/index.tsx +26 -21
  72. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  73. package/themes/original/src/components/AnalyticsSegment/index.tsx +189 -9
  74. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  75. package/themes/original/src/components/BusinessBasicInformation/index.tsx +125 -82
  76. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -4
  77. package/themes/original/src/components/BusinessController/index.tsx +145 -68
  78. package/themes/original/src/components/BusinessController/styles.tsx +22 -9
  79. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  80. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  81. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  82. package/themes/original/src/components/BusinessItemAccordion/index.tsx +24 -23
  83. package/themes/original/src/components/BusinessListingSearch/index.tsx +52 -24
  84. package/themes/original/src/components/BusinessPreorder/index.tsx +97 -16
  85. package/themes/original/src/components/BusinessProductsList/index.tsx +20 -11
  86. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  87. package/themes/original/src/components/BusinessProductsListing/index.tsx +617 -490
  88. package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -13
  89. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  90. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -3
  91. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  92. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +98 -78
  93. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  94. package/themes/original/src/components/BusinessesListing/index.tsx +5 -3
  95. package/themes/original/src/components/Cart/index.tsx +87 -43
  96. package/themes/original/src/components/CartContent/index.tsx +102 -3
  97. package/themes/original/src/components/CartContent/styles.tsx +15 -1
  98. package/themes/original/src/components/Checkout/index.tsx +294 -175
  99. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  100. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  101. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  102. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  103. package/themes/original/src/components/DriverTips/index.tsx +52 -37
  104. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  105. package/themes/original/src/components/Favorite/index.tsx +7 -4
  106. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  107. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  108. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  109. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  110. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  111. package/themes/original/src/components/Help/index.tsx +8 -8
  112. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
  113. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  114. package/themes/original/src/components/HelpGuide/index.tsx +12 -16
  115. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  116. package/themes/original/src/components/HelpOrder/index.tsx +12 -25
  117. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  118. package/themes/original/src/components/Home/index.tsx +13 -4
  119. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  120. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  121. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  122. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  123. package/themes/original/src/components/LoginForm/index.tsx +43 -19
  124. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  125. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  126. package/themes/original/src/components/Messages/index.tsx +32 -10
  127. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  128. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  129. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +117 -96
  130. package/themes/original/src/components/MultiCheckout/index.tsx +248 -83
  131. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  132. package/themes/original/src/components/MultiOrdersDetails/index.tsx +67 -20
  133. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  134. package/themes/original/src/components/MyOrders/index.tsx +66 -17
  135. package/themes/original/src/components/NavBar/index.tsx +6 -11
  136. package/themes/original/src/components/Notifications/index.tsx +144 -0
  137. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  138. package/themes/original/src/components/OrderDetails/OrderEta.tsx +59 -0
  139. package/themes/original/src/components/OrderDetails/index.tsx +109 -221
  140. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  141. package/themes/original/src/components/OrderItAgain/index.tsx +47 -43
  142. package/themes/original/src/components/OrderProgress/index.tsx +74 -112
  143. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  144. package/themes/original/src/components/OrderSummary/index.tsx +68 -29
  145. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
  146. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +28 -19
  147. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  148. package/themes/original/src/components/OrdersOption/index.tsx +76 -83
  149. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  150. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  151. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  152. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  153. package/themes/original/src/components/PaymentOptions/index.tsx +2 -2
  154. package/themes/original/src/components/PhoneInputNumber/index.tsx +3 -3
  155. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  156. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  157. package/themes/original/src/components/ProductForm/index.tsx +240 -261
  158. package/themes/original/src/components/ProductForm/styles.tsx +4 -7
  159. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  160. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  161. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  162. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  163. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
  164. package/themes/original/src/components/ProfessionalProfile/index.tsx +54 -14
  165. package/themes/original/src/components/Promotions/index.tsx +234 -220
  166. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  167. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  168. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  169. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  170. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  171. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  172. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  173. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  174. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  175. package/themes/original/src/components/ServiceForm/index.tsx +377 -270
  176. package/themes/original/src/components/Sessions/index.tsx +11 -8
  177. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  178. package/themes/original/src/components/SignupForm/index.tsx +79 -66
  179. package/themes/original/src/components/SingleOrderCard/index.tsx +126 -57
  180. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  181. package/themes/original/src/components/SingleProductCard/index.tsx +111 -56
  182. package/themes/original/src/components/SingleProductCard/styles.tsx +27 -13
  183. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  184. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  185. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  186. package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
  187. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -218
  188. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  189. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  190. package/themes/original/src/components/UserFormDetails/index.tsx +53 -54
  191. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  192. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  193. package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
  194. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  195. package/themes/original/src/components/Wallets/index.tsx +18 -17
  196. package/themes/original/src/components/Wallets/styles.tsx +2 -0
  197. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  198. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  199. package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
  200. package/themes/original/src/components/shared/OButton.tsx +6 -2
  201. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  202. package/themes/original/src/components/shared/OInput.tsx +10 -1
  203. package/themes/original/src/components/shared/OModal.tsx +3 -3
  204. package/themes/original/src/layouts/Container.tsx +13 -9
  205. package/themes/original/src/types/index.tsx +44 -7
  206. package/themes/original/src/utils/index.tsx +364 -58
  207. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -52,7 +52,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
52
52
  handleClickLogisticOrder,
53
53
  forceUpdate,
54
54
  getPermissions,
55
- isGrantedPermissions
55
+ orderAssingId,
56
+ isGrantedPermissions,
56
57
  } = props;
57
58
  const [, { showToast }] = useToast();
58
59
  const { order } = props.order
@@ -154,12 +155,12 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
154
155
  };
155
156
 
156
157
  const handleRejectLogisticOrder = () => {
157
- handleClickLogisticOrder?.(2, order?.logistic_order_id)
158
+ handleClickLogisticOrder?.(2, orderAssingId || order?.logistic_order_id)
158
159
  handleArrowBack()
159
160
  }
160
161
 
161
162
  const handleAcceptLogisticOrder = (order: any) => {
162
- handleClickLogisticOrder?.(1, order?.logistic_order_id)
163
+ handleClickLogisticOrder?.(1, orderAssingId || order?.logistic_order_id)
163
164
  if (order?.order_group) {
164
165
  handleArrowBack()
165
166
  }
@@ -1,6 +1,6 @@
1
- import React, { useState } from 'react'
1
+ import React, { useState, useCallback } from 'react'
2
2
 
3
- import { Platform, StyleSheet, View } from 'react-native';
3
+ import { Platform, StyleSheet, View, TouchableOpacity, ScrollView } from 'react-native';
4
4
 
5
5
  import { OButton, OText, OLink, OModal } from '../shared'
6
6
  import {
@@ -16,18 +16,23 @@ import {
16
16
 
17
17
  import { ProductItemAccordion } from '../ProductItemAccordion';
18
18
 
19
- import { verifyDecimals } from '../../utils';
19
+ import { verifyDecimals, calculateDistance, transformDistance } from '../../utils';
20
20
 
21
21
  import {
22
22
  useLanguage,
23
23
  useUtils,
24
24
  useConfig,
25
+ useSession
25
26
  } from 'ordering-components/native';
26
27
  import { useTheme } from 'styled-components/native';
27
28
  import { ReviewCustomer } from '../ReviewCustomer'
28
29
 
29
30
  import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
30
31
 
32
+ import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
33
+
34
+ const { useDeviceOrientation } = DeviceOrientationMethods
35
+
31
36
  interface OrderContent {
32
37
  order: any,
33
38
  logisticOrderStatus?: Array<number>,
@@ -38,12 +43,20 @@ interface OrderContent {
38
43
  export const OrderContentComponent = (props: OrderContent) => {
39
44
  const [, t] = useLanguage();
40
45
  const theme = useTheme()
41
-
46
+ const [{ user }] = useSession()
42
47
  const { order, logisticOrderStatus, isOrderGroup, lastOrder } = props;
43
48
  const [{ parsePrice, parseNumber }] = useUtils();
44
49
  const [{ configs }] = useConfig();
50
+ const [orientationState] = useDeviceOrientation();
51
+ const distanceUnit = configs?.distance_unit?.value
52
+
53
+ const WIDTH_SCREEN = orientationState?.dimensions?.width
54
+
45
55
  const [openReviewModal, setOpenReviewModal] = useState(false)
46
56
 
57
+ const [isReadMore, setIsReadMore] = useState(false)
58
+ const [lengthMore, setLengthMore] = useState(false)
59
+
47
60
  const pastOrderStatuses = [1, 2, 5, 6, 10, 11, 12, 16, 17]
48
61
 
49
62
  const walletName: any = {
@@ -91,10 +104,18 @@ export const OrderContentComponent = (props: OrderContent) => {
91
104
  return order?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
92
105
  }
93
106
 
107
+ const containsOnlyNumbers = (str: string) => {
108
+ return /^\d+$/.test(str);
109
+ }
110
+
111
+ const onTextLayout = useCallback((e: any) => {
112
+ 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
113
+ }, []);
114
+
94
115
  return (
95
116
  <OrderContent isOrderGroup={isOrderGroup} lastOrder={lastOrder}>
96
117
  {isOrderGroup && (
97
- <OText size={18}>{t('ORDER', 'Order')} #{isOrderGroup ? order?.order_group_id : order?.id}</OText>
118
+ <OText size={18}>{t('ORDER', 'Order')} #{order?.id}</OText>
98
119
  )}
99
120
 
100
121
  {order?.metafields?.length > 0 && (
@@ -148,7 +169,7 @@ export const OrderContentComponent = (props: OrderContent) => {
148
169
  <View style={styles.linkWithIcons}>
149
170
  <OLink
150
171
  PressStyle={styles.linkWithIcons}
151
- url={`tel:${order?.business?.cellphone}`}
172
+ url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.cellphone : 'invalid'}`}
152
173
  shorcut={`${order?.business?.cellphone}`}
153
174
  TextStyle={styles.textLink}
154
175
  />
@@ -159,7 +180,7 @@ export const OrderContentComponent = (props: OrderContent) => {
159
180
  <View style={styles.linkWithIcons}>
160
181
  <OLink
161
182
  PressStyle={styles.linkWithIcons}
162
- url={`tel:${order?.business?.phone}`}
183
+ url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.phone : 'invalid'}`}
163
184
  shorcut={order?.business?.phone}
164
185
  TextStyle={styles.textLink}
165
186
  />
@@ -176,12 +197,17 @@ export const OrderContentComponent = (props: OrderContent) => {
176
197
  ios: `maps:0,0?q=${order?.business?.address}`,
177
198
  android: `geo:0,0?q=${order?.business?.address}`,
178
199
  })}
200
+ numberOfLines={2}
179
201
  shorcut={order?.business?.address}
180
202
  TextStyle={styles.textLink}
181
203
  />
182
204
  </View>
183
205
  )}
184
-
206
+ {!!order?.business?.location && (
207
+ <OText>
208
+ {t('DISTANCE_TO_THE_BUSINESS', 'Distance to the business')}: {transformDistance(calculateDistance(order?.business?.location, user?.location), distanceUnit)} {t(distanceUnit.toUpperCase(), distanceUnit)}
209
+ </OText>
210
+ )}
185
211
  {!!order?.business?.address_notes && (
186
212
  <View style={styles.linkWithIcons}>
187
213
  <OLink
@@ -274,7 +300,7 @@ export const OrderContentComponent = (props: OrderContent) => {
274
300
  <View style={styles.linkWithIcons}>
275
301
  <OLink
276
302
  PressStyle={styles.linkWithIcons}
277
- url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
303
+ url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.cellphone) ? order?.customer?.cellphone : 'invalid'}`}
278
304
  shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
279
305
  TextStyle={styles.textLink}
280
306
  />
@@ -285,7 +311,7 @@ export const OrderContentComponent = (props: OrderContent) => {
285
311
  <View style={styles.linkWithIcons}>
286
312
  <OLink
287
313
  PressStyle={styles.linkWithIcons}
288
- url={`tel:${order?.customer?.phone}`}
314
+ url={`tel:${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
289
315
  shorcut={order?.customer?.phone}
290
316
  TextStyle={styles.textLink}
291
317
  />
@@ -293,17 +319,26 @@ export const OrderContentComponent = (props: OrderContent) => {
293
319
  )}
294
320
 
295
321
  {!!order?.customer?.address && (
296
- <View style={styles.linkWithIcons}>
297
- <OLink
298
- PressStyle={styles.linkWithIcons}
299
- url={Platform.select({
300
- ios: `maps:0,0?q=${order?.customer?.address}`,
301
- android: `geo:0,0?q=${order?.customer?.address}`,
302
- })}
303
- shorcut={order?.customer?.address}
304
- TextStyle={styles.textLink}
305
- />
306
- </View>
322
+ <>
323
+ <View style={styles.linkWithIcons}>
324
+ <OLink
325
+ PressStyle={{ ...styles.linkWithIcons, marginBottom: 0 }}
326
+ url={Platform.select({
327
+ ios: `maps:0,0?q=${order?.customer?.address}`,
328
+ android: `geo:0,0?q=${order?.customer?.address}`,
329
+ })}
330
+ onTextLayout={onTextLayout}
331
+ numberOfLines={isReadMore ? 20 : 2}
332
+ shorcut={order?.customer?.address}
333
+ TextStyle={styles.textLink}
334
+ />
335
+ </View>
336
+ {lengthMore && (
337
+ <TouchableOpacity onPress={() => setIsReadMore(!isReadMore)}>
338
+ <OText size={12} color={theme.colors.statusOrderBlue}>{isReadMore ? t('SHOW_LESS', 'Show less') : t('READ_MORE', 'Read more')}</OText>
339
+ </TouchableOpacity>
340
+ )}
341
+ </>
307
342
  )}
308
343
 
309
344
  {!!order?.customer?.internal_number && (
@@ -313,9 +348,15 @@ export const OrderContentComponent = (props: OrderContent) => {
313
348
  )}
314
349
 
315
350
  {!!order?.customer?.address_notes && (
316
- <OText numberOfLines={1} mBottom={4} ellipsizeMode="tail">
317
- {order?.customer?.address_notes}
318
- </OText>
351
+ <ScrollView
352
+ showsVerticalScrollIndicator={false}
353
+ showsHorizontalScrollIndicator={false}
354
+ horizontal
355
+ >
356
+ <OText numberOfLines={1} mBottom={4} ellipsizeMode="tail">
357
+ {order?.customer?.address_notes}
358
+ </OText>
359
+ </ScrollView>
319
360
  )}
320
361
 
321
362
  {!!order?.customer?.zipcode && (
@@ -333,13 +374,18 @@ export const OrderContentComponent = (props: OrderContent) => {
333
374
  <View style={{ marginTop: 10 }}>
334
375
  {order?.delivery_option !== undefined && order?.delivery_type === 1 && (
335
376
  <OText>
336
- {order?.delivery_option?.name}
377
+ {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
337
378
  </OText>
338
379
  )}
339
380
  {!!order?.comment && (
340
- <OText style={{ fontStyle: 'italic', opacity: 0.6, marginBottom: 5 }}>
341
- {order?.comment}
342
- </OText>
381
+ <>
382
+ <OText weight='500' style={{ marginBottom: 5 }}>
383
+ {t('ORDER_COMMENT', 'Order Comment')}
384
+ </OText>
385
+ <OText style={{ fontStyle: 'italic', opacity: 0.6, marginBottom: 20 }}>
386
+ {order?.comment}
387
+ </OText>
388
+ </>
343
389
  )}
344
390
  </View>
345
391
  )}
@@ -373,7 +419,7 @@ export const OrderContentComponent = (props: OrderContent) => {
373
419
  <Table>
374
420
  <OText mBottom={4}>{t('SUBTOTAL', 'Subtotal')}</OText>
375
421
  <OText mBottom={4}>
376
- {parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: order?.currency})}
422
+ {parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: order?.currency })}
377
423
  </OText>
378
424
  </Table>
379
425
  {(order?.summary?.discount > 0 ?? order?.discount > 0) && order?.offers?.length === 0 && (
@@ -386,7 +432,7 @@ export const OrderContentComponent = (props: OrderContent) => {
386
432
  ) : (
387
433
  <OText mBottom={4}>{t('DISCOUNT', theme?.defaultLanguages?.DISCOUNT || 'Discount')}</OText>
388
434
  )}
389
- <OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: order?.currency})}</OText>
435
+ <OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: order?.currency })}</OText>
390
436
  </Table>
391
437
  )}
392
438
  {
@@ -394,13 +440,13 @@ export const OrderContentComponent = (props: OrderContent) => {
394
440
  <Table key={offer.id}>
395
441
  <OSRow>
396
442
  <OText mBottom={4}>
397
- {offer.name}
443
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
398
444
  {offer.rate_type === 1 && (
399
445
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
400
446
  )}
401
447
  </OText>
402
448
  </OSRow>
403
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
449
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
404
450
  </Table>
405
451
  ))
406
452
  }
@@ -408,9 +454,9 @@ export const OrderContentComponent = (props: OrderContent) => {
408
454
  <Table>
409
455
  <OText mBottom={4}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
410
456
  {order?.tax_type === 1 ? (
411
- <OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: order?.currency})}</OText>
457
+ <OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: order?.currency })}</OText>
412
458
  ) : (
413
- <OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: order?.currency})}</OText>
459
+ <OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: order?.currency })}</OText>
414
460
  )}
415
461
  </Table>
416
462
  )}
@@ -420,7 +466,7 @@ export const OrderContentComponent = (props: OrderContent) => {
420
466
  {t('TAX', 'Tax')} {`(${verifyDecimals(order?.tax, parseNumber)}%)`}
421
467
  </OText>
422
468
  <OText mBottom={4}>
423
- {parsePrice(order?.summary?.tax ?? 0, { currency: order?.currency})}
469
+ {parsePrice(order?.summary?.tax ?? 0, { currency: order?.currency })}
424
470
  </OText>
425
471
  </Table>
426
472
  )}
@@ -431,7 +477,7 @@ export const OrderContentComponent = (props: OrderContent) => {
431
477
  {t('SERVICE_FEE', 'Service fee')}
432
478
  {`(${verifyDecimals(order?.service_fee, parseNumber)}%)`}
433
479
  </OText>
434
- <OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: order?.currency})}</OText>
480
+ <OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: order?.currency })}</OText>
435
481
  </Table>
436
482
  )
437
483
  }
@@ -440,11 +486,11 @@ export const OrderContentComponent = (props: OrderContent) => {
440
486
  <Table key={tax.id}>
441
487
  <OSRow>
442
488
  <OText mBottom={4}>
443
- {tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
489
+ {t(tax?.name?.toUpperCase()?.replace(/ /g, '_'), tax?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
444
490
  {`(${verifyDecimals(tax?.rate, parseNumber)}%)`}{' '}
445
491
  </OText>
446
492
  </OSRow>
447
- <OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: order?.currency})}</OText>
493
+ <OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: order?.currency })}</OText>
448
494
  </Table>
449
495
  ))
450
496
  }
@@ -453,11 +499,11 @@ export const OrderContentComponent = (props: OrderContent) => {
453
499
  <Table key={fee.id}>
454
500
  <OSRow>
455
501
  <OText mBottom={4}>
456
- {fee.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
457
- ({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: order?.currency})} + `}{fee.percentage}%){' '}
502
+ {t(fee?.name?.toUpperCase()?.replace(/ /g, '_'), fee?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
503
+ ({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: order?.currency })} + `}{fee.percentage}%){' '}
458
504
  </OText>
459
505
  </OSRow>
460
- <OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: order?.currency})}</OText>
506
+ <OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: order?.currency })}</OText>
461
507
  </Table>
462
508
  ))
463
509
  }
@@ -466,13 +512,13 @@ export const OrderContentComponent = (props: OrderContent) => {
466
512
  <Table key={offer.id}>
467
513
  <OSRow>
468
514
  <OText mBottom={4}>
469
- {offer.name}
515
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
470
516
  {offer.rate_type === 1 && (
471
517
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
472
518
  )}
473
519
  </OText>
474
520
  </OSRow>
475
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
521
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
476
522
  </Table>
477
523
  ))
478
524
  }
@@ -484,7 +530,7 @@ export const OrderContentComponent = (props: OrderContent) => {
484
530
  </OText>
485
531
 
486
532
  <OText mBottom={4}>
487
- {parsePrice(order?.summary?.delivery_price, { currency: order?.currency})}
533
+ {parsePrice(order?.summary?.delivery_price, { currency: order?.currency })}
488
534
  </OText>
489
535
  </Table>
490
536
  )
@@ -494,13 +540,13 @@ export const OrderContentComponent = (props: OrderContent) => {
494
540
  <Table key={offer.id}>
495
541
  <OSRow>
496
542
  <OText mBottom={4}>
497
- {offer.name}
543
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
498
544
  {offer.rate_type === 1 && (
499
545
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
500
546
  )}
501
547
  </OText>
502
548
  </OSRow>
503
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
549
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
504
550
  </Table>
505
551
  ))
506
552
  }
@@ -515,7 +561,7 @@ export const OrderContentComponent = (props: OrderContent) => {
515
561
  `(${verifyDecimals(order?.summary?.driver_tip, parseNumber)}%)`
516
562
  )}
517
563
  </OText>
518
- <OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency})}</OText>
564
+ <OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency })}</OText>
519
565
  </Table>
520
566
  )}
521
567
 
@@ -529,7 +575,7 @@ export const OrderContentComponent = (props: OrderContent) => {
529
575
  mBottom={4}
530
576
  style={styles.textBold}
531
577
  color={theme.colors.primary}>
532
- {parsePrice(order?.summary?.total ?? order?.total, { currency: order?.currency})}
578
+ {parsePrice(order?.summary?.total ?? order?.total, { currency: order?.currency })}
533
579
  </OText>
534
580
  </Table>
535
581
  </Total>
@@ -563,7 +609,7 @@ export const OrderContentComponent = (props: OrderContent) => {
563
609
  <OText>
564
610
  {event?.wallet_event
565
611
  ? walletName[event?.wallet_event?.wallet?.type]?.name
566
- : event?.paymethod?.name}
612
+ : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)}
567
613
  </OText>
568
614
  {event?.data?.charge_id && (
569
615
  <OText>
@@ -572,7 +618,7 @@ export const OrderContentComponent = (props: OrderContent) => {
572
618
  )}
573
619
  </View>
574
620
  <OText>
575
- -{parsePrice(event.amount, { currency: order?.currency})}
621
+ -{parsePrice(event.amount, { currency: order?.currency })}
576
622
  </OText>
577
623
  </View>
578
624
  ))}
@@ -9,12 +9,15 @@ import {
9
9
 
10
10
  //Components
11
11
  import {
12
+ OIcon,
12
13
  OIconButton,
13
14
  OText,
14
15
  } from '../shared'
15
16
 
16
17
  import { useTheme } from 'styled-components/native';
17
- import { StyleSheet, View } from 'react-native';
18
+ import { StyleSheet, TouchableOpacity, View } from 'react-native';
19
+ import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons'
20
+ import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'
18
21
 
19
22
  import {
20
23
  useLanguage,
@@ -54,6 +57,19 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
54
57
  height: 40,
55
58
  padding: 10,
56
59
  alignItems: 'flex-end',
60
+ color: theme.colors.textGray,
61
+ },
62
+ btnBackArrow: {
63
+ borderWidth: 0,
64
+ width: 32,
65
+ height: 32,
66
+ tintColor: theme.colors.textGray,
67
+ backgroundColor: theme.colors.clear,
68
+ borderColor: theme.colors.clear,
69
+ shadowColor: theme.colors.clear,
70
+ paddingLeft: 0,
71
+ paddingRight: 0,
72
+ marginTop: 10
57
73
  },
58
74
  })
59
75
 
@@ -108,42 +124,30 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
108
124
  <>
109
125
  {!props.isCustomView && (
110
126
  <Header>
111
- <OIconButton
112
- icon={theme.images.general.arrow_left}
113
- iconStyle={{ width: 20, height: 20 }}
114
- borderColor={theme.colors.clear}
115
- style={{ ...styles.icons, justifyContent: 'flex-end' }}
116
- onClick={() => handleArrowBack()}
117
- />
118
-
127
+ <TouchableOpacity onPress={() => handleArrowBack()} style={styles.btnBackArrow}>
128
+ <OIcon src={theme.images.general.arrow_left} color={theme.colors.textGray} />
129
+ </TouchableOpacity>
119
130
  {(!order?.isLogistic || (!logisticOrderStatus?.includes(order?.status) && !order?.order_group)) && (
120
131
  <Actions>
121
132
  {getOrderStatus(order?.status, t)?.value !==
122
133
  t('PENDING', 'Pending') && (
123
134
  <>
124
- <OIconButton
125
- icon={theme.images.general.copy}
126
- iconStyle={{
127
- width: 20,
128
- height: 25,
129
- top: 2,
130
- tintColor: theme.colors.backArrow,
131
- }}
132
- borderColor={theme.colors.clear}
133
- style={styles.icons}
134
- onClick={() => handleCopyClipboard?.()}
135
- />
136
- <OIconButton
137
- icon={theme.images.general.print}
138
- iconStyle={{
139
- width: 25,
140
- height: 22,
141
- tintColor: theme.colors.backArrow,
142
- }}
143
- borderColor={theme.colors.clear}
144
- style={styles.icons}
145
- onClick={() => handleViewSummaryOrder?.()}
146
- />
135
+ <TouchableOpacity onPress={() => handleCopyClipboard?.()}>
136
+ <MaterialCommunityIcons
137
+ name='content-copy'
138
+ color={theme.colors.textGray}
139
+ size={20}
140
+ style={styles.icons}
141
+ />
142
+ </TouchableOpacity>
143
+ <TouchableOpacity onPress={() => handleViewSummaryOrder?.()}>
144
+ <SimpleLineIcons
145
+ name='printer'
146
+ color={theme.colors.textGray}
147
+ size={20}
148
+ style={styles.icons}
149
+ />
150
+ </TouchableOpacity>
147
151
  </>
148
152
  )}
149
153
  <OIconButton
@@ -151,7 +155,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
151
155
  iconStyle={{
152
156
  width: 20,
153
157
  height: 20,
154
- tintColor: theme.colors.backArrow,
158
+ tintColor: theme.colors.textGray,
155
159
  }}
156
160
  borderColor={theme.colors.clear}
157
161
  style={styles.icons}
@@ -163,7 +167,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
163
167
  iconStyle={{
164
168
  width: 20,
165
169
  height: 20,
166
- tintColor: theme.colors.backArrow,
170
+ tintColor: theme.colors.textGray,
167
171
  }}
168
172
  borderColor={theme.colors.clear}
169
173
  style={styles.icons}
@@ -193,29 +197,22 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
193
197
  {getOrderStatus(order?.status, t)?.value !==
194
198
  t('PENDING', 'Pending') && (
195
199
  <>
196
- <OIconButton
197
- icon={theme.images.general.copy}
198
- iconStyle={{
199
- width: 20,
200
- height: 25,
201
- top: 2,
202
- tintColor: theme.colors.backArrow,
203
- }}
204
- borderColor={theme.colors.clear}
205
- style={styles.icons}
206
- onClick={() => handleCopyClipboard?.()}
207
- />
208
- <OIconButton
209
- icon={theme.images.general.print}
210
- iconStyle={{
211
- width: 25,
212
- height: 22,
213
- tintColor: theme.colors.backArrow,
214
- }}
215
- borderColor={theme.colors.clear}
216
- style={styles.icons}
217
- onClick={() => handleViewSummaryOrder?.()}
218
- />
200
+ <TouchableOpacity onPress={() => handleCopyClipboard?.()}>
201
+ <MaterialCommunityIcons
202
+ name='content-copy'
203
+ color={theme.colors.textGray}
204
+ size={20}
205
+ style={styles.icons}
206
+ />
207
+ </TouchableOpacity>
208
+ <TouchableOpacity onPress={() => handleViewSummaryOrder?.()}>
209
+ <SimpleLineIcons
210
+ name='printer'
211
+ color={theme.colors.textGray}
212
+ size={20}
213
+ style={styles.icons}
214
+ />
215
+ </TouchableOpacity>
219
216
  </>
220
217
  )}
221
218
  <OIconButton
@@ -223,7 +220,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
223
220
  iconStyle={{
224
221
  width: 20,
225
222
  height: 20,
226
- tintColor: theme.colors.backArrow,
223
+ tintColor: theme.colors.textGray,
227
224
  }}
228
225
  borderColor={theme.colors.clear}
229
226
  style={styles.icons}
@@ -235,7 +232,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
235
232
  iconStyle={{
236
233
  width: 20,
237
234
  height: 20,
238
- tintColor: theme.colors.backArrow,
235
+ tintColor: theme.colors.textGray,
239
236
  }}
240
237
  borderColor={theme.colors.clear}
241
238
  style={styles.icons}
@@ -271,7 +268,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
271
268
  {order?.delivery_option && (
272
269
  <OText size={13}>
273
270
  <OText size={13} weight='bold'>{`${t('DELIVERY_PREFERENCE', 'Delivery Preference')}: `}</OText>
274
- {order?.delivery_option?.name}
271
+ {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
275
272
  </OText>
276
273
  )}
277
274
  {order?.payment_events?.length > 0 && (
@@ -286,8 +283,8 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
286
283
  ? `${walletName[event?.wallet_event?.wallet?.type]?.name} - `
287
284
  : walletName[event?.wallet_event?.wallet?.type]?.name
288
285
  : idx < order?.payment_events?.length - 1
289
- ? `${event?.paymethod?.name} - `
290
- : event?.paymethod?.name
286
+ ? `${t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)} - `
287
+ : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)
291
288
  })}
292
289
  </OText>
293
290
  </View>