ordering-ui-react-native 0.22.75 → 0.22.76-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 (137) hide show
  1. package/package.json +5 -7
  2. package/src/components/BusinessesListing/index.tsx +1 -1
  3. package/src/components/Checkout/index.tsx +40 -39
  4. package/src/components/VerifyPhone/styles.tsx +1 -2
  5. package/src/context/OfflineActions/index.tsx +236 -0
  6. package/src/providers/AlertProvider.tsx +3 -1
  7. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +5 -3
  8. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  9. package/themes/business/src/components/BusinessController/index.tsx +8 -3
  10. package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
  11. package/themes/business/src/components/Chat/index.tsx +15 -3
  12. package/themes/business/src/components/DriverMap/index.tsx +44 -33
  13. package/themes/business/src/components/FloatingButton/index.tsx +3 -2
  14. package/themes/business/src/components/LanguageSelector/index.tsx +1 -1
  15. package/themes/business/src/components/LoginForm/index.tsx +123 -98
  16. package/themes/business/src/components/LogoutButton/index.tsx +13 -4
  17. package/themes/business/src/components/MapView/RenderMarker.tsx +146 -0
  18. package/themes/business/src/components/MapView/index.tsx +68 -142
  19. package/themes/business/src/components/NewOrderNotification/index.tsx +38 -54
  20. package/themes/business/src/components/OrderDetails/Business.tsx +56 -20
  21. package/themes/business/src/components/OrderDetails/Delivery.tsx +111 -42
  22. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +146 -36
  23. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +51 -28
  24. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  25. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
  26. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
  27. package/themes/business/src/components/OrderSummary/index.tsx +271 -176
  28. package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
  29. package/themes/business/src/components/OrdersOption/index.tsx +207 -144
  30. package/themes/business/src/components/OrdersOption/styles.tsx +14 -0
  31. package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
  32. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +20 -8
  33. package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
  34. package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
  35. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
  36. package/themes/business/src/components/PrinterEdition/index.tsx +143 -75
  37. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
  38. package/themes/business/src/components/PrinterSettings/index.tsx +1 -1
  39. package/themes/business/src/components/ProductItemAccordion/index.tsx +15 -16
  40. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  41. package/themes/business/src/components/StoresList/index.tsx +2 -2
  42. package/themes/business/src/components/UserProfileForm/index.tsx +48 -10
  43. package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
  44. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  45. package/themes/business/src/config/currency.tsx +1010 -0
  46. package/themes/business/src/hooks/useLocation.tsx +16 -12
  47. package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
  48. package/themes/business/src/types/index.tsx +26 -4
  49. package/themes/business/src/utils/index.tsx +26 -2
  50. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  52. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  53. package/themes/kiosk/src/components/Checkout/index.tsx +9 -5
  54. package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
  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/PaymentOptions/index.tsx +121 -57
  59. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  60. package/themes/original/index.tsx +223 -219
  61. package/themes/original/src/components/AddressForm/index.tsx +56 -17
  62. package/themes/original/src/components/AppleLogin/index.tsx +3 -4
  63. package/themes/original/src/components/BusinessController/index.tsx +4 -2
  64. package/themes/original/src/components/BusinessItemAccordion/index.tsx +8 -3
  65. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +102 -90
  66. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +7 -3
  67. package/themes/original/src/components/BusinessListingSearch/index.tsx +8 -13
  68. package/themes/original/src/components/BusinessPreorder/index.tsx +30 -17
  69. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +72 -69
  70. package/themes/original/src/components/BusinessProductsList/index.tsx +4 -5
  71. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  72. package/themes/original/src/components/BusinessProductsListing/index.tsx +5 -4
  73. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +1 -0
  74. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +2 -1
  75. package/themes/original/src/components/Cart/index.tsx +43 -12
  76. package/themes/original/src/components/Checkout/index.tsx +126 -98
  77. package/themes/original/src/components/FloatingButton/index.tsx +1 -1
  78. package/themes/original/src/components/GPSButton/index.tsx +2 -1
  79. package/themes/original/src/components/GoogleMap/index.tsx +3 -2
  80. package/themes/original/src/components/Help/functions.tsx +76 -0
  81. package/themes/original/src/components/Help/index.tsx +74 -29
  82. package/themes/original/src/components/Help/styles.tsx +4 -1
  83. package/themes/original/src/components/HelpOptions/index.tsx +53 -0
  84. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  85. package/themes/original/src/components/Home/index.tsx +36 -11
  86. package/themes/original/src/components/LastOrder/index.tsx +1 -1
  87. package/themes/original/src/components/LoginForm/index.tsx +11 -5
  88. package/themes/original/src/components/MessageListing/index.tsx +1 -1
  89. package/themes/original/src/components/Messages/index.tsx +562 -555
  90. package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
  91. package/themes/original/src/components/MomentOption/index.tsx +141 -61
  92. package/themes/original/src/components/MomentOption/styles.tsx +1 -1
  93. package/themes/original/src/components/MomentSelector/index.tsx +5 -2
  94. package/themes/original/src/components/MultiCheckout/index.tsx +78 -33
  95. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +2 -2
  96. package/themes/original/src/components/MultiOrdersDetails/index.tsx +2 -2
  97. package/themes/original/src/components/NavBar/index.tsx +6 -2
  98. package/themes/original/src/components/NotFoundSource/index.tsx +40 -39
  99. package/themes/original/src/components/NotFoundSource/styles.tsx +18 -9
  100. package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
  101. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +11 -4
  102. package/themes/original/src/components/OrderDetails/index.tsx +44 -20
  103. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  104. package/themes/original/src/components/OrderProgress/index.tsx +5 -4
  105. package/themes/original/src/components/OrderSummary/index.tsx +32 -11
  106. package/themes/original/src/components/OrderTypeSelector/index.tsx +120 -120
  107. package/themes/original/src/components/OrdersOption/index.tsx +325 -325
  108. package/themes/original/src/components/PaymentOptionWallet/index.tsx +1 -0
  109. package/themes/original/src/components/PaymentOptions/index.tsx +471 -459
  110. package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
  111. package/themes/original/src/components/ProductItemAccordion/index.tsx +28 -37
  112. package/themes/original/src/components/ProductOptionSubOption/index.tsx +15 -14
  113. package/themes/original/src/components/ServiceForm/index.tsx +2 -2
  114. package/themes/original/src/components/SignupForm/index.tsx +40 -24
  115. package/themes/original/src/components/SingleOrderCard/index.tsx +8 -5
  116. package/themes/original/src/components/SingleProductCard/index.tsx +2 -1
  117. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  118. package/themes/original/src/components/StripeCardsList/index.tsx +7 -1
  119. package/themes/original/src/components/StripeElementsForm/index.tsx +2 -2
  120. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  121. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +7 -2
  122. package/themes/original/src/components/UserDetails/index.tsx +17 -16
  123. package/themes/original/src/components/UserFormDetails/index.tsx +109 -67
  124. package/themes/original/src/components/UserVerification/index.tsx +18 -5
  125. package/themes/original/src/components/VerifyPhone/index.tsx +1 -1
  126. package/themes/original/src/components/shared/OInput.tsx +97 -97
  127. package/themes/original/src/components/shared/OModal.tsx +7 -2
  128. package/themes/original/src/providers/AlertProvider.tsx +1 -1
  129. package/themes/original/src/types/index.tsx +700 -695
  130. package/themes/original/src/utils/index.tsx +50 -34
  131. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  132. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +0 -62
  133. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +0 -12
  134. package/themes/original/src/components/HelpGuide/index.tsx +0 -68
  135. package/themes/original/src/components/HelpGuide/styles.tsx +0 -12
  136. package/themes/original/src/components/HelpOrder/index.tsx +0 -71
  137. package/themes/original/src/components/HelpOrder/styles.tsx +0 -13
