ordering-ui-react-native 0.16.10 → 0.16.11-release

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/package.json +8 -4
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +8 -14
  5. package/src/components/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessController/index.tsx +10 -8
  8. package/src/components/BusinessInformation/index.tsx +22 -0
  9. package/src/components/BusinessProductsList/index.tsx +7 -7
  10. package/src/components/BusinessTypeFilter/index.tsx +1 -2
  11. package/src/components/BusinessesListing/index.tsx +1 -1
  12. package/src/components/Checkout/index.tsx +2 -1
  13. package/src/components/LanguageSelector/index.tsx +21 -16
  14. package/src/components/LoginForm/index.tsx +118 -30
  15. package/src/components/LoginForm/styles.tsx +6 -0
  16. package/src/components/Messages/index.tsx +2 -2
  17. package/src/components/NotificationSetting/index.tsx +85 -0
  18. package/src/components/OrderDetails/index.tsx +7 -21
  19. package/src/components/OrdersOption/index.tsx +54 -56
  20. package/src/components/PaymentOptions/index.tsx +335 -365
  21. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  22. package/src/components/ReviewDriver/index.tsx +1 -1
  23. package/src/components/ReviewOrder/index.tsx +2 -1
  24. package/src/components/ReviewProducts/index.tsx +11 -0
  25. package/src/components/SignupForm/index.tsx +143 -61
  26. package/src/components/SingleProductReview/index.tsx +8 -5
  27. package/src/components/StripeElementsForm/index.tsx +25 -16
  28. package/src/components/StripeMethodForm/index.tsx +1 -2
  29. package/src/components/VerifyPhone/styles.tsx +1 -2
  30. package/src/components/shared/OBottomPopup.tsx +6 -2
  31. package/src/index.tsx +2 -0
  32. package/src/navigators/CheckoutNavigator.tsx +6 -0
  33. package/src/navigators/HomeNavigator.tsx +6 -0
  34. package/src/pages/BusinessesListing.tsx +7 -6
  35. package/src/pages/MultiCheckout.tsx +31 -0
  36. package/src/pages/MultiOrdersDetails.tsx +27 -0
  37. package/src/pages/OrderDetails.tsx +1 -1
  38. package/src/pages/ReviewDriver.tsx +2 -2
  39. package/src/pages/ReviewOrder.tsx +2 -2
  40. package/src/theme.json +0 -1
  41. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  42. package/src/types/index.tsx +13 -9
  43. package/src/utils/index.tsx +0 -1
  44. package/themes/business/index.tsx +4 -0
  45. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  46. package/themes/business/src/components/Chat/index.tsx +42 -34
  47. package/themes/business/src/components/DriverMap/index.tsx +13 -10
  48. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  49. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  50. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  51. package/themes/business/src/components/MapView/index.tsx +1 -1
  52. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  53. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  54. package/themes/business/src/components/OrderDetails/Delivery.tsx +3 -3
  55. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +19 -18
  56. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  57. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  58. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  59. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  60. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  61. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  62. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  63. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  64. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  65. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  66. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  67. package/themes/business/src/components/PreviousOrders/index.tsx +21 -23
  68. package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
  69. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  70. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  71. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  72. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  73. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  74. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  75. package/themes/business/src/components/shared/OModal.tsx +40 -37
  76. package/themes/business/src/types/index.tsx +14 -9
  77. package/themes/business/src/utils/index.tsx +10 -0
  78. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  79. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  80. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  81. package/themes/kiosk/src/components/BusinessMenu/index.tsx +2 -1
  82. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  83. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +1 -0
  84. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  85. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  86. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  87. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  88. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  89. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  90. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  91. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  92. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  93. package/themes/kiosk/src/types/index.d.ts +2 -0
  94. package/themes/original/index.tsx +16 -0
  95. package/themes/original/src/components/AddressForm/index.tsx +136 -133
  96. package/themes/original/src/components/AddressList/index.tsx +1 -1
  97. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  98. package/themes/original/src/components/BusinessBasicInformation/index.tsx +302 -160
  99. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  100. package/themes/original/src/components/BusinessController/index.tsx +173 -108
  101. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
  102. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  103. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  104. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  105. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  106. package/themes/original/src/components/BusinessListingSearch/index.tsx +106 -126
  107. package/themes/original/src/components/BusinessListingSearch/styles.tsx +18 -13
  108. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  109. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  110. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  111. package/themes/original/src/components/BusinessProductsList/index.tsx +61 -72
  112. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  113. package/themes/original/src/components/BusinessProductsListing/index.tsx +290 -181
  114. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
  115. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  116. package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
  117. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  118. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
  119. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
  120. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
  121. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  122. package/themes/original/src/components/BusinessesListing/index.tsx +100 -484
  123. package/themes/original/src/components/Cart/index.tsx +81 -36
  124. package/themes/original/src/components/Cart/styles.tsx +4 -0
  125. package/themes/original/src/components/CartContent/index.tsx +22 -16
  126. package/themes/original/src/components/Checkout/index.tsx +106 -66
  127. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  128. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  129. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  130. package/themes/original/src/components/Favorite/index.tsx +1 -0
  131. package/themes/original/src/components/Favorite/styles.tsx +1 -0
  132. package/themes/original/src/components/FavoriteList/index.tsx +143 -94
  133. package/themes/original/src/components/GPSButton/index.tsx +25 -17
  134. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  135. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  136. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  137. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  138. package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -2
  139. package/themes/original/src/components/LoginForm/index.tsx +79 -42
  140. package/themes/original/src/components/Messages/index.tsx +17 -17
  141. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  142. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  143. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  144. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  145. package/themes/original/src/components/MultiCheckout/index.tsx +304 -0
  146. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  147. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  148. package/themes/original/src/components/MultiOrdersDetails/index.tsx +262 -0
  149. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  150. package/themes/original/src/components/MyOrders/index.tsx +177 -27
  151. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  152. package/themes/original/src/components/NavBar/index.tsx +11 -5
  153. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  154. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  155. package/themes/original/src/components/OrderDetails/index.tsx +125 -40
  156. package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
  157. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  158. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  159. package/themes/original/src/components/OrderProgress/index.tsx +8 -2
  160. package/themes/original/src/components/OrderSummary/index.tsx +1 -34
  161. package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
  162. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  163. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +144 -0
  164. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  165. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -0
  166. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  167. package/themes/original/src/components/OrdersOption/index.tsx +126 -37
  168. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  169. package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
  170. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
  171. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  172. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  173. package/themes/original/src/components/ProductForm/index.tsx +712 -655
  174. package/themes/original/src/components/ProductForm/styles.tsx +9 -7
  175. package/themes/original/src/components/ProductItemAccordion/index.tsx +37 -24
  176. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  177. package/themes/original/src/components/ProfessionalFilter/index.tsx +129 -0
  178. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  179. package/themes/original/src/components/ProfessionalProfile/index.tsx +309 -0
  180. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  181. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  182. package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
  183. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  184. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  185. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  186. package/themes/original/src/components/SearchBar/index.tsx +10 -5
  187. package/themes/original/src/components/ServiceForm/index.tsx +608 -0
  188. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  189. package/themes/original/src/components/SignupForm/index.tsx +301 -158
  190. package/themes/original/src/components/SingleOrderCard/index.tsx +213 -177
  191. package/themes/original/src/components/SingleProductCard/index.tsx +198 -110
  192. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  193. package/themes/original/src/components/SingleProductReview/index.tsx +30 -3
  194. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  195. package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
  196. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  197. package/themes/original/src/components/UpsellingProducts/index.tsx +14 -4
  198. package/themes/original/src/components/UserDetails/index.tsx +32 -18
  199. package/themes/original/src/components/UserFormDetails/index.tsx +107 -73
  200. package/themes/original/src/components/UserProfile/index.tsx +8 -1
  201. package/themes/original/src/components/UserProfileForm/index.tsx +15 -10
  202. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  203. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  204. package/themes/original/src/components/Wallets/index.tsx +176 -162
  205. package/themes/original/src/components/Wallets/styles.tsx +10 -8
  206. package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
  207. package/themes/original/src/components/shared/OButton.tsx +10 -3
  208. package/themes/original/src/components/shared/OInput.tsx +3 -2
  209. package/themes/original/src/components/shared/OModal.tsx +3 -1
  210. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  211. package/themes/original/src/types/index.tsx +160 -47
  212. package/themes/original/src/utils/index.tsx +77 -0
  213. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from 'react';
