ordering-ui-react-native 0.17.90 → 0.17.91-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 (215) 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 +37 -27
  15. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  16. package/themes/business/src/components/Chat/index.tsx +163 -123
  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/FloatingButton/index.tsx +34 -31
  20. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  21. package/themes/business/src/components/LoginForm/Otp/index.tsx +31 -3
  22. package/themes/business/src/components/LoginForm/index.tsx +15 -22
  23. package/themes/business/src/components/MapView/index.tsx +14 -10
  24. package/themes/business/src/components/MessagesOption/index.tsx +20 -93
  25. package/themes/business/src/components/NewOrderNotification/index.tsx +123 -96
  26. package/themes/business/src/components/NotFoundSource/index.tsx +2 -2
  27. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  28. package/themes/business/src/components/OrderDetails/Delivery.tsx +202 -12
  29. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +84 -37
  30. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +81 -66
  31. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +200 -0
  32. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  33. package/themes/business/src/components/OrderMessage/index.tsx +19 -18
  34. package/themes/business/src/components/OrderSummary/index.tsx +114 -123
  35. package/themes/business/src/components/OrdersOption/index.tsx +22 -22
  36. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
  37. package/themes/business/src/components/PreviousMessages/index.tsx +97 -55
  38. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +17 -12
  39. package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -0
  40. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
  41. package/themes/business/src/components/PreviousOrders/index.tsx +198 -221
  42. package/themes/business/src/components/ProductItemAccordion/index.tsx +7 -1
  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/OModal.tsx +16 -9
  47. package/themes/business/src/types/index.tsx +25 -10
  48. package/themes/business/src/utils/index.tsx +29 -2
  49. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  50. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  51. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  52. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  53. package/themes/kiosk/src/components/Intro/index.tsx +16 -1
  54. package/themes/kiosk/src/components/LoginForm/index.tsx +7 -9
  55. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  56. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  57. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  58. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +2 -2
  59. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  60. package/themes/original/index.tsx +1 -1
  61. package/themes/original/src/components/AddressDetails/index.tsx +19 -3
  62. package/themes/original/src/components/AddressForm/index.tsx +35 -17
  63. package/themes/original/src/components/AddressList/index.tsx +5 -8
  64. package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
  65. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  66. package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
  67. package/themes/original/src/components/BusinessBasicInformation/index.tsx +73 -37
  68. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +10 -12
  69. package/themes/original/src/components/BusinessController/index.tsx +35 -44
  70. package/themes/original/src/components/BusinessController/styles.tsx +12 -5
  71. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  72. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  73. package/themes/original/src/components/BusinessInformation/index.tsx +140 -85
  74. package/themes/original/src/components/BusinessItemAccordion/index.tsx +15 -20
  75. package/themes/original/src/components/BusinessListingSearch/index.tsx +347 -341
  76. package/themes/original/src/components/BusinessListingSearch/styles.tsx +0 -18
  77. package/themes/original/src/components/BusinessPreorder/index.tsx +103 -19
  78. package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -2
  79. package/themes/original/src/components/BusinessProductsList/index.tsx +15 -7
  80. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  81. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +1 -1
  82. package/themes/original/src/components/BusinessProductsListing/index.tsx +664 -556
  83. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -3
  84. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  85. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
  86. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
  87. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
  88. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +38 -405
  89. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  90. package/themes/original/src/components/Cart/index.tsx +57 -49
  91. package/themes/original/src/components/CartContent/index.tsx +102 -58
  92. package/themes/original/src/components/CartContent/styles.tsx +6 -6
  93. package/themes/original/src/components/Checkout/index.tsx +277 -33
  94. package/themes/original/src/components/CitiesControl/index.tsx +1 -1
  95. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  96. package/themes/original/src/components/DriverTips/index.tsx +14 -6
  97. package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
  98. package/themes/original/src/components/Favorite/index.tsx +1 -5
  99. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  100. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +8 -3
  101. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +42 -5
  102. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +2 -0
  103. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +86 -10
  104. package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
  105. package/themes/original/src/components/GoogleMap/index.tsx +63 -7
  106. package/themes/original/src/components/Home/index.tsx +13 -4
  107. package/themes/original/src/components/LastOrder/index.tsx +2 -1
  108. package/themes/original/src/components/LastOrders/index.tsx +2 -1
  109. package/themes/original/src/components/LoginForm/Otp/index.tsx +91 -25
  110. package/themes/original/src/components/LoginForm/index.tsx +64 -34
  111. package/themes/original/src/components/LottieAnimation/index.tsx +88 -63
  112. package/themes/original/src/components/MessageListing/index.tsx +9 -2
  113. package/themes/original/src/components/Messages/index.tsx +15 -4
  114. package/themes/original/src/components/MomentOption/index.tsx +193 -92
  115. package/themes/original/src/components/MomentSelector/index.tsx +1 -1
  116. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +162 -50
  117. package/themes/original/src/components/MultiCheckout/index.tsx +385 -46
  118. package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
  119. package/themes/original/src/components/MultiOrdersDetails/index.tsx +23 -19
  120. package/themes/original/src/components/MyOrders/index.tsx +15 -4
  121. package/themes/original/src/components/NavBar/index.tsx +20 -13
  122. package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
  123. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  124. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +21 -5
  125. package/themes/original/src/components/OrderDetails/index.tsx +50 -38
  126. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  127. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  128. package/themes/original/src/components/OrderProgress/index.tsx +34 -25
  129. package/themes/original/src/components/OrderSummary/index.tsx +83 -57
  130. package/themes/original/src/components/OrderTypeSelector/index.tsx +5 -6
  131. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +13 -13
  132. package/themes/original/src/components/OrdersOption/index.tsx +43 -20
  133. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  134. package/themes/original/src/components/PageBanner/index.tsx +65 -29
  135. package/themes/original/src/components/PageBanner/styles.tsx +0 -3
  136. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  137. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +3 -0
  138. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  139. package/themes/original/src/components/PaymentOptions/index.tsx +100 -34
  140. package/themes/original/src/components/PhoneInputNumber/index.tsx +18 -4
  141. package/themes/original/src/components/ProductForm/index.tsx +87 -31
  142. package/themes/original/src/components/ProductForm/styles.tsx +3 -3
  143. package/themes/original/src/components/ProductItemAccordion/index.tsx +8 -6
  144. package/themes/original/src/components/ProductOptionSubOption/index.tsx +49 -20
  145. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +10 -9
  146. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  147. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  148. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  149. package/themes/original/src/components/Promotions/index.tsx +2 -2
  150. package/themes/original/src/components/Promotions/styles.tsx +3 -1
  151. package/themes/original/src/components/ReviewProducts/index.tsx +16 -7
  152. package/themes/original/src/components/ScheduleAccordion/index.tsx +3 -3
  153. package/themes/original/src/components/ServiceForm/index.tsx +63 -20
  154. package/themes/original/src/components/SignupForm/index.tsx +43 -27
  155. package/themes/original/src/components/SingleOrderCard/index.tsx +42 -19
  156. package/themes/original/src/components/SingleOrderCard/styles.tsx +1 -1
  157. package/themes/original/src/components/SingleProductCard/index.tsx +14 -11
  158. package/themes/original/src/components/SingleProductCard/styles.tsx +8 -3
  159. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  160. package/themes/original/src/components/StripeCardsList/index.tsx +61 -5
  161. package/themes/original/src/components/StripeElementsForm/index.tsx +48 -34
  162. package/themes/original/src/components/StripeElementsForm/naked.tsx +12 -1
  163. package/themes/original/src/components/UpsellingProducts/index.tsx +5 -10
  164. package/themes/original/src/components/UserDetails/index.tsx +3 -1
  165. package/themes/original/src/components/UserFormDetails/index.tsx +78 -9
  166. package/themes/original/src/components/UserFormDetails/styles.tsx +1 -1
  167. package/themes/original/src/components/UserProfile/index.tsx +8 -26
  168. package/themes/original/src/components/UserProfileForm/index.tsx +30 -31
  169. package/themes/original/src/components/UserVerification/index.tsx +55 -50
  170. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  171. package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
  172. package/themes/original/src/components/Wallets/index.tsx +52 -62
  173. package/themes/original/src/components/Wallets/styles.tsx +2 -4
  174. package/themes/original/src/components/shared/OButton.tsx +3 -3
  175. package/themes/original/src/components/shared/OInput.tsx +4 -5
  176. package/themes/original/src/components/shared/OModal.tsx +3 -3
  177. package/themes/original/src/types/index.tsx +37 -10
  178. package/themes/original/src/utils/index.tsx +185 -13
  179. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  180. package/src/navigators/BottomNavigator.tsx +0 -117
  181. package/src/navigators/CheckoutNavigator.tsx +0 -66
  182. package/src/navigators/HomeNavigator.tsx +0 -202
  183. package/src/navigators/NavigationRef.tsx +0 -7
  184. package/src/navigators/RootNavigator.tsx +0 -269
  185. package/src/pages/Account.tsx +0 -34
  186. package/src/pages/AddressForm.tsx +0 -62
  187. package/src/pages/AddressList.tsx +0 -24
  188. package/src/pages/BusinessProductsList.tsx +0 -81
  189. package/src/pages/BusinessesListing.tsx +0 -43
  190. package/src/pages/CartList.tsx +0 -49
  191. package/src/pages/Checkout.tsx +0 -101
  192. package/src/pages/ForgotPassword.tsx +0 -24
  193. package/src/pages/Help.tsx +0 -23
  194. package/src/pages/HelpAccountAndPayment.tsx +0 -23
  195. package/src/pages/HelpGuide.tsx +0 -23
  196. package/src/pages/HelpOrder.tsx +0 -23
  197. package/src/pages/Home.tsx +0 -36
  198. package/src/pages/IntroductoryTutorial.tsx +0 -170
  199. package/src/pages/Login.tsx +0 -47
  200. package/src/pages/MomentOption.tsx +0 -30
  201. package/src/pages/MultiCheckout.tsx +0 -31
  202. package/src/pages/MultiOrdersDetails.tsx +0 -27
  203. package/src/pages/MyOrders.tsx +0 -40
  204. package/src/pages/NetworkError.tsx +0 -24
  205. package/src/pages/NotFound.tsx +0 -22
  206. package/src/pages/OrderDetails.tsx +0 -25
  207. package/src/pages/ProductDetails.tsx +0 -55
  208. package/src/pages/Profile.tsx +0 -36
  209. package/src/pages/ReviewDriver.tsx +0 -30
  210. package/src/pages/ReviewOrder.tsx +0 -32
  211. package/src/pages/ReviewProducts.tsx +0 -30
  212. package/src/pages/Sessions.tsx +0 -22
  213. package/src/pages/Signup.tsx +0 -53
  214. package/src/pages/SpinnerLoader.tsx +0 -10
  215. package/src/pages/Splash.tsx +0 -21