@@ -12,361 +12,361 @@ import { OrdersOptionParams } from '../../types'
12
12
  import { _setStoreData } from '../../providers/StoreUtil';
13
13
  import { NotFoundSource } from '../NotFoundSource';
14
14
  import {
15
- Placeholder,
16
- PlaceholderLine,
17
- Fade
15
+ Placeholder,
16
+ PlaceholderLine,
17
+ Fade
18
18
  } from "rn-placeholder";
19
19
 
20
20
  import { View, ScrollView } from 'react-native'
21
21
  import { getOrderStatus, flatArray } from '../../utils'
22
22
 
23
23
  const OrdersOptionUI = (props: OrdersOptionParams) => {
24
- const {
25
- navigation,
26
- activeOrders,
27
- preOrders,
28
- orderList,
29
- pagination,
30
- titleContent,
31
- customArray,
32
- onNavigationRedirect,
33
- orderStatus,
34
- loadMoreStatus,
35
- loadMoreOrders,
36
- loadOrders,
37
- setOrdersLength,
38
- ordersLength,
39
- refreshOrders,
40
- setRefreshOrders,
41
- reorderState,
42
- handleReorder,
43
- handleUpdateOrderList,
44
- isBusiness,
45
- isProducts,
46
- businessOrderIds,
47
- products,
48
- businessesSearchList,
49
- hideOrders,
50
- BusinessControllerSkeletons,
51
- businesses,
52
- businessPaginationProps,
53
- handleUpdateProducts,
54
- handleUpdateBusinesses,
55
- businessId
56
- } = props
24
+ const {
25
+ navigation,
26
+ activeOrders,
27
+ preOrders,
28
+ orderList,
29
+ pagination,
30
+ titleContent,
31
+ customArray,
32
+ onNavigationRedirect,
33
+ orderStatus,
34
+ loadMoreStatus,
35
+ loadMoreOrders,
36
+ loadOrders,
37
+ setOrdersLength,
38
+ ordersLength,
39
+ refreshOrders,
40
+ setRefreshOrders,
41
+ reorderState,
42
+ handleReorder,
43
+ handleUpdateOrderList,
44
+ isBusiness,
45
+ isProducts,
46
+ businessOrderIds,
47
+ products,
48
+ businessesSearchList,
49
+ hideOrders,
50
+ BusinessControllerSkeletons,
51
+ businesses,
52
+ businessPaginationProps,
53
+ handleUpdateProducts,
54
+ handleUpdateBusinesses,
55
+ businessId
56
+ } = props
57
57
 
58
- const theme = useTheme();
58
+ const theme = useTheme();
59
59
 
60
- const [, t] = useLanguage()
61
- const [{ carts }] = useOrder()
62
- const [, { showToast }] = useToast()
63
- const { loading, error, orders: values } = orderList
64
- const [businessLoading, setBusinessLoading] = useState(true)
65
- const [orders, setOrders] = useState([])
60
+ const [, t] = useLanguage()
61
+ const [{ carts }] = useOrder()
62
+ const [, { showToast }] = useToast()
63
+ const { loading, error, orders: values } = orderList
64
+ const [businessLoading, setBusinessLoading] = useState(true)
65
+ const [orders, setOrders] = useState([])
66
66
 
67
- const imageFails = activeOrders
68
- ? theme.images.general.emptyActiveOrders
69
- : theme.images.general.emptyPastOrders
67
+ const imageFails = activeOrders
68
+ ? theme.images.general.emptyActiveOrders
69
+ : theme.images.general.emptyPastOrders
70
70
 
71
- const _orders = customArray || values || []
72
- const uniqueOrders: any = []
71
+ const _orders = customArray || values || []
72
+ const uniqueOrders: any = []
73
73
 
74
- useEffect(() => {
75
- if (loading || error) return
76
- const ordersReduced = _orders.map((order: any) => order?.cart_group_id
77
- ? _orders
78
- .filter((_order: any) => _order?.cart_group_id === order?.cart_group_id)
79
- .map((_o: any, _: any, _ordersList: any) => {
80
- const obj = {
81
- ..._o,
82
- id: _ordersList.map(o => o.id),
83
- review: _o.review,
84
- user_review: _o.user_review,
85
- total: _ordersList.reduce((acc: any, o: any) => acc + o.summary.total, 0),
86
- business: _ordersList.map((o: any) => o.business),
87
- business_id: _ordersList.map((o: any) => o.business_id),
88
- products: _ordersList.map((o: any) => o.products)
89
- }
90
- return obj
91
- }).find((o: any) => o)
92
- : order)
93
- const orders = ordersReduced?.filter((order: any) => {
94
- if (!order?.cart_group_id) return true
95
- const isDuplicate = uniqueOrders.includes(order?.cart_group_id)
96
- if (!isDuplicate) {
97
- uniqueOrders.push(order?.cart_group_id)
98
- return true
99
- }
100
- return false
101
- })
102
- setOrders(orders)
103
- }, [JSON.stringify(_orders)])
74
+ useEffect(() => {
75
+ if (loading || error) return
76
+ const ordersReduced = _orders.map((order: any) => order?.cart_group_id
77
+ ? _orders
78
+ .filter((_order: any) => _order?.cart_group_id === order?.cart_group_id)
79
+ .map((_o: any, _: any, _ordersList: any) => {
80
+ const obj = {
81
+ ..._o,
82
+ id: _ordersList.map(o => o.id),
83
+ review: _o.review,
84
+ user_review: _o.user_review,
85
+ total: _ordersList.reduce((acc: any, o: any) => acc + o.summary.total, 0),
86
+ business: _ordersList.map((o: any) => o.business),
87
+ business_id: _ordersList.map((o: any) => o.business_id),
88
+ products: _ordersList.map((o: any) => o.products)
89
+ }
90
+ return obj
91
+ }).find((o: any) => o)
92
+ : order)
93
+ const orders = ordersReduced?.filter((order: any) => {
94
+ if (!order?.cart_group_id) return true
95
+ const isDuplicate = uniqueOrders.includes(order?.cart_group_id)
96
+ if (!isDuplicate) {
97
+ uniqueOrders.push(order?.cart_group_id)
98
+ return true
99
+ }
100
+ return false
101
+ })
102
+ setOrders(orders)
103
+ }, [JSON.stringify(_orders)])
104
104
 
105
- const onProductClick = (product: any) => {
106
- if (product?.product_id && product?.category_id && product?.businessId &&
107
- product?.business.slug && product?.business.header && product?.business.logo) {
108
- onNavigationRedirect('ProductDetails', {
109
- isRedirect: 'business',
110
- businessId: product?.businessId,
111
- categoryId: product?.category_id,
112
- productId: product?.product_id,
113
- business: {
114
- store: product?.business.slug,
115
- header: product?.business.header,
116
- logo: product?.business.logo,
117
- }
118
- })
119
- } else {
120
- showToast(ToastType.Error, t('ERROR_FAILED_REDIRECT_IDS', 'Failed to redirect product for ids'))
121
- }
122
- }
105
+ const onProductClick = (product: any) => {
106
+ if (product?.product_id && product?.category_id && product?.businessId &&
107
+ product?.business.slug && product?.business.header && product?.business.logo) {
108
+ onNavigationRedirect('ProductDetails', {
109
+ isRedirect: 'business',
110
+ businessId: product?.businessId,
111
+ categoryId: product?.category_id,
112
+ productId: product?.product_id,
113
+ business: {
114
+ store: product?.business.slug,
115
+ header: product?.business.header,
116
+ logo: product?.business.logo,
117
+ }
118
+ })
119
+ } else {
120
+ showToast(ToastType.Error, t('ERROR_FAILED_REDIRECT_IDS', 'Failed to redirect product for ids'))
121
+ }
122
+ }
123
123
 
124
- useEffect(() => {
125
- if (reorderState?.loading) return
126
- const _businessId = 'businessId:' + reorderState?.result?.business_id
127
- if (reorderState?.error) {
128
- if (reorderState?.result?.business_id) {
129
- _setStoreData('adjust-cart-products', JSON.stringify(_businessId))
130
- navigation.navigate('Business', { store: reorderState?.result?.business?.slug })
131
- }
132
- }
133
- if (!reorderState?.error && !reorderState.loading && reorderState?.result?.business_id) {
134
- const cartProducts = carts?.[_businessId]?.products
124
+ useEffect(() => {
125
+ if (reorderState?.loading) return
126
+ const _businessId = 'businessId:' + reorderState?.result?.business_id
127
+ if (reorderState?.error) {
128
+ if (reorderState?.result?.business_id) {
129
+ _setStoreData('adjust-cart-products', JSON.stringify(_businessId))
130
+ navigation.navigate('Business', { store: reorderState?.result?.business?.slug })
131
+ }
132
+ }
133
+ if (!reorderState?.error && !reorderState.loading && reorderState?.result?.business_id) {
134
+ const cartProducts = carts?.[_businessId]?.products
135
135
 
136
- const available = cartProducts.every((product: any) => product.valid)
137
- const orderProducts = orders.find(
138
- (order: any) => Array.isArray(order?.id)
139
- ? order?.id?.includes(reorderState?.result?.orderId)
140
- : order?.id === reorderState?.result?.orderId
141
- )?.products
136
+ const available = cartProducts.every((product: any) => product.valid)
137
+ const orderProducts = orders.find(
138
+ (order: any) => Array.isArray(order?.id)
139
+ ? order?.id?.includes(reorderState?.result?.orderId)
140
+ : order?.id === reorderState?.result?.orderId
141
+ )?.products
142
142
 
143
- const productsFlatten = orderProducts?.length && flatArray(orderProducts)?.filter(product => product?.order_id === reorderState?.result?.orderId)
143
+ const productsFlatten = orderProducts?.length && flatArray(orderProducts)?.filter(product => product?.order_id === reorderState?.result?.orderId)
144
144
 
145
- if (available && reorderState?.result?.uuid && (cartProducts?.length === productsFlatten?.length)) {
146
- const multiOrders = flatArray(orderProducts)?.map(product => product.order_id)
147
- const params = multiOrders?.length > 1
148
- ? { screen: 'MultiCheckout', checkCarts: true }
149
- : { cartUuid: reorderState?.result.uuid }
145
+ if (available && reorderState?.result?.uuid && (cartProducts?.length === productsFlatten?.length)) {
146
+ const multiOrders = flatArray(orderProducts)?.map(product => product.order_id)
147
+ const params = multiOrders?.length > 1
148
+ ? { screen: 'MultiCheckout', checkCarts: true }
149
+ : { cartUuid: reorderState?.result.uuid }
150
150
 
151
- onNavigationRedirect && onNavigationRedirect('CheckoutNavigator', params)
152
- } else {
153
- _setStoreData('adjust-cart-products', JSON.stringify(_businessId))
154
- cartProducts?.length !== productsFlatten?.length && _setStoreData('already-removed', JSON.stringify('removed'))
155
- navigation.navigate('Business', { store: reorderState?.result?.business?.slug })
156
- }
157
- }
158
- }, [reorderState])
151
+ onNavigationRedirect && onNavigationRedirect('CheckoutNavigator', params)
152
+ } else {
153
+ _setStoreData('adjust-cart-products', JSON.stringify(_businessId))
154
+ cartProducts?.length !== productsFlatten?.length && _setStoreData('already-removed', JSON.stringify('removed'))
155
+ navigation.navigate('Business', { store: reorderState?.result?.business?.slug })
156
+ }
157
+ }
158
+ }, [reorderState])
159
159
 
160
- useEffect(() => {
161
- if (reorderState?.error) {
162
- const errorMessage = (Array.isArray(reorderState?.result) || typeof reorderState?.result === 'string')
163
- ? reorderState?.result
164
- : t('CANT_REORDER_FOR_THIS_BUSINESS', 'Can’t reorder for this store, please create order manually.')
165
- showToast(ToastType.Error, errorMessage)
166
- }
167
- }, [reorderState])
160
+ useEffect(() => {
161
+ if (reorderState?.error) {
162
+ const errorMessage = (Array.isArray(reorderState?.result) || typeof reorderState?.result === 'string')
163
+ ? reorderState?.result
164
+ : t('CANT_REORDER_FOR_THIS_BUSINESS', 'Can’t reorder for this store, please create order manually.')
165
+ showToast(ToastType.Error, errorMessage)
166
+ }
167
+ }, [reorderState])
168
168
 
169
- useFocusEffect(
170
- React.useCallback(() => {
171
- if (!businessesSearchList) {
172
- loadOrders(false, false, false, true)
173
- }
174
- }, [navigation])
175
- )
169
+ useFocusEffect(
170
+ React.useCallback(() => {
171
+ if (!businessesSearchList) {
172
+ loadOrders(false, false, false, true)
173
+ }
174
+ }, [navigation])
175
+ )
176
176
 
177
- useEffect(() => {
178
- const hasMore = pagination?.totalPages && pagination?.currentPage !== pagination?.totalPages
179
- if (loadMoreStatus && hasMore && !loading) {
180
- loadMoreOrders()
181
- }
182
- }, [loadMoreStatus, loading, pagination])
177
+ useEffect(() => {
178
+ const hasMore = pagination?.totalPages && pagination?.currentPage !== pagination?.totalPages
179
+ if (loadMoreStatus && hasMore && !loading) {
180
+ loadMoreOrders()
181
+ }
182
+ }, [loadMoreStatus, loading, pagination])
183
183
 
184
- useEffect(() => {
185
- if (loading) return
184
+ useEffect(() => {
185
+ if (loading) return
186
186
 
187
- const updateOrders = _orders.filter((order: any) => orderStatus.includes(order.status))
187
+ const updateOrders = _orders.filter((order: any) => orderStatus.includes(order.status))
188
188
 
189
- if (activeOrders) {
190
- setOrdersLength && setOrdersLength({ ...ordersLength, activeOrdersLength: updateOrders?.length })
191
- } else if (!preOrders) {
192
- setOrdersLength && setOrdersLength({ ...ordersLength, previousOrdersLength: updateOrders?.length })
193
- } else {
194
- setOrdersLength && setOrdersLength({ ...ordersLength, preordersLength: updateOrders?.length })
195
- }
196
- }, [_orders, activeOrders, preOrders])
189
+ if (activeOrders) {
190
+ setOrdersLength && setOrdersLength({ ...ordersLength, activeOrdersLength: updateOrders?.length })
191
+ } else if (!preOrders) {
192
+ setOrdersLength && setOrdersLength({ ...ordersLength, previousOrdersLength: updateOrders?.length })
193
+ } else {
194
+ setOrdersLength && setOrdersLength({ ...ordersLength, preordersLength: updateOrders?.length })
195
+ }
196
+ }, [_orders, activeOrders, preOrders])
197
197
 
198
- useEffect(() => {
199
- if (refreshOrders) {
200
- loadOrders(false, false, false, true)
201
- setRefreshOrders && setRefreshOrders(false)
202
- }
203
- }, [refreshOrders])
198
+ useEffect(() => {
199
+ if (refreshOrders) {
200
+ loadOrders(false, false, false, true)
201
+ setRefreshOrders && setRefreshOrders(false)
202
+ }
203
+ }, [refreshOrders])
204
204
 
205
- return (
206
- <>
207
- {!loading && ordersLength.activeOrdersLength === 0 && ordersLength.previousOrdersLength === 0 && ordersLength?.preordersLength === 0 && !activeOrders && !preOrders && (
208
- <NoOrdersWrapper>
209
- <NotFoundSource
210
- hideImage
211
- btnStyle={{ borderRadius: 8 }}
212
- content={t('YOU_DONT_HAVE_ORDERS', 'You don\'t have any orders')}
213
- btnTitle={t('ORDER_NOW', 'Order now')}
214
- onClickButton={() => onNavigationRedirect && (businessId ? onNavigationRedirect('Business') : onNavigationRedirect('BusinessList'))}
215
- />
216
- </NoOrdersWrapper>
217
- )}
218
- {((ordersLength?.activeOrdersLength > 0 && activeOrders) ||
219
- (ordersLength?.previousOrdersLength > 0 && !activeOrders && !preOrders) ||
220
- (ordersLength?.preordersLength > 0 && preOrders)
221
- ) && (
222
- <>
223
- {((titleContent && ((isBusiness && businessOrderIds?.length > 0) || isProducts)) || !titleContent) && (
224
- <OptionTitle titleContent={!!titleContent} isBusinessesSearchList={!!businessesSearchList}>
225
- <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10} >
226
- {titleContent || (activeOrders
227
- ? t('ACTIVE', 'Active')
228
- : preOrders
229
- ? t('PREORDERS', 'Preorders')
230
- : t('PAST', 'Past'))}
231
- </OText>
232
- </OptionTitle>
233
- )}
234
- </>
235
- )}
236
- {isBusiness && !!businessesSearchList && businesses?.loading && (
237
- <ScrollView horizontal>
238
- <BusinessControllerSkeletons paginationProps={businessPaginationProps} />
239
- </ScrollView>
240
- )}
241
- {isBusiness && (
242
- <PreviousBusinessOrdered
243
- onNavigationRedirect={onNavigationRedirect}
244
- isBusinessesSearchList={!!businessesSearchList}
245
- businesses={businesses}
246
- handleUpdateBusinesses={handleUpdateBusinesses}
247
- />
248
- )}
205
+ return (
206
+ <>
207
+ {!loading && ordersLength.activeOrdersLength === 0 && ordersLength.previousOrdersLength === 0 && ordersLength?.preordersLength === 0 && !activeOrders && !preOrders && (
208
+ <NoOrdersWrapper>
209
+ <NotFoundSource
210
+ hideImage
211
+ btnStyle={{ borderRadius: 8 }}
212
+ content={t('YOU_DONT_HAVE_ORDERS', 'You don\'t have any orders')}
213
+ btnTitle={t('ORDER_NOW', 'Order now')}
214
+ onClickButton={() => onNavigationRedirect && (businessId ? onNavigationRedirect('Business') : onNavigationRedirect('BusinessList'))}
215
+ />
216
+ </NoOrdersWrapper>
217
+ )}
218
+ {((ordersLength?.activeOrdersLength > 0 && activeOrders) ||
219
+ (ordersLength?.previousOrdersLength > 0 && !activeOrders && !preOrders) ||
220
+ (ordersLength?.preordersLength > 0 && preOrders)
221
+ ) && (
222
+ <>
223
+ {((titleContent && ((isBusiness && businessOrderIds?.length > 0) || isProducts)) || !titleContent) && (
224
+ <OptionTitle titleContent={!!titleContent} isBusinessesSearchList={!!businessesSearchList}>
225
+ <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10} >
226
+ {titleContent || (activeOrders
227
+ ? t('ACTIVE', 'Active')
228
+ : preOrders
229
+ ? t('PREORDERS', 'Preorders')
230
+ : t('PAST', 'Past'))}
231
+ </OText>
232
+ </OptionTitle>
233
+ )}
234
+ </>
235
+ )}
236
+ {isBusiness && !!businessesSearchList && businesses?.loading && (
237
+ <ScrollView horizontal>
238
+ <BusinessControllerSkeletons paginationProps={businessPaginationProps} />
239
+ </ScrollView>
240
+ )}
241
+ {isBusiness && (
242
+ <PreviousBusinessOrdered
243
+ onNavigationRedirect={onNavigationRedirect}
244
+ isBusinessesSearchList={!!businessesSearchList}
245
+ businesses={businesses}
246
+ handleUpdateBusinesses={handleUpdateBusinesses}
247
+ />
248
+ )}
249
249
 
250
- {isProducts && !loading && (
251
- <PreviousProductsOrdered
252
- products={products}
253
- onProductClick={onProductClick}
254
- handleUpdateProducts={handleUpdateProducts}
255
- isBusinessesSearchList={!!businessesSearchList}
256
- />
257
- )}
258
- {(loading && isProducts) && (
259
- <>
260
- {[...Array(!!businessesSearchList ? 1 : 4).keys()].map(
261
- (item, i) => (
262
- <Placeholder key={i} style={{ padding: 5, paddingLeft: !!businessesSearchList ? 0 : 40, marginBottom: !!businessesSearchList ? 38 : 0 }} Animation={Fade}>
263
- <View style={{ flexDirection: 'row' }}>
264
- <PlaceholderLine
265
- width={24}
266
- height={70}
267
- style={{ marginRight: 10, marginBottom: 10 }}
268
- />
269
- <Placeholder style={{ paddingVertical: 10 }}>
270
- <PlaceholderLine width={60} style={{ marginBottom: 25 }} />
271
- <PlaceholderLine width={20} />
272
- </Placeholder>
273
- </View>
274
- </Placeholder>
275
- ),
276
- )}
277
- </>
278
- )}
279
- {!error && orders.length > 0 && !hideOrders && (
280
- preOrders ? (
281
- <ActiveOrders
282
- orders={orders.filter((order: any) => orderStatus.includes(order.status))}
283
- pagination={pagination}
284
- loadMoreOrders={loadMoreOrders}
285
- reorderLoading={reorderState?.loading}
286
- customArray={customArray}
287
- getOrderStatus={getOrderStatus}
288
- onNavigationRedirect={onNavigationRedirect}
289
- handleUpdateOrderList={handleUpdateOrderList}
290
- />
291
- ) : activeOrders ? (
292
- <ActiveOrders
293
- orders={orders.filter((order: any) => orderStatus.includes(order.status))}
294
- pagination={pagination}
295
- reorderLoading={reorderState?.loading}
296
- customArray={customArray}
297
- getOrderStatus={getOrderStatus}
298
- onNavigationRedirect={onNavigationRedirect}
299
- handleUpdateOrderList={handleUpdateOrderList}
300
- />
301
- ) : (
302
- <PreviousOrders
303
- reorderLoading={reorderState?.loading}
304
- orders={orders.filter((order: any) => orderStatus.includes(order.status)).sort((a: any, b: any) => a?.id < b?.id)}
305
- pagination={pagination}
306
- loadMoreOrders={loadMoreOrders}
307
- getOrderStatus={getOrderStatus}
308
- onNavigationRedirect={onNavigationRedirect}
309
- handleReorder={handleReorder}
310
- handleUpdateOrderList={handleUpdateOrderList}
311
- loading={loading}
312
- />
313
- )
314
- )}
315
- {loading && !hideOrders && !preOrders && (
316
- <>
317
- {!activeOrders ? (
318
- <Placeholder style={{ marginTop: 30 }} Animation={Fade}>
319
- <View style={{ width: '100%', flexDirection: 'row' }}>
320
- <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 35 }} />
321
- <Placeholder>
322
- <PlaceholderLine width={30} style={{ marginTop: 5 }} />
323
- <PlaceholderLine width={50} />
324
- <PlaceholderLine width={70} />
325
- </Placeholder>
326
- </View>
327
- </Placeholder>
328
- ) : (
329
- <View style={{ marginTop: 30 }}>
330
- {[...Array(5)].map((item, i) => (
331
- <Placeholder key={i} Animation={Fade}>
332
- <View style={{ width: '100%', flexDirection: 'row' }}>
333
- <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 20 }} />
334
- <Placeholder>
335
- <PlaceholderLine width={30} style={{ marginTop: 5 }} />
336
- <PlaceholderLine width={50} />
337
- <PlaceholderLine width={20} />
338
- </Placeholder>
339
- </View>
340
- </Placeholder>
341
- ))}
342
- </View>
343
- )}
344
- </>
345
- )}
346
- </>
347
- )
250
+ {isProducts && !loading && (
251
+ <PreviousProductsOrdered
252
+ products={products}
253
+ onProductClick={onProductClick}
254
+ handleUpdateProducts={handleUpdateProducts}
255
+ isBusinessesSearchList={!!businessesSearchList}
256
+ />
257
+ )}
258
+ {(loading && isProducts) && (
259
+ <>
260
+ {[...Array(!!businessesSearchList ? 1 : 4).keys()].map(
261
+ (item, i) => (
262
+ <Placeholder key={i} style={{ padding: 5, paddingLeft: !!businessesSearchList ? 0 : 40, marginBottom: !!businessesSearchList ? 38 : 0 }} Animation={Fade}>
263
+ <View style={{ flexDirection: 'row' }}>
264
+ <PlaceholderLine
265
+ width={24}
266
+ height={70}
267
+ style={{ marginRight: 10, marginBottom: 10 }}
268
+ />
269
+ <Placeholder style={{ paddingVertical: 10 }}>
270
+ <PlaceholderLine width={60} style={{ marginBottom: 25 }} />
271
+ <PlaceholderLine width={20} />
272
+ </Placeholder>
273
+ </View>
274
+ </Placeholder>
275
+ ),
276
+ )}
277
+ </>
278
+ )}
279
+ {!error && orders.length > 0 && !hideOrders && (
280
+ preOrders ? (
281
+ <ActiveOrders
282
+ orders={orders.filter((order: any) => orderStatus.includes(order.status))}
283
+ pagination={pagination}
284
+ loadMoreOrders={loadMoreOrders}
285
+ reorderLoading={reorderState?.loading}
286
+ customArray={customArray}
287
+ getOrderStatus={getOrderStatus}
288
+ onNavigationRedirect={onNavigationRedirect}
289
+ handleUpdateOrderList={handleUpdateOrderList}
290
+ />
291
+ ) : activeOrders ? (
292
+ <ActiveOrders
293
+ orders={orders.filter((order: any) => orderStatus.includes(order.status))}
294
+ pagination={pagination}
295
+ reorderLoading={reorderState?.loading}
296
+ customArray={customArray}
297
+ getOrderStatus={getOrderStatus}
298
+ onNavigationRedirect={onNavigationRedirect}
299
+ handleUpdateOrderList={handleUpdateOrderList}
300
+ />
301
+ ) : (
302
+ <PreviousOrders
303
+ reorderLoading={reorderState?.loading}
304
+ orders={orders.filter((order: any) => orderStatus.includes(order.status)).sort((a: any, b: any) => a?.id < b?.id)}
305
+ pagination={pagination}
306
+ loadMoreOrders={loadMoreOrders}
307
+ getOrderStatus={getOrderStatus}
308
+ onNavigationRedirect={onNavigationRedirect}
309
+ handleReorder={handleReorder}
310
+ handleUpdateOrderList={handleUpdateOrderList}
311
+ loading={loading}
312
+ />
313
+ )
314
+ )}
315
+ {loading && !hideOrders && !preOrders && (
316
+ <>
317
+ {!activeOrders ? (
318
+ <Placeholder style={{ marginTop: 30 }} Animation={Fade}>
319
+ <View style={{ width: '100%', flexDirection: 'row' }}>
320
+ <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 35 }} />
321
+ <Placeholder>
322
+ <PlaceholderLine width={30} style={{ marginTop: 5 }} />
323
+ <PlaceholderLine width={50} />
324
+ <PlaceholderLine width={70} />
325
+ </Placeholder>
326
+ </View>
327
+ </Placeholder>
328
+ ) : (
329
+ <View style={{ marginTop: 30 }}>
330
+ {[...Array(5)].map((item, i) => (
331
+ <Placeholder key={i} Animation={Fade}>
332
+ <View style={{ width: '100%', flexDirection: 'row' }}>
333
+ <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 20 }} />
334
+ <Placeholder>
335
+ <PlaceholderLine width={30} style={{ marginTop: 5 }} />
336
+ <PlaceholderLine width={50} />
337
+ <PlaceholderLine width={20} />
338
+ </Placeholder>
339
+ </View>
340
+ </Placeholder>
341
+ ))}
342
+ </View>
343
+ )}
344
+ </>
345
+ )}
346
+ </>
347
+ )
348
348
  }