2
- import moment from 'moment';
3
2
  import {
4
3
  SingleOrderCard as SingleOrderCardController,
5
4
  useUtils,
5
+ useOrder,
6
6
  useLanguage
7
7
  } from 'ordering-components/native';
8
8
  import { StyleSheet, TouchableOpacity, View } from 'react-native';
@@ -10,6 +10,7 @@ import { useTheme } from 'styled-components/native';
10
10
  import { OIcon, OText, OButton } from '../shared';
11
11
  import IconAntDesign from 'react-native-vector-icons/AntDesign'
12
12
  import { SingleOrderCardParams } from '../../types';
13
+ import { OAlert } from '../../../../../src/components/shared'
13
14
 
14
15
  import {
15
16
  Container,
@@ -33,23 +34,27 @@ const SingleOrderCardUI = (props: SingleOrderCardParams) => {
33
34
  onNavigationRedirect,
34
35
  pastOrders,
35
36
  isMessageView,
36
- handleClickOrder
37
+ handleClickOrder,
38
+ handleRemoveCart,
39
+ cartState
37
40
  } = props;
38
41
 
39
- const [{ parsePrice, optimizeImage }] = useUtils();
42
+ const [{ parsePrice, optimizeImage, parseDate }] = useUtils();
40
43
  const [, t] = useLanguage();
41
- const theme = useTheme();
44
+ const [{ carts }] = useOrder()
45
+ const theme = useTheme();
42
46
 
43
- const [reorderSelected, setReorderSelected] = useState<number | null>(null);
47
+ const [reorderSelected, setReorderSelected] = useState<number | null>(null);
48
+ const [confirm, setConfirm] = useState<any>({ open: false, content: null, handleOnAccept: null, id: null, title: null })
44
49
 
45
- const allowedOrderStatus = [1, 2, 5, 6, 10, 11, 12];
50
+ const allowedOrderStatus = [1, 2, 5, 6, 10, 11, 12];
46
51
 
47
52
  const styles = StyleSheet.create({
48
- logo: {
49
- borderRadius: 8,
50
- width: 64,
51
- height: 64
52
- },
53
+ logo: {
54
+ borderRadius: 8,
55
+ width: 64,
56
+ height: 64
57
+ },
53
58
  logoWrapper: {
54
59
  overflow: 'hidden',
55
60
  backgroundColor: 'white',
@@ -62,212 +67,243 @@ const SingleOrderCardUI = (props: SingleOrderCardParams) => {
62
67
  },
63
68
  buttonText: {
64
69
  color: theme.colors.primary,
65
- fontSize: 10,
66
- marginLeft: 2,
67
- marginRight: 2,
70
+ fontSize: 10,
71
+ marginLeft: 2,
72
+ marginRight: 2,
68
73
  },
69
74
  reorderLoading: {
70
75
  width: 80,
71
- height: 40,
72
- borderRadius: 10,
76
+ height: 40,
77
+ borderRadius: 10,
73
78
  },
74
79
  reorderbutton: {
75
- height: 23,
76
- paddingLeft: 10,
77
- paddingRight: 10,
78
- borderRadius: 23,
79
- shadowOpacity: 0,
80
- backgroundColor: theme.colors.primaryContrast,
81
- borderWidth: 0,
82
- },
80
+ height: 23,
81
+ paddingLeft: 10,
82
+ paddingRight: 10,
83
+ borderRadius: 23,
84
+ shadowOpacity: 0,
85
+ backgroundColor: theme.colors.primaryContrast,
86
+ borderWidth: 0,
87
+ },
83
88
  reviewButton: {
84
- height: 23,
85
- maxHeight: 23,
86
- backgroundColor: theme.colors.white,
87
- alignItems: 'center',
88
- justifyContent: 'center',
89
- paddingHorizontal: 10,
90
- borderRadius: 23,
91
- borderWidth: 1,
92
- borderColor: theme.colors.primaryContrast,
89
+ height: 23,
90
+ maxHeight: 23,
91
+ backgroundColor: theme.colors.white,
92
+ alignItems: 'center',
93
+ justifyContent: 'center',
94
+ paddingHorizontal: 10,
95
+ borderRadius: 23,
96
+ borderWidth: 1,
97
+ borderColor: theme.colors.primaryContrast,
93
98
  marginRight: 2
94
- },
99
+ },
95
100
  infoText: {
96
101
  flexDirection: 'row',
97
102
  alignItems: 'center'
98
103
  }
99
- });
104
+ });
100
105
 
