ordering-ui-react-native 0.19.7-testing → 0.19.8-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 (219) hide show
  1. package/package.json +6 -5
  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/VerifyPhone/styles.tsx +1 -2
  6. package/src/components/shared/OToast.tsx +3 -2
  7. package/src/utils/index.tsx +2 -2
  8. package/themes/business/index.tsx +2 -0
  9. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -2
  10. package/themes/business/src/components/BusinessController/index.tsx +19 -17
  11. package/themes/business/src/components/BusinessProductList/AccordionDropdown.tsx +63 -0
  12. package/themes/business/src/components/BusinessProductList/IterateCategories.tsx +108 -0
  13. package/themes/business/src/components/BusinessProductList/ProductList.tsx +196 -0
  14. package/themes/business/src/components/BusinessProductList/index.tsx +196 -0
  15. package/themes/business/src/components/BusinessProductList/styles.tsx +10 -0
  16. package/themes/business/src/components/Chat/index.tsx +41 -13
  17. package/themes/business/src/components/DriverMap/index.tsx +4 -2
  18. package/themes/business/src/components/DriverSchedule/index.tsx +5 -5
  19. package/themes/business/src/components/FloatingButton/index.tsx +34 -31
  20. package/themes/business/src/components/MapView/index.tsx +11 -7
  21. package/themes/business/src/components/MessagesOption/index.tsx +22 -94
  22. package/themes/business/src/components/NewOrderNotification/index.tsx +138 -106
  23. package/themes/business/src/components/OrderDetails/Delivery.tsx +19 -10
  24. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +88 -51
  25. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +26 -6
  26. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +6 -1
  27. package/themes/business/src/components/OrderSummary/index.tsx +27 -13
  28. package/themes/business/src/components/OrdersListManager/index.tsx +7 -2
  29. package/themes/business/src/components/OrdersListManager/utils.tsx +1 -1
  30. package/themes/business/src/components/OrdersOption/index.tsx +83 -37
  31. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
  32. package/themes/business/src/components/PreviousMessages/index.tsx +97 -55
  33. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +24 -31
  34. package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -0
  35. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
  36. package/themes/business/src/components/PreviousOrders/index.tsx +192 -220
  37. package/themes/business/src/components/PreviousOrders/styles.tsx +10 -0
  38. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  39. package/themes/business/src/components/SearchBar/index.tsx +2 -1
  40. package/themes/business/src/components/StoresList/index.tsx +5 -3
  41. package/themes/business/src/components/UserProfileForm/index.tsx +26 -10
  42. package/themes/business/src/components/WebsocketStatus/index.tsx +171 -0
  43. package/themes/business/src/components/WebsocketStatus/styles.tsx +28 -0
  44. package/themes/business/src/types/index.tsx +10 -0
  45. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  46. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  47. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  48. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  49. package/themes/kiosk/src/components/LoginForm/index.tsx +124 -96
  50. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  51. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  52. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  53. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  54. package/themes/original/index.tsx +7 -3
  55. package/themes/original/src/components/AddressForm/index.tsx +2 -2
  56. package/themes/original/src/components/AddressForm/styles.tsx +1 -1
  57. package/themes/original/src/components/AddressList/index.tsx +4 -7
  58. package/themes/original/src/components/AddressList/styles.tsx +4 -4
  59. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  60. package/themes/original/src/components/BusinessBasicInformation/index.tsx +3 -3
  61. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +1 -1
  62. package/themes/original/src/components/BusinessController/index.tsx +9 -6
  63. package/themes/original/src/components/BusinessController/styles.tsx +8 -7
  64. package/themes/original/src/components/BusinessInformation/index.tsx +35 -3
  65. package/themes/original/src/components/BusinessInformation/styles.tsx +2 -2
  66. package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -7
  67. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +317 -0
  68. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +96 -0
  69. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +1 -1
  70. package/themes/original/src/components/BusinessListingSearch/index.tsx +56 -361
  71. package/themes/original/src/components/BusinessListingSearch/styles.tsx +1 -1
  72. package/themes/original/src/components/BusinessPreorder/index.tsx +3 -4
  73. package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -1
  74. package/themes/original/src/components/BusinessProductsList/index.tsx +2 -2
  75. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  76. package/themes/original/src/components/BusinessProductsListing/index.tsx +43 -19
  77. package/themes/original/src/components/BusinessProductsListing/styles.tsx +3 -4
  78. package/themes/original/src/components/BusinessReviews/index.tsx +1 -1
  79. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  80. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -5
  81. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
  82. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
  83. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
  84. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +29 -402
  85. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  86. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  87. package/themes/original/src/components/Cart/index.tsx +27 -8
  88. package/themes/original/src/components/CartContent/index.tsx +61 -39
  89. package/themes/original/src/components/CartStoresListing/styles.tsx +2 -2
  90. package/themes/original/src/components/Checkout/index.tsx +199 -55
  91. package/themes/original/src/components/Checkout/styles.tsx +17 -0
  92. package/themes/original/src/components/CitiesControl/styles.tsx +1 -1
  93. package/themes/original/src/components/DatePicker/index.tsx +17 -0
  94. package/themes/original/src/components/DatePicker/styles.tsx +20 -0
  95. package/themes/original/src/components/Favorite/index.tsx +4 -9
  96. package/themes/original/src/components/Favorite/styles.tsx +0 -2
  97. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  98. package/themes/original/src/components/GPSButton/index.tsx +1 -1
  99. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +8 -3
  100. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +36 -3
  101. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +1 -1
  102. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +67 -4
  103. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +1 -1
  104. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +2 -2
  105. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +1 -1
  106. package/themes/original/src/components/GoogleMap/index.tsx +50 -5
  107. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +2 -2
  108. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +1 -1
  109. package/themes/original/src/components/Home/index.tsx +1 -1
  110. package/themes/original/src/components/LastOrder/index.tsx +2 -1
  111. package/themes/original/src/components/LastOrders/index.tsx +2 -1
  112. package/themes/original/src/components/LoginForm/Otp/index.tsx +53 -47
  113. package/themes/original/src/components/LoginForm/index.tsx +6 -1
  114. package/themes/original/src/components/Messages/index.tsx +9 -4
  115. package/themes/original/src/components/Messages/styles.tsx +1 -1
  116. package/themes/original/src/components/MomentOption/index.tsx +4 -4
  117. package/themes/original/src/components/MomentSelector/index.tsx +1 -1
  118. package/themes/original/src/components/MultiCart/index.tsx +1 -1
  119. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +13 -4
  120. package/themes/original/src/components/MultiCheckout/index.tsx +226 -52
  121. package/themes/original/src/components/MultiCheckout/styles.tsx +17 -0
  122. package/themes/original/src/components/MultiOrdersDetails/index.tsx +19 -14
  123. package/themes/original/src/components/MyOrders/index.tsx +5 -5
  124. package/themes/original/src/components/NavBar/index.tsx +3 -1
  125. package/themes/original/src/components/NetworkError/index.tsx +2 -3
  126. package/themes/original/src/components/NetworkError/styles.tsx +2 -2
  127. package/themes/original/src/components/Notifications/index.tsx +4 -8
  128. package/themes/original/src/components/Notifications/styles.tsx +0 -1
  129. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +7 -3
  130. package/themes/original/src/components/OrderDetails/index.tsx +716 -667
  131. package/themes/original/src/components/OrderDetails/styles.tsx +24 -8
  132. package/themes/original/src/components/OrderProgress/index.tsx +7 -7
  133. package/themes/original/src/components/OrderProgress/styles.tsx +1 -1
  134. package/themes/original/src/components/OrderSummary/index.tsx +5 -3
  135. package/themes/original/src/components/OrderTypeSelector/index.tsx +5 -6
  136. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +1 -1
  137. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +1 -1
  138. package/themes/original/src/components/OrdersOption/index.tsx +4 -3
  139. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  140. package/themes/original/src/components/PageBanner/index.tsx +3 -0
  141. package/themes/original/src/components/PaymentOptionCard/index.tsx +4 -2
  142. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +3 -0
  143. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  144. package/themes/original/src/components/PaymentOptions/index.tsx +75 -33
  145. package/themes/original/src/components/PhoneInputNumber/index.tsx +15 -1
  146. package/themes/original/src/components/ProductForm/ActionButton.tsx +120 -0
  147. package/themes/original/src/components/ProductForm/ExtraOptions.tsx +56 -0
  148. package/themes/original/src/components/ProductForm/index.tsx +81 -167
  149. package/themes/original/src/components/ProductForm/styles.tsx +1 -1
  150. package/themes/original/src/components/ProductItemAccordion/index.tsx +5 -0
  151. package/themes/original/src/components/ProductOptionSubOption/index.tsx +120 -79
  152. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +10 -9
  153. package/themes/original/src/components/ProfessionalProfile/styles.tsx +3 -3
  154. package/themes/original/src/components/Promotions/index.tsx +4 -4
  155. package/themes/original/src/components/Promotions/styles.tsx +0 -2
  156. package/themes/original/src/components/ReviewDriver/styles.tsx +1 -1
  157. package/themes/original/src/components/ReviewOrder/styles.tsx +1 -1
  158. package/themes/original/src/components/ReviewProducts/styles.tsx +1 -1
  159. package/themes/original/src/components/ServiceForm/index.tsx +2 -2
  160. package/themes/original/src/components/ServiceForm/styles.tsx +4 -4
  161. package/themes/original/src/components/SingleOrderCard/index.tsx +4 -3
  162. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  163. package/themes/original/src/components/StripeCardsList/index.tsx +23 -8
  164. package/themes/original/src/components/StripeElementsForm/index.tsx +5 -3
  165. package/themes/original/src/components/StripeElementsForm/naked.tsx +12 -1
  166. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +170 -0
  167. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +86 -0
  168. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -199
  169. package/themes/original/src/components/UpsellingProducts/styles.tsx +19 -0
  170. package/themes/original/src/components/UserFormDetails/index.tsx +53 -7
  171. package/themes/original/src/components/UserProfile/index.tsx +1 -1
  172. package/themes/original/src/components/UserProfileForm/index.tsx +30 -36
  173. package/themes/original/src/components/UserVerification/index.tsx +55 -50
  174. package/themes/original/src/components/WalletTransactions/styles.tsx +1 -0
  175. package/themes/original/src/components/Wallets/index.tsx +8 -9
  176. package/themes/original/src/components/Wallets/styles.tsx +1 -1
  177. package/themes/original/src/components/shared/HeaderTitle.tsx +1 -1
  178. package/themes/original/src/components/shared/OInput.tsx +1 -4
  179. package/themes/original/src/components/shared/OModal.tsx +12 -14
  180. package/themes/original/src/layouts/Container.tsx +5 -3
  181. package/themes/original/src/types/index.tsx +10 -2
  182. package/themes/original/src/utils/index.tsx +124 -0
  183. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  184. package/src/navigators/BottomNavigator.tsx +0 -117
  185. package/src/navigators/CheckoutNavigator.tsx +0 -66
  186. package/src/navigators/HomeNavigator.tsx +0 -202
  187. package/src/navigators/NavigationRef.tsx +0 -7
  188. package/src/navigators/RootNavigator.tsx +0 -269
  189. package/src/pages/Account.tsx +0 -34
  190. package/src/pages/AddressForm.tsx +0 -62
  191. package/src/pages/AddressList.tsx +0 -24
  192. package/src/pages/BusinessProductsList.tsx +0 -81
  193. package/src/pages/BusinessesListing.tsx +0 -43
  194. package/src/pages/CartList.tsx +0 -49
  195. package/src/pages/Checkout.tsx +0 -101
  196. package/src/pages/ForgotPassword.tsx +0 -24
  197. package/src/pages/Help.tsx +0 -23
  198. package/src/pages/HelpAccountAndPayment.tsx +0 -23
  199. package/src/pages/HelpGuide.tsx +0 -23
  200. package/src/pages/HelpOrder.tsx +0 -23
  201. package/src/pages/Home.tsx +0 -36
  202. package/src/pages/IntroductoryTutorial.tsx +0 -170
  203. package/src/pages/Login.tsx +0 -47
  204. package/src/pages/MomentOption.tsx +0 -30
  205. package/src/pages/MultiCheckout.tsx +0 -31
  206. package/src/pages/MultiOrdersDetails.tsx +0 -27
  207. package/src/pages/MyOrders.tsx +0 -40
  208. package/src/pages/NetworkError.tsx +0 -24
  209. package/src/pages/NotFound.tsx +0 -22
  210. package/src/pages/OrderDetails.tsx +0 -25
  211. package/src/pages/ProductDetails.tsx +0 -55
  212. package/src/pages/Profile.tsx +0 -36
  213. package/src/pages/ReviewDriver.tsx +0 -30
  214. package/src/pages/ReviewOrder.tsx +0 -32
  215. package/src/pages/ReviewProducts.tsx +0 -30
  216. package/src/pages/Sessions.tsx +0 -22
  217. package/src/pages/Signup.tsx +0 -53
  218. package/src/pages/SpinnerLoader.tsx +0 -10
  219. package/src/pages/Splash.tsx +0 -21