349
349
 
350
350
  export const OrdersOption = (props: OrdersOptionParams) => {
351
- const getAllOrders = props.activeOrders && props.pastOrders && props.preOrders
351
+ const getAllOrders = props.activeOrders && props.pastOrders && props.preOrders
352
352
 
353
- const MyOrdersProps = {
354
- ...props,
355
- UIComponent: OrdersOptionUI,
356
- noGiftCardOrders: true,
357
- orderStatus: getAllOrders
358
- ? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
359
- : props.preOrders ? [13] : props.activeOrders
360
- ? [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23]
361
- : [1, 2, 5, 6, 10, 11, 12, 15, 16, 17],
362
- useDefualtSessionManager: true,
363
- paginationSettings: {
364
- initialPage: 1,
365
- pageSize: getAllOrders ? 30 : 10,
366
- controlType: 'infinity'
367
- }
368
- }
353
+ const MyOrdersProps = {
354
+ ...props,
355
+ UIComponent: OrdersOptionUI,
356
+ noGiftCardOrders: true,
357
+ orderStatus: getAllOrders
358
+ ? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
359
+ : props.preOrders ? [13] : props.activeOrders
360
+ ? [0, 3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26]
361
+ : [1, 2, 5, 6, 10, 11, 12, 15, 16, 17],
362
+ useDefualtSessionManager: true,
363
+ paginationSettings: {
364
+ initialPage: 1,
365
+ pageSize: getAllOrders ? 30 : 10,
366
+ controlType: 'infinity'
367
+ }
368
+ }
369
369
 
370
- return <OrderList {...MyOrdersProps} />
370
+ return <OrderList {...MyOrdersProps} />
371
371
 
372
372
  }