@@ -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,32 @@ 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
+ {!!handleViewSummaryOrder && (
144
+ <TouchableOpacity onPress={() => handleViewSummaryOrder?.()}>
145
+ <SimpleLineIcons
146
+ name='printer'
147
+ color={theme.colors.textGray}
148
+ size={20}
149
+ style={styles.icons}
150
+ />
151
+ </TouchableOpacity>
152
+ )}
147
153
  </>
148
154
  )}
149
155
  <OIconButton
@@ -151,7 +157,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
151
157
  iconStyle={{
152
158
  width: 20,
153
159
  height: 20,
154
- tintColor: theme.colors.backArrow,
160
+ tintColor: theme.colors.textGray,
155
161
  }}
156
162
  borderColor={theme.colors.clear}
157
163
  style={styles.icons}
@@ -163,7 +169,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
163
169
  iconStyle={{
164
170
  width: 20,
165
171
  height: 20,
166
- tintColor: theme.colors.backArrow,
172
+ tintColor: theme.colors.textGray,
167
173
  }}
168
174
  borderColor={theme.colors.clear}
169
175
  style={styles.icons}
@@ -193,29 +199,24 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
193
199
  {getOrderStatus(order?.status, t)?.value !==
194
200
  t('PENDING', 'Pending') && (
195
201
  <>
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
- />
202
+ <TouchableOpacity onPress={() => handleCopyClipboard?.()}>
203
+ <MaterialCommunityIcons
204
+ name='content-copy'
205
+ color={theme.colors.textGray}
206
+ size={20}
207
+ style={styles.icons}
208
+ />
209
+ </TouchableOpacity>
210
+ {!!handleViewSummaryOrder && (
211
+ <TouchableOpacity onPress={() => handleViewSummaryOrder?.()}>
212
+ <SimpleLineIcons
213
+ name='printer'
214
+ color={theme.colors.textGray}
215
+ size={20}
216
+ style={styles.icons}
217
+ />
218
+ </TouchableOpacity>
219
+ )}
219
220
  </>
220
221
  )}