@@ -1,6 +1,7 @@
1
1
  import React, { useState, useCallback } from 'react'
2
2
 
3
3
  import { Platform, StyleSheet, View, TouchableOpacity, ScrollView } from 'react-native';
4
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
4
5
 
5
6
  import { OButton, OText, OLink, OModal } from '../shared'
6
7
  import {
@@ -53,9 +54,16 @@ export const OrderContentComponent = (props: OrderContent) => {
53
54
  const WIDTH_SCREEN = orientationState?.dimensions?.width
54
55
 
55
56
  const [openReviewModal, setOpenReviewModal] = useState(false)
57
+ const [showCustomFields, setShowCustomFields] = useState<boolean>(false);
56
58
 
57
- const [isReadMore, setIsReadMore] = useState(false)
58
- const [lengthMore, setLengthMore] = useState(false)
59
+ const [isReadMore, setIsReadMore] = useState({
60
+ customerAddress: false,
61
+ businessAddressNotes: false
62
+ })
63
+ const [lengthMore, setLengthMore] = useState({
64
+ customerAddress: false,
65
+ businessAddressNotes: false
66
+ })
59
67
 
60
68
  const pastOrderStatuses = [1, 2, 5, 6, 10, 11, 12, 16, 17]
61
69
 
@@ -105,11 +113,19 @@ export const OrderContentComponent = (props: OrderContent) => {
105
113
  }
106
114
 
107
115
  const containsOnlyNumbers = (str: string) => {
116
+ str = str?.replace('+', '');
108
117
  return /^\d+$/.test(str);
109
118
  }
110
119
 
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
120
+ const onTextLayout = useCallback((e: any, item: string) => {
121
+ if (item === 'customerAddress') {
122
+ const customerAddressMore = (e.nativeEvent.lines.length == 2 && e.nativeEvent.lines[1].width > WIDTH_SCREEN * .76) || e.nativeEvent.lines.length > 2
123
+ setLengthMore(prev => ({ ...prev, customerAddress: customerAddressMore }))
124
+ }
125
+ if (item === 'businessAddressNotes') {
126
+ const businessAddressNotesMore = (e.nativeEvent.lines.length == 3 && e.nativeEvent.lines[2].width > WIDTH_SCREEN * .76) || e.nativeEvent.lines.length > 3
127
+ setLengthMore(prev => ({ ...prev, businessAddressNotes: businessAddressNotesMore }))
128
+ }
113
129
  }, []);
114
130
 
115
131
  return (
@@ -120,27 +136,36 @@ export const OrderContentComponent = (props: OrderContent) => {
120
136
 
121
137
  {order?.metafields?.length > 0 && (
122
138
  <OrderBusiness>
123
- <OText style={{ marginBottom: 5 }} size={16} weight="600">
124
- {t('CUSTOM_FIELDS', 'Custom fields')}
125
- </OText>
126
-
127
- {order.metafields.map((field: any) => (
128
- <View
129
- key={field.id}
130
- style={{
131
- width: '100%',
132
- flexDirection: 'row',
133
- marginBottom: 5
134
- }}
135
- >
136
- <OText style={{ width: '50%' }}>
137
- {field.key}
138
- </OText>
139
- <OText style={{ width: '45%', textAlign: 'right' }}>
140
- {field.value}
141
- </OText>
142
- </View>
143
- ))}
139
+ <TouchableOpacity onPress={() => setShowCustomFields((prev: boolean) => !prev)} style={{ flexDirection: 'row', width: '100%', justifyContent: 'space-between', alignItems: 'flex-start' }}>
140
+ <OText style={{ marginBottom: 5 }} size={16} weight="600">
141
+ {t('CUSTOM_FIELDS', 'Custom fields')}
142
+ </OText>
143
+ <AntDesignIcon
144
+ name={showCustomFields ? 'up' : 'down'}
145
+ size={14}
146
+ />
147
+ </TouchableOpacity>
148
+ {showCustomFields && (
149
+ <>
150
+ {order.metafields.map((field: any) => (
151
+ <View
152
+ key={field.id}
153
+ style={{
154
+ width: '100%',
155
+ flexDirection: 'row',
156
+ marginBottom: 5
157
+ }}
158
+ >
159
+ <OText style={{ width: '50%' }}>
160
+ {field.key}
161
+ </OText>
162
+ <OText style={{ width: '45%', textAlign: 'right' }}>
163
+ {field.value}
164
+ </OText>
165
+ </View>
166
+ ))}
167
+ </>
168
+ )}
144
169
  </OrderBusiness>
145
170
  )}
146
171
 
@@ -170,7 +195,7 @@ export const OrderContentComponent = (props: OrderContent) => {
170
195
  <OLink
171
196
  PressStyle={styles.linkWithIcons}
172
197
  url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.cellphone : 'invalid'}`}
173
- shorcut={`${order?.business?.cellphone}`}
198
+ shorcut={`${(!!order?.business?.country_phone_code && !order?.business?.cellphone?.includes('+')) ? '+' + order?.business?.country_phone_code : ''}${order?.business?.cellphone}`}
174
199
  TextStyle={styles.textLink}
175
200
  />
176
201
  </View>
@@ -180,8 +205,8 @@ export const OrderContentComponent = (props: OrderContent) => {
180
205
  <View style={styles.linkWithIcons}>
181
206
  <OLink
182
207
  PressStyle={styles.linkWithIcons}
183
- url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.phone : 'invalid'}`}
184
- shorcut={order?.business?.phone}
208
+ url={`tel:${containsOnlyNumbers(order?.business?.phone) ? order?.business?.phone : 'invalid'}`}
209
+ shorcut={`${(!!order?.business?.country_phone_code && !order?.business?.phone?.includes('+')) ? '+' + order?.business?.country_phone_code : ''}${order?.business?.phone}`}
185
210
  TextStyle={styles.textLink}
186
211
  />
187
212
  </View>
@@ -209,17 +234,28 @@ export const OrderContentComponent = (props: OrderContent) => {
209
234
  </OText>
210
235
  )}
211
236
  {!!order?.business?.address_notes && (
212
- <View style={styles.linkWithIcons}>
213
- <OLink
214
- PressStyle={styles.linkWithIcons}
215
- url={Platform.select({
216
- ios: `maps:0,0?q=${order?.business?.address_notes}`,
217
- android: `geo:0,0?q=${order?.business?.address_notes}`,
218
- })}
219
- shorcut={order?.business?.address_notes}
220
- TextStyle={styles.textLink}
221
- />
222
- </View>
237
+ <>
238
+ <View style={styles.linkWithIcons}>
239
+ <OLink
240
+ PressStyle={styles.linkWithIcons}
241
+ url={Platform.select({
242
+ ios: `maps:0,0?q=${order?.business?.address_notes}`,
243
+ android: `geo:0,0?q=${order?.business?.address_notes}`,
244
+ })}
245
+ shorcut={order?.business?.address_notes}
246
+ TextStyle={styles.textLink}
247
+ onTextLayout={e => onTextLayout(e, 'businessAddressNotes')}
248
+ numberOfLines={isReadMore.businessAddressNotes ? 20 : 3}
249
+ />
250
+ </View>
251
+ {lengthMore.businessAddressNotes && (
252
+ <TouchableOpacity
253
+ onPress={() => setIsReadMore({ ...isReadMore, businessAddressNotes: !isReadMore.businessAddressNotes })}
254
+ >
255
+ <OText size={12} color={theme.colors.statusOrderBlue}>{isReadMore.businessAddressNotes ? t('SHOW_LESS', 'Show less') : t('READ_MORE', 'Read more')}</OText>
256
+ </TouchableOpacity>
257
+ )}
258
+ </>
223
259
  )}
224
260
  </OrderBusiness>
225
261
 
@@ -301,7 +337,7 @@ export const OrderContentComponent = (props: OrderContent) => {
301
337
  <OLink
302
338
  PressStyle={styles.linkWithIcons}
303
339
  url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.cellphone) ? order?.customer?.cellphone : 'invalid'}`}
304
- shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
340
+ shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''}${order?.customer?.cellphone}`}
305
341
  TextStyle={styles.textLink}