101
- const handleReorderClick = (id: number) => {
102
- setReorderSelected(id);
103
- handleReorder && handleReorder(id);
104
- };
106
+ const handleReorderClick = (order: any) => {
107
+ if (carts[`businessId:${order?.business_id}`] && carts[`businessId:${order?.business_id}`]?.products?.length > 0) {
108
+ setConfirm({
109
+ open: true,
110
+ content: [t('QUESTION_DELETE_PRODUCTS_FROM_CART', 'Are you sure that you want to delete all products from cart?')],
111
+ title: t('ORDER', 'Order'),
112
+ handleOnAccept: async () => {
113
+ handleRemoveCart()
114
+ setConfirm({ ...confirm, open: false })
115
+ }
116
+ })
117
+ } else {
118
+ setReorderSelected(order?.id);
119
+ handleReorder && handleReorder(order?.id);
120
+ }
121
+ };
105
122
 
106
123
  const handleClickOrderReview = (order: any) => {
107
124
  if (pastOrders) {
108
125
  onNavigationRedirect &&
109
- onNavigationRedirect('ReviewOrder', {
110
- order: {
111
- id: order?.id,
112
- business_id: order?.business_id,
113
- logo: order?.business?.logo,
114
- driver: order?.driver,
115
- products: order?.products,
116
- review: order?.review,
117
- user_review: order?.user_review
118
- },
119
- });
126
+ onNavigationRedirect('ReviewOrder', {
127
+ order: {
128
+ id: order?.id,
129
+ business_id: order?.business_id,
130
+ logo: order?.business?.logo,
131
+ driver: order?.driver,
132
+ products: order?.products,
133
+ review: order?.review,
134
+ user_review: order?.user_review
135
+ },
136
+ });
120
137
  return
121
138
  }
122
139
  if (isMessageView) {
123
- handleClickOrder(order?.uuid)
124
- return
125
- }
126
- onNavigationRedirect &&
127
- onNavigationRedirect('OrderDetails', { orderId: order?.uuid });
128
- };
140
+ handleClickOrder(order?.uuid)
141
+ return
142
+ }
143
+ onNavigationRedirect &&
144
+ onNavigationRedirect('OrderDetails', { orderId: order?.uuid });
145
+ };
129
146
 