221
222
  <OIconButton
@@ -223,7 +224,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
223
224
  iconStyle={{
224
225
  width: 20,
225
226
  height: 20,
226
- tintColor: theme.colors.backArrow,
227
+ tintColor: theme.colors.textGray,
227
228
  }}
228
229
  borderColor={theme.colors.clear}
229
230
  style={styles.icons}
@@ -235,7 +236,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
235
236
  iconStyle={{
236
237
  width: 20,
237
238
  height: 20,
238
- tintColor: theme.colors.backArrow,
239
+ tintColor: theme.colors.textGray,
239
240
  }}
240
241
  borderColor={theme.colors.clear}
241
242
  style={styles.icons}
@@ -262,7 +263,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
262
263
  )}
263
264
  </>
264
265
  </OText>
265
- {!order?.isLogistic && order?.delivery_type && (!order?.order_group_id || !logisticOrderStatus?.includes(order?.status)) && (
266
+ {!order?.isLogistic && !!order?.delivery_type && (!order?.order_group_id || !logisticOrderStatus?.includes(order?.status)) && (
266
267
  <>
267
268
  <OText size={13}>
268
269
  <OText size={13} weight='bold'>{`${t('ORDER_TYPE', 'Order Type')}: `}</OText>
@@ -274,12 +275,12 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
274
275
  {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
275
276
  </OText>
276
277
  )}
277
- {order?.payment_events?.length > 0 && (
278
- <View>
278
+ <OText>
279
+ <OText size={13} weight='bold'>
280
+ {`${t('PAYMENT_METHODS', 'Payment methods')}: `}
281
+ </OText>
282
+ {order?.payment_events?.length > 0 ? (
279
283
  <OText size={13}>
280
- <OText size={13} weight='bold'>
281
- {`${t('PAYMENT_METHODS', 'Payment methods')}: `}
282
- </OText>
283
284
  {order?.payment_events?.map((event: any, idx: number) => {
284
285
  return event?.wallet_event
285
286
  ? idx < order?.payment_events?.length - 1
@@ -290,7 +291,21 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
290
291
  : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)
291
292
  })}
292
293
  </OText>
293
- </View>
294
+ ) : (
295
+ <OText size={13}>{t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)}</OText>
296
+ )}
297
+ </OText>
298
+ {order?.spot_number && (
299
+ <OText size={13}>
300
+ <OText size={13} weight='bold'>
301
+ {`${order?.delivery_type === 3
302
+ ? t('EATIN_SPOT_NUMBER', 'Table number')
303
+ : order?.delivery_type === 5
304
+ ? t('DRIVE_THRU_SPOT_NUMBER', 'Drive thru lane')
305
+ : t('CURBSIDE_SPOT_NUMBER', 'Spot number')}: `}
306
+ </OText>
307
+ {order.spot_number}
308
+ </OText>
294
309
  )}
295
310
  </>
296
311
  )}
@@ -0,0 +1,200 @@
1
+ //React & React Native
2
+ import React, { useState, useEffect } from 'react';
3
+ import { View } from 'react-native';
4
+
5
+ // Thirds
6
+ import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
7
+
8
+ //OrderingComponent
9
+ import {
10
+ useLanguage,
11
+ OrderDetails as OrderDetailsConTableoller,
12
+ useSession,
13
+ useConfig
14
+ } from 'ordering-components/native';
15
+
16
+ //Components
17
+ import Alert from '../../providers/AlertProvider';
18
+ import { FloatingButton } from '../FloatingButton';
19
+ import { OrderDetailsLogisticParams } from '../../types';
20
+ import { useTheme } from 'styled-components/native';
21
+ import { NotFoundSource } from '../NotFoundSource';
22
+ import { getOrderStatus } from '../../utils';
23
+ import { OrderHeaderComponent } from '../OrderDetails/OrderHeaderComponent';
24
+ import { OrderContentComponent } from '../OrderDetails/OrderContentComponent';
25
+ //Styles
26
+ import { OrderDetailsContainer } from './styles';
27
+
28
+ export const OrderDetailsLogisticUI = (props: OrderDetailsLogisticParams) => {
29
+ const {
30
+ navigation,
31
+ handleClickLogisticOrder,
32
+ orderAssingId,
33
+ } = props;
34
+ const { order } = props.order
35
+ const theme = useTheme();
36
+ const [, t] = useLanguage();
37
+ const [session] = useSession();
38
+ const [{ configs }] = useConfig();
39
+
40
+ const [alertState, setAlertState] = useState<{
41
+ open: boolean;
42
+ content: Array<string>;
43
+ key?: string | null;
44
+ }>({ open: false, content: [], key: null });
45
+
46
+ const logisticOrderStatus = [4, 6, 7]
47
+ const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1'
48
+
49
+ const showFloatButtonsAcceptOrReject: any = {
50
+ 0: true,
51
+ 4: true,
52
+ 7: true,
53
+ 14: true
54
+ };
55
+
56
+ const handleArrowBack: any = () => {
57
+ navigation?.canGoBack() && navigation.goBack();
58
+ };
59
+
60
+ const handleRejectLogisticOrder = (order: any) => {
61
+ handleClickLogisticOrder?.(2, orderAssingId || order?.logistic_order_id, order)
62
+ handleArrowBack()
63
+ }
64
+
65
+ const handleAcceptLogisticOrder = (order: any) => {
66
+ handleClickLogisticOrder?.(1, orderAssingId || order?.logistic_order_id, order)
67
+ handleArrowBack()
68
+ }
69
+
70
+ useEffect(() => {
71
+ if (order?.driver === null && session?.user?.level === 4) {
72
+ setAlertState({
73
+ open: true,
74
+ content: [
75
+ t(
76
+ 'YOU_HAVE_BEEN_REMOVED_FROM_THE_ORDER',
77
+ 'You have been removed from the order',
78
+ ),
79
+ ],
80
+ key: null,
81
+ });
82
+ }
83
+ }, [order?.driver]);
84
+
85
+ const OrderDetailsInformation = (props: { order: any, isOrderGroup?: boolean, lastOrder?: boolean }) => {
86
+ const {
87
+ order,
88
+ isOrderGroup,
89
+ lastOrder,
90
+ } = props
91
+ return (
92
+ <>
93
+ <OrderContentComponent
94
+ order={order}
95
+ logisticOrderStatus={logisticOrderStatus}
96
+ isOrderGroup={isOrderGroup}
97
+ lastOrder={lastOrder}
98
+ />
99
+ <View
100
+ style={{
101
+ height:
102
+ order?.status === 8 && order?.delivery_type === 1 ? 50 : 35,
103
+ }}
104
+ />
105
+
106
+ </>
107
+ )
108
+ }
109
+
110
+ return (
111
+ <>
112
+ {(!order || Object.keys(order).length === 0) &&
113
+ (props.order?.error?.length < 1 || !props.order?.error) && (
114
+ <View style={{ flex: 1 }}>
115
+ {[...Array(6)].map((item, i) => (
116
+ <Placeholder key={i} Animation={Fade}>
117
+ <View style={{ flexDirection: 'row', paddingVertical: 20 }}>
118
+ <Placeholder>
119
+ <PlaceholderLine width={100} />
120
+ <PlaceholderLine width={70} />
121
+ <PlaceholderLine width={30} />
122
+ <PlaceholderLine width={20} />
123
+ </Placeholder>
124
+ </View>
125
+ </Placeholder>
126
+ ))}
127
+ </View>
128
+ )}
129
+
130
+ {(!!props.order?.error || props.order?.error) && (
131
+ <NotFoundSource
132
+ btnTitle={t('GO_TO_MY_ORDERS', 'Go to my orders')}
133
+ content={
134
+ props.order.error[0] ||
135
+ props.order.error ||
136
+ t('NETWORK_ERROR', 'Network Error')
137
+ }
138
+ onClickButton={() => navigation.navigate('Orders')}
139
+ />
140
+ )}
141
+ {!((!order || Object.keys(order).length === 0) &&
142
+ (props.order?.error?.length < 1 || !props.order?.error)) && (
143
+ <View style={{ flex: 1 }}>
144
+ <OrderHeaderComponent
145
+ order={order}
146
+ getOrderStatus={getOrderStatus}
147
+ handleArrowBack={handleArrowBack}
148
+ logisticOrderStatus={logisticOrderStatus}
149
+ />
150
+ {order && Object.keys(order).length > 0 && (props.order?.error?.length < 1 || !props.order?.error) && (
151
+ <>
152
+ <OrderDetailsContainer
153
+ keyboardShouldPersistTaps="handled"
154
+ showsVerticalScrollIndicator={false}
155
+ >
156
+ {order?.order_group && !!order?.order_group_id && order?.isLogistic ? order?.order_group?.orders.map((order: any, i: number, hash: any) => (
157
+ <OrderDetailsInformation key={order?.id} order={order} isOrderGroup lastOrder={hash?.length === i + 1} />
158
+ )) : (
159
+ <OrderDetailsInformation order={order} />
160
+ )}
161
+ </OrderDetailsContainer>
162
+
163
+ {showFloatButtonsAcceptOrReject[order?.status] && (
164
+ <FloatingButton
165
+ btnText={t('REJECT', 'Reject')}
166
+ isSecondaryBtn={false}
167
+ secondButtonClick={() => handleAcceptLogisticOrder(order)}
168
+ firstButtonClick={() => handleRejectLogisticOrder(order)}
169
+ secondBtnText={t('ACCEPT', 'Accept')}
170
+ secondButton={true}
171
+ firstColorCustom={theme.colors.red}
172
+ secondColorCustom={theme.colors.green}
173
+ widthButton={isHideRejectButtons ? '100%': '45%'}
174
+ isHideRejectButtons={isHideRejectButtons}
175
+ />
176
+ )}
177
+ </>
178
+ )}
179
+ </View>
180
+ )}
181
+ {alertState?.open && (
182
+ <Alert
183
+ open={alertState.open}
184
+ onAccept={handleArrowBack}
185
+ onClose={handleArrowBack}
186
+ content={alertState.content}
187
+ title={t('WARNING', 'Warning')}
188
+ />
189
+ )}
190
+ </>
191
+ );
192
+ };
193
+
194
+ export const OrderDetailsLogistic = (props: OrderDetailsLogisticParams) => {
195
+ const orderDetailsProps = {
196
+ ...props,
197
+ UIComponent: OrderDetailsLogisticUI,
198
+ };
199
+ return <OrderDetailsConTableoller {...orderDetailsProps} />;
200
+ };
@@ -0,0 +1,5 @@
1
+ import styled from 'styled-components/native';
2
+
3
+ export const OrderDetailsContainer = styled.ScrollView`
4
+ flex: 1;
5
+ `;
@@ -1,7 +1,7 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
3
3
  import { Chat } from '../Chat';
4
- import { StyleSheet, View, BackHandler } from 'react-native';
4
+ import { StyleSheet, View, BackHandler, TouchableOpacity } from 'react-native';
5
5
  import {
6
6
  useLanguage,
7
7
  OrderDetails as OrderDetailsController,
@@ -9,7 +9,7 @@ import {
9
9
  } from 'ordering-components/native';
10
10
  import { useUtils } from 'ordering-components/native';
11
11
 
12
- import { OIcon, OIconButton, OText } from '../shared';
12
+ import { OIcon, OText } from '../shared';
13
13
  import { OrderDetailsParams } from '../../types';
14
14
  import { USER_TYPE } from '../../config/constants';
15
15
  import { useTheme } from 'styled-components/native';
@@ -146,13 +146,6 @@ export const OrderMessageUI = (props: OrderDetailsParams) => {
146
146
  shadowRadius: 3.84,
147
147
  elevation: 3,
148
148
  },
149
- cancelBtn: {
150
- marginRight: 5,
151
- zIndex: 10000,
152
- height: 30,
153
- width: 20,
154
- justifyContent: 'flex-end',
155
- },
156
149
  modalText: {
157
150
  fontFamily: 'Poppins',
158
151
  fontStyle: 'normal',
@@ -161,6 +154,18 @@ export const OrderMessageUI = (props: OrderDetailsParams) => {
161
154
  textAlign: 'center',
162
155
  zIndex: 10,
163
156
  },
157
+ btnBackArrow: {
158
+ borderWidth: 0,
159
+ width: 32,
160
+ height: 32,
161
+ tintColor: theme.colors.textGray,
162
+ backgroundColor: theme.colors.clear,
163
+ borderColor: theme.colors.clear,
164
+ shadowColor: theme.colors.clear,
165
+ paddingLeft: 0,
166
+ paddingRight: 0,
167
+ marginTop: 10
168
+ },
164
169
  });
165
170
 
166
171
  return (
@@ -260,13 +265,9 @@ export const OrderMessageUI = (props: OrderDetailsParams) => {
260
265
  <>
261
266
  <View style={styles.titleSection}>
262
267
  <View style={styles.titleGroups}>
263
- <OIconButton
264
- icon={theme.images.general.arrow_left}
265
- iconStyle={{ width: 23, height: 23 }}
266
- borderColor={theme.colors.clear}
267
- style={styles.cancelBtn}
268
- onClick={handleArrowBack}
269
- />
268
+ <TouchableOpacity onPress={() => handleArrowBack()} style={styles.btnBackArrow}>
269
+ <OIcon src={theme.images.general.arrow_left} color={theme.colors.textGray} />
270
+ </TouchableOpacity>
270
271
 
271
272
  <OText size={16} style={styles.modalText} adjustsFontSizeToFit>
272
273
  {`${t('INVOICE_ORDER_NO', 'Order No.')} ${order?.id}`}
@@ -275,7 +276,7 @@ export const OrderMessageUI = (props: OrderDetailsParams) => {
275
276
 
276
277
  <View style={styles.titleGroups}>
277
278
  <View style={styles.shadow}>
278
- {order?.business?.logo ? (
279
+ {!!order?.business?.logo ? (
279
280
  <OIcon
280
281
  url={optimizeImage(order?.business?.logo, 'h_300,c_limit')}
281
282
  style={styles.titleIcons}
@@ -292,7 +293,7 @@ export const OrderMessageUI = (props: OrderDetailsParams) => {
292
293
  <OIcon
293
294
  url={optimizeImage(
294
295
  order?.customer?.photo ||
295
- theme?.images?.dummies?.customerPhoto,
296
+ theme?.images?.dummies?.customerPhoto,
296
297
  'h_300,c_limit',
297
298
  )}
298
299
  style={styles.titleIcons}