306
342
  />
307
343
  </View>
@@ -311,8 +347,8 @@ export const OrderContentComponent = (props: OrderContent) => {
311
347
  <View style={styles.linkWithIcons}>
312
348
  <OLink
313
349
  PressStyle={styles.linkWithIcons}
314
- url={`tel:${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
315
- shorcut={order?.customer?.phone}
350
+ url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
351
+ shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''}${order?.customer?.phone}`}
316
352
  TextStyle={styles.textLink}
317
353
  />
318
354
  </View>
@@ -327,15 +363,17 @@ export const OrderContentComponent = (props: OrderContent) => {
327
363
  ios: `maps:0,0?q=${order?.customer?.address}`,
328
364
  android: `geo:0,0?q=${order?.customer?.address}`,
329
365
  })}
330
- onTextLayout={onTextLayout}
331
- numberOfLines={isReadMore ? 20 : 2}
366
+ onTextLayout={e => onTextLayout(e, 'customerAddress')}
367
+ numberOfLines={isReadMore.customerAddress ? 20 : 2}
332
368
  shorcut={order?.customer?.address}
333
369
  TextStyle={styles.textLink}
334
370
  />
335
371
  </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>
372
+ {lengthMore.customerAddress && (
373
+ <TouchableOpacity
374
+ onPress={() => setIsReadMore({ ...isReadMore, customerAddress: !isReadMore.customerAddress })}
375
+ >
376
+ <OText size={12} color={theme.colors.statusOrderBlue}>{isReadMore.customerAddress ? t('SHOW_LESS', 'Show less') : t('READ_MORE', 'Read more')}</OText>
339
377
  </TouchableOpacity>
340
378
  )}