130
147
  const handleClickViewOrder = (uuid: string) => {
131
- onNavigationRedirect &&
132
- onNavigationRedirect('OrderDetails', { orderId: uuid });
133
- };
134
-
135
- const formatDate = (date: string, option?: any) => {
136
- return option?.utc ? moment.utc(date).format('DD/MM/YY \u2022 h:m a') : moment(date).format('DD/MM/YY \u2022 h:m a');
137
- };
148
+ if (isMessageView) {
149
+ handleClickOrder(order?.uuid)
150
+ return
151
+ }
152
+ onNavigationRedirect &&
153
+ onNavigationRedirect('OrderDetails', { orderId: uuid });
154
+ };
138
155
 
139
156
  const handleChangeFavorite = () => {
140
157
  handleFavoriteOrder && handleFavoriteOrder(!order?.favorite)
141
158
  };
142
159
 
160
+ const handleOriginalReorder = () => {
161
+ setConfirm({ ...confirm, open: false, title: null })
162
+ setReorderSelected(order?.id);
163
+ handleReorder && handleReorder(order?.id);
164
+ }
165
+
143
166
  return (
144
- <Container
145
- onPress={() => handleClickViewOrder(order?.uuid)}
146
- activeOpacity={0.7}
147
- >
148
- <InnerContainer>
149
- {!!order.business?.logo && (
150
- <Logo style={styles.logoWrapper}>
151
- <OIcon
152
- url={optimizeImage(order.business?.logo, 'h_300,c_limit')}
153
- style={styles.logo}
154
- />
155
- </Logo>
156
- )}
157
- <CardInfoWrapper>
158
- <ContentHeader>
159
- <OText size={12} lineHeight={18} weight={'600'} numberOfLines={1} ellipsizeMode={'tail'}>
160
- {order.business?.name}
161
- </OText>
162
- {!!!pastOrders && (
163
- <>
164
- {isMessageView ? (
167
+ <>
168
+ <Container
169
+ onPress={() => handleClickViewOrder(order?.uuid)}
170
+ activeOpacity={0.7}
171
+ >
172
+ <InnerContainer>
173
+ {!!order.business?.logo && (
174
+ <Logo style={styles.logoWrapper}>
175
+ <OIcon
176
+ url={optimizeImage(order.business?.logo, 'h_300,c_limit')}
177
+ style={styles.logo}
178
+ />
179
+ </Logo>
180
+ )}
181
+ <CardInfoWrapper>
182
+ <ContentHeader>
183
+ <View style={{ flex: 1 }}>
184
+ <OText size={12} lineHeight={18} weight={'600'} numberOfLines={1} ellipsizeMode={'tail'}>
185
+ {order.business?.name}
186
+ </OText>
187
+ </View>
188
+ {!!!pastOrders && (
165
189
  <>
166
- {order?.unread_count > 0 && (
167
- <UnreadMessageCounter>
168
- <OText size={12} color={theme.colors.primary} lineHeight={18} >
169
- {order?.unread_count}
190
+ {isMessageView ? (
191
+ <>
192
+ {order?.unread_count > 0 && (
193
+ <UnreadMessageCounter>
194
+ <OText size={12} color={theme.colors.primary} lineHeight={18} >
195
+ {order?.unread_count}
196
+ </OText>
197
+ </UnreadMessageCounter>
198
+ )}
199
+ </>
200
+ ) : (
201
+ <Price>
202
+ <OText size={12} lineHeight={18}>
203
+ {parsePrice(order?.summary?.total || order?.total)}
170
204
  </OText>
171
- </UnreadMessageCounter>
205
+ </Price>
172
206
  )}
173
207
  </>
174
- ) : (
175
- <Price>
176
- <OText size={12} lineHeight={18}>
177
- {parsePrice(order?.summary?.total || order?.total)}
178
- </OText>
179
- </Price>
180
208
  )}
181
- </>
182
- )}
183
- {!!pastOrders && (
184
- <ButtonWrapper>
185
- {allowedOrderStatus.includes(parseInt(order?.status)) &&
186
- !order.review && (
187
- <TouchableOpacity
188
- onPress={() => handleClickOrderReview(order)}
189
- style={styles.reviewButton}>
190
- <OText size={10} color={theme.colors.primary} numberOfLines={1}>
191
- {t('REVIEW', 'Review')}
209
+ {!!pastOrders && (
210
+ <ButtonWrapper>
211
+ {allowedOrderStatus.includes(parseInt(order?.status)) &&
212
+ !order.review && (
213
+ <TouchableOpacity
214
+ onPress={() => handleClickOrderReview(order)}
215
+ style={styles.reviewButton}>
216
+ <OText size={10} color={theme.colors.primary} numberOfLines={1}>
217
+ {t('REVIEW', 'Review')}
218
+ </OText>
219
+ </TouchableOpacity>
220
+ )}
221
+ {order.cart && (
222
+ <OButton
223
+ text={t('REORDER', 'Reorder')}
224
+ imgRightSrc={''}
225
+ textStyle={styles.buttonText}
226
+ style={
227
+ ((reorderLoading && order.id === reorderSelected) || cartState?.loading)
228
+ ? styles.reorderLoading
229
+ : styles.reorderbutton
230
+ }
231
+ onClick={() => handleReorderClick(order)}
232
+ isLoading={(reorderLoading && order.id === reorderSelected) || cartState?.loading}
233
+ />
234
+ )}
235
+ </ButtonWrapper>
236
+ )}
237
+ </ContentHeader>
238
+ <ContentFooter>
239
+ <View style={{ flex: 1 }}>
240
+ <View style={styles.infoText}>
241
+ {!!!pastOrders && (
242
+ <>
243
+ <OText
244
+ size={10}
245
+ space
246
+ color={theme.colors.textSecondary}
247
+ style={{ marginVertical: 3 }}
248
+ lineHeight={15}
249
+ numberOfLines={1}
250
+ >
251
+ {t('ORDER_NO', 'Order No') + '.'}
192
252
  </OText>
193
- </TouchableOpacity>
253
+ <OText
254
+ size={10}
255
+ color={theme.colors.textSecondary}
256
+ style={{ marginVertical: 3 }}
257
+ lineHeight={15}
258
+ numberOfLines={1}
259
+ >
260
+ {order.id + ` \u2022 `}
261
+ </OText>
262
+ </>
194
263
  )}
195
- {order.cart && (
196
- <OButton
197
- text={t('REORDER', 'Reorder')}
198
- imgRightSrc={''}
199
- textStyle={styles.buttonText}
200
- style={
201
- reorderLoading && order.id === reorderSelected
202
- ? styles.reorderLoading
203
- : styles.reorderbutton
204
- }
205
- onClick={() => handleReorderClick(order.id)}
206
- isLoading={reorderLoading && order.id === reorderSelected}
207
- />
208
- )}
209
- </ButtonWrapper>
210
- )}
211
- </ContentHeader>
212
- <ContentFooter>
213
- <View style={{ flex: 1 }}>
214
- <View style={styles.infoText}>
215
- {!!!pastOrders && (
216
- <>
217
- <OText
218
- size={10}
219
- space
220
- color={theme.colors.textSecondary}
221
- style={{ marginVertical: 3 }}
222
- lineHeight={15}
223
- numberOfLines={1}
224
- >
225
- {t('ORDER_NO', 'Order No') + '.'}
226
- </OText>
227
- <OText
228
- size={10}
229
- color={theme.colors.textSecondary}
230
- style={{ marginVertical: 3 }}
231
- lineHeight={15}
232
- numberOfLines={1}
233
- >
234
- {order.id + ` \u2022 `}
235
- </OText>
236
- </>
237
- )}
264
+ <OText
265
+ size={10}
266
+ lineHeight={15}
267
+ color={theme.colors.textSecondary}
268
+ style={{ marginVertical: 3 }}
269
+ numberOfLines={1}>
270
+ {order?.delivery_datetime_utc ? parseDate(order?.delivery_datetime_utc) : parseDate(order?.delivery_datetime, { utc: false })}
271
+ </OText>
272
+ </View>
238
273
  <OText
274
+ color={theme.colors.primary}
239
275
  size={10}
240
276
  lineHeight={15}
241
- color={theme.colors.textSecondary}
242
- style={{ marginVertical: 3 }}
243
277
  numberOfLines={1}>
244
- {order?.delivery_datetime_utc
245
- ? formatDate(order?.delivery_datetime_utc)
246
- : formatDate(order?.delivery_datetime, { utc: false })}
278
+ {getOrderStatus(order.status)?.value}
247
279
  </OText>
248
280
  </View>
249
- <OText
250
- color={theme.colors.primary}
251
- size={10}
252
- lineHeight={15}
253
- numberOfLines={1}>
254
- {getOrderStatus(order.status)?.value}
255
- </OText>
256
- </View>
257
- <TouchableOpacity
258
- onPress={handleChangeFavorite}
259
- style={{ marginTop: 5 }}
260
- >
261
- <IconAntDesign
262
- name={order?.favorite ? 'heart' : 'hearto'}
263
- color={theme.colors.danger5}
264
- size={16}
265
- />
266
- </TouchableOpacity>
267
- </ContentFooter>
268
- </CardInfoWrapper>
269
- </InnerContainer>
270
- </Container>
281
+ {!isMessageView && (
282
+ <TouchableOpacity
283
+ onPress={handleChangeFavorite}
284
+ style={{ marginTop: 5 }}
285
+ >
286
+ <IconAntDesign
287
+ name={order?.favorite ? 'heart' : 'hearto'}
288
+ color={theme.colors.danger5}
289
+ size={16}
290
+ />
291
+ </TouchableOpacity>
292
+ )}
293
+ </ContentFooter>
294
+ </CardInfoWrapper>
295
+ </InnerContainer>
296
+ </Container>
297
+ <OAlert
298
+ open={confirm.open}
299
+ title={confirm.title}
300
+ content={confirm.content}
301
+ onAccept={confirm.handleOnAccept}
302
+ onCancel={() => handleOriginalReorder()}
303
+ onClose={() => handleOriginalReorder()}
304
+ />
305
+ </>
306
+
271
307
  )
272
308
  }
273
309