341
379
  </>
@@ -550,15 +588,14 @@ export const OrderContentComponent = (props: OrderContent) => {
550
588
  </Table>
551
589
  ))
552
590
  }
553
- {order?.summary?.driver_tip > 0 && (
591
+ {(order?.summary?.driver_tip > 0 || order?.driver_tip > 0) && (
554
592
  <Table>
555
593
  <OText mBottom={4}>
556
594
  {t('DRIVER_TIP', 'Driver tip')}
557
- {order?.summary?.driver_tip > 0 &&
558
- parseInt(configs?.driver_tip_type?.value, 10) === 2 &&
595
+ {order?.driver_tip > 0 && parseInt(configs?.driver_tip_type?.value, 10) === 2 &&
559
596
  !parseInt(configs?.driver_tip_use_custom?.value, 10) &&
560
597
  (
561
- `(${verifyDecimals(order?.summary?.driver_tip, parseNumber)}%)`
598
+ `(${verifyDecimals(order?.driver_tip, parseNumber)}%)`
562
599
  )}
563
600
  </OText>
564
601
  <OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency })}</OText>
@@ -263,6 +263,12 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
263
263
  )}
264
264
  </>
265
265
  </OText>
266
+ {order?.external_id && (
267
+ <OText size={13}>
268
+ <OText size={13} weight='bold'>{`${t('EXTERNAL_ID', 'External ID :')} `}</OText>
269
+ {order?.external_id}
270
+ </OText>
271
+ )}
266
272
  {!order?.isLogistic && !!order?.delivery_type && (!order?.order_group_id || !logisticOrderStatus?.includes(order?.status)) && (
267
273
  <>
268
274
  <OText size={13}>
@@ -275,12 +281,12 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
275
281
  {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
276
282
  </OText>
277
283
  )}
278
- {order?.payment_events?.length > 0 && (
279
- <View>
284
+ <OText>
285
+ <OText size={13} weight='bold'>
286
+ {`${t('PAYMENT_METHODS', 'Payment methods')}: `}
287
+ </OText>
288
+ {order?.payment_events?.length > 0 ? (
280
289
  <OText size={13}>
281
- <OText size={13} weight='bold'>
282
- {`${t('PAYMENT_METHODS', 'Payment methods')}: `}
283
- </OText>
284
290
  {order?.payment_events?.map((event: any, idx: number) => {
285
291
  return event?.wallet_event
286
292
  ? idx < order?.payment_events?.length - 1
@@ -291,7 +297,21 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
291
297
  : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)
292
298
  })}
293
299
  </OText>
294
- </View>
300
+ ) : (
301
+ <OText size={13}>{t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)}</OText>
302
+ )}
303
+ </OText>
304
+ {order?.spot_number && (
305
+ <OText size={13}>
306
+ <OText size={13} weight='bold'>
307
+ {`${order?.delivery_type === 3
308
+ ? t('EATIN_SPOT_NUMBER', 'Table number')
309
+ : order?.delivery_type === 5
310
+ ? t('DRIVE_THRU_SPOT_NUMBER', 'Drive thru lane')
311
+ : t('CURBSIDE_SPOT_NUMBER', 'Spot number')}: `}
312
+ </OText>
313
+ {order.spot_number}
314
+ </OText>
295
315
  )}
296
316
  </>
297
317
  )}
@@ -10,6 +10,7 @@ import {
10
10
  useLanguage,
11
11
  OrderDetails as OrderDetailsConTableoller,
12
12
  useSession,
13
+ useConfig
13
14
  } from 'ordering-components/native';
14
15
 
15
16
  //Components
@@ -34,6 +35,8 @@ export const OrderDetailsLogisticUI = (props: OrderDetailsLogisticParams) => {
34
35
  const theme = useTheme();
35
36
  const [, t] = useLanguage();
36
37
  const [session] = useSession();
38
+ const [{ configs }] = useConfig();
39
+
37
40
  const [alertState, setAlertState] = useState<{
38
41
  open: boolean;
39
42
  content: Array<string>;
@@ -41,6 +44,7 @@ export const OrderDetailsLogisticUI = (props: OrderDetailsLogisticParams) => {
41
44
  }>({ open: false, content: [], key: null });
42
45
 
43
46
  const logisticOrderStatus = [4, 6, 7]
47
+ const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1'
44
48
 
45
49
  const showFloatButtonsAcceptOrReject: any = {
46
50
  0: true,
@@ -166,7 +170,8 @@ export const OrderDetailsLogisticUI = (props: OrderDetailsLogisticParams) => {
166
170
  secondButton={true}
167
171
  firstColorCustom={theme.colors.red}
168
172
  secondColorCustom={theme.colors.green}
169
- widthButton={'45%'}
173
+ widthButton={isHideRejectButtons ? '100%': '45%'}
174
+ isHideRejectButtons={isHideRejectButtons}
170
175
  />
171
176
  )}
172
177
  </>
@@ -33,6 +33,7 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
33
33
  const [state, setState] = useState({
34
34
  selectedPrinter: { url: undefined },
35
35
  });
36
+ const paymethodsLength = order?.payment_events?.filter((item: any) => item.event === 'payment')?.length
36
37
 
37
38
  const getFormattedSubOptionName = ({ quantity, name, position, price }: any) => {
38
39
  if (name !== 'No') {
@@ -80,6 +81,27 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
80
81
  !parseInt(configs?.driver_tip_use_custom?.value, 10) &&
81
82
  verifyDecimals(order?.summary?.driver_tip, parseNumber);
82
83
 
84
+ const customerName = `${order?.customer?.name ?? ''} ${order?.customer?.middle_name ?? ''} ${order?.customer?.lastname ?? ''} ${order?.customer?.second_lastname ?? ''
85
+ }`?.replace(' ', ' ')?.trim() ?? ''
86
+
87
+ const walletName: any = {
88
+ cash: {
89
+ name: t('CASH_WALLET', 'Cash Wallet')
90
+ },
91
+ credit_point: {
92
+ name: t('POINTS_WALLET', 'Points Wallet')
93
+ }
94
+ }
95
+
96
+ const handlePaymethodsListString = () => {
97
+ const paymethodsList = order?.payment_events?.filter((item: any) => item.event === 'payment').map((paymethod: any) => {
98
+ return paymethod?.wallet_event
99
+ ? walletName[paymethod?.wallet_event?.wallet?.type]?.name
100
+ : t(paymethod?.paymethod?.gateway?.toUpperCase(), paymethod?.paymethod?.name)
101
+ })
102
+ return paymethodsList.join(', ')
103
+ }
104
+
83
105
  const orderSummary = () => {
84
106
  return `
85
107
  <div>
@@ -96,13 +118,11 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
96
118
  : parseDate(order?.delivery_datetime, { utc: false })
97
119
  }
98
120
  </br>
99
- ${t('PAYMENT_METHOD')}: ${order?.paymethod?.name}
121
+ ${paymethodsLength > 1 ? 'PAYMENT_METHODS' : 'PAYMENT_METHOD'}: ${handlePaymethodsListString()}
100
122
  </p>
101
123
 
102
124
  <h1>${t('CUSTOMER_DETAILS', 'Customer details')}</h1>
103
- <p style="font-size: 27px"> ${t('FULL_NAME', 'Full Name')}: ${order?.customer?.name
104
- } ${order?.customer?.middle_name} ${order?.customer?.lastname} ${order?.customer?.second_lastname
105
- }
125
+ <p style="font-size: 27px"> ${t('FULL_NAME', 'Full Name')}: ${customerName}
106
126
  </br>
107
127
  ${t('EMAIL', 'Email')}: ${order?.customer?.email}
108
128
  </br>
@@ -113,8 +133,8 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
113
133
  } </br>`
114
134
  : ''
115
135
  }
116
- ${t('FULL_ADDRESS', 'Full Addres')}: ${order?.customer?.address}
117
- </br>
136
+ ${t('FULL_ADDRESS', 'Full Addres')}: ${order?.customer?.address}
137
+ </br>
118
138
  ${!!order?.customer?.internal_number
119
139
  ? `${t('INTERNAL_NUMBER', 'Internal Number')}: ${order?.customer?.internal_number
120
140
  } </br>`
@@ -339,9 +359,6 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
339
359
  }
340
360
  };
341
361
 
342
- const customerName = `${order?.customer?.name ?? ''} ${order?.customer?.middle_name ?? ''} ${order?.customer?.lastname ?? ''} ${order?.customer?.second_lastname ?? ''
343
- }`?.replace(' ', ' ')?.trim() ?? ''
344
-
345
362
  return (
346
363
  <>
347
364
  <Content>
@@ -381,10 +398,7 @@ export const OrderSummary = ({ order, navigation, orderStatus, askBluetoothPermi
381
398
  }`}
382
399
  </OText>
383
400
 
384
- <OText style={{ marginBottom: 5 }}>{`${t('PAYMENT_METHOD')}: ${t(
385
- order?.paymethod?.name.toUpperCase(),
386
- order?.paymethod?.name,
387
- )}`}</OText>
401
+ <OText style={{ marginBottom: 5 }}>{`${t(`${paymethodsLength > 1 ? 'PAYMENT_METHODS' : 'PAYMENT_METHOD'}`, `${paymethodsLength > 1 ? 'Payment methods' : 'Payment method'}`)}: ${handlePaymethodsListString()}`}</OText>
388
402
  </OrderHeader>
389
403
 
390
404
  <OrderCustomer>
@@ -40,6 +40,7 @@ import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
40
40
  import { OrdersOptionDriver } from '../OrdersOptionDriver';
41
41
  import { OrdersOptionDate } from '../OrdersOptionDate';
42
42
  import { OrderDetailsBusiness } from '../OrderDetails/Business';
43
+ import { WebsocketStatus } from '../WebsocketStatus'
43
44
 
44
45
  const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
45
46
 
@@ -314,7 +315,11 @@ const OrdersListManagerUI = (props: OrdersOptionParams) => {
314
315
  </View>
315
316
  {configState?.configs?.order_deadlines_enabled?.value === '1' && (
316
317
  <View style={styles.SLAwrapper}>
317
- <View style={{ flex: 0.5 }}>
318
+ <View style={{ flex: 1 }}>
319
+ <WebsocketStatus />
320
+ </View>
321
+ <View style={{ width: 10, height: '100%' }} />
322
+ <View style={{ flex: 1 }}>
318
323
  <OButton
319
324
  text={t('SLA_SETTING', 'SLA’s Settings')}
320
325
  textStyle={{ color: theme.colors.backArrow }}
@@ -330,7 +335,7 @@ const OrdersListManagerUI = (props: OrdersOptionParams) => {
330
335
  />
331
336
  </View>
332
337
  <View style={{ width: 10, height: '100%' }} />
333
- <View style={{ flex: 0.5, justifyContent: 'center' }}>
338
+ <View style={{ flex: 1, justifyContent: 'center' }}>
334
339
  <SelectDropdown
335
340
  defaultButtonText={t('SLA', 'SLA\'s')}
336
341
  data={preorderTypeList}
@@ -209,7 +209,7 @@ export const Timer = () => {
209
209
  return (
210
210
  <TimerInputWrapper>
211
211
  <OText style={styles.settingTime} color={theme.colors.disabled}>{configs?.order_deadlines_delayed_time?.value}</OText>
212
- <OText>{t('MIN', 'min')}</OText>
212
+ <OText>{t('TIME_MIN', 'min')}</OText>
213
213
  </TimerInputWrapper>
214
214
  )
215
215
  }