ordering-ui-react-native 0.15.35 → 0.15.36
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.
- package/package.json +1 -1
- package/themes/original/src/components/BusinessController/index.tsx +4 -1
- package/themes/original/src/components/BusinessProductsListing/index.tsx +15 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +23 -21
- package/themes/original/src/components/OrderDetails/index.tsx +10 -2
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
useUtils,
|
|
5
5
|
useOrder,
|
|
6
6
|
useLanguage,
|
|
7
|
+
useConfig
|
|
7
8
|
} from 'ordering-components/native';
|
|
8
9
|
import { OIcon, OText } from '../shared';
|
|
9
10
|
import { StyleSheet, View } from 'react-native';
|
|
@@ -44,6 +45,8 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
44
45
|
const [orderState] = useOrder();
|
|
45
46
|
const [, t] = useLanguage();
|
|
46
47
|
const theme = useTheme()
|
|
48
|
+
const [{ configs }] = useConfig();
|
|
49
|
+
const isPreOrderSetting = configs?.preorder_status_enabled?.value === '1'
|
|
47
50
|
|
|
48
51
|
const styles = StyleSheet.create({
|
|
49
52
|
headerStyle: {
|
|
@@ -112,7 +115,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
const handleBusinessClick = (selectedBusiness: any) => {
|
|
115
|
-
if (business?.open) handleClick && handleClick(selectedBusiness)
|
|
118
|
+
if (business?.open || !isPreOrderSetting) handleClick && handleClick(selectedBusiness)
|
|
116
119
|
else {
|
|
117
120
|
navigation.navigate('BusinessPreorder', { business: selectedBusiness, handleBusinessClick: handleClick })
|
|
118
121
|
}
|
|
@@ -17,6 +17,7 @@ import { SearchBar } from '../SearchBar'
|
|
|
17
17
|
import { BusinessProductsCategories } from '../BusinessProductsCategories'
|
|
18
18
|
import { BusinessProductsList } from '../BusinessProductsList'
|
|
19
19
|
import { BusinessProductsListingParams } from '../../types'
|
|
20
|
+
import { _retrieveStoreData, _removeStoreData } from '../../providers/StoreUtil';
|
|
20
21
|
import {
|
|
21
22
|
TopHeader,
|
|
22
23
|
WrapSearchBar,
|
|
@@ -50,7 +51,7 @@ const BusinessProductsListingUI = (props: BusinessProductsListingParams) => {
|
|
|
50
51
|
const theme = useTheme();
|
|
51
52
|
const [, t] = useLanguage()
|
|
52
53
|
const [{ auth }] = useSession()
|
|
53
|
-
const [orderState] = useOrder()
|
|
54
|
+
const [orderState, { clearCart }] = useOrder()
|
|
54
55
|
const [{ parsePrice }] = useUtils()
|
|
55
56
|
const [, { showToast }] = useToast()
|
|
56
57
|
const [{ configs }] = useConfig()
|
|
@@ -163,6 +164,19 @@ const BusinessProductsListingUI = (props: BusinessProductsListingParams) => {
|
|
|
163
164
|
navigation?.canGoBack() ? navigation.goBack() : navigation.navigate('BottomTab')
|
|
164
165
|
}
|
|
165
166
|
|
|
167
|
+
const removeCartByReOrder = async () => {
|
|
168
|
+
const removeCardId = await _retrieveStoreData('remove-cartId')
|
|
169
|
+
if (currentCart && removeCardId) {
|
|
170
|
+
clearCart(removeCardId)
|
|
171
|
+
_removeStoreData('remove-cartId')
|
|
172
|
+
showToast(ToastType.Info, t('PRODUCT_REMOVED', 'Products removed from cart'))
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
removeCartByReOrder()
|
|
178
|
+
}, [])
|
|
179
|
+
|
|
166
180
|
return (
|
|
167
181
|
<SafeAreaView
|
|
168
182
|
style={{ flex: 1 }}
|
|
@@ -61,7 +61,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
61
61
|
handleChangeSearch,
|
|
62
62
|
businessId
|
|
63
63
|
} = props;
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
const theme = useTheme();
|
|
66
66
|
const isFocused = useIsFocused();
|
|
67
67
|
const appState = useRef(AppState.currentState)
|
|
@@ -120,7 +120,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
120
120
|
|
|
121
121
|
const isPreorderEnabled = (configs?.preorder_status_enabled?.value === '1' || configs?.preorder_status_enabled?.value === 'true') &&
|
|
122
122
|
Number(configs?.max_days_preorder?.value) > 0
|
|
123
|
-
|
|
123
|
+
const isPreOrderSetting = configs?.preorder_status_enabled?.value === '1'
|
|
124
124
|
const timerId = useRef<any>(false)
|
|
125
125
|
// const panResponder = useRef(
|
|
126
126
|
// PanResponder.create({
|
|
@@ -266,25 +266,27 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
266
266
|
style={{ marginStart: 8 }}
|
|
267
267
|
/>
|
|
268
268
|
</WrapMomentOption>
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
269
|
+
{isPreOrderSetting && (
|
|
270
|
+
<WrapMomentOption
|
|
271
|
+
onPress={() => handleMomentClick()}>
|
|
272
|
+
<OText
|
|
273
|
+
size={12}
|
|
274
|
+
numberOfLines={1}
|
|
275
|
+
ellipsizeMode="tail"
|
|
276
|
+
color={theme.colors.textSecondary}>
|
|
277
|
+
{orderState.options?.momentß
|
|
278
|
+
? parseDate(orderState.options?.moment, { outputFormat: configs?.dates_moment_format?.value })
|
|
279
|
+
: t('ASAP_ABBREVIATION', 'ASAP')}
|
|
280
|
+
</OText>
|
|
281
|
+
{isPreorderEnabled && (
|
|
282
|
+
<OIcon
|
|
283
|
+
src={theme.images.general.arrow_down}
|
|
284
|
+
width={10}
|
|
285
|
+
style={{ marginStart: 8 }}
|
|
286
|
+
/>
|
|
287
|
+
)}
|
|
288
|
+
</WrapMomentOption>
|
|
289
|
+
)}
|
|
288
290
|
|
|
289
291
|
{!businessId && (
|
|
290
292
|
<SearchBar
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { View, StyleSheet, BackHandler, Platform, Linking } from 'react-native';
|
|
3
3
|
import LinearGradient from 'react-native-linear-gradient';
|
|
4
|
+
import { _setStoreData } from '../../providers/StoreUtil';
|
|
4
5
|
import {
|
|
5
6
|
useLanguage,
|
|
6
7
|
OrderDetails as OrderDetailsConTableoller,
|
|
7
8
|
useUtils,
|
|
9
|
+
useOrder,
|
|
8
10
|
useConfig
|
|
9
11
|
} from 'ordering-components/native';
|
|
10
12
|
import { useTheme } from 'styled-components/native';
|
|
@@ -87,9 +89,10 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
87
89
|
const [, t] = useLanguage();
|
|
88
90
|
const [{ parsePrice, parseNumber, parseDate }] = useUtils();
|
|
89
91
|
const [{ configs }] = useConfig();
|
|
92
|
+
const [{ carts }] = useOrder()
|
|
93
|
+
|
|
90
94
|
const [isReviewed, setIsReviewed] = useState(false)
|
|
91
95
|
const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, tax: null, type: '' })
|
|
92
|
-
|
|
93
96
|
const { order, businessData } = props.order;
|
|
94
97
|
|
|
95
98
|
const walletName: any = {
|
|
@@ -362,7 +365,12 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
362
365
|
|
|
363
366
|
useEffect(() => {
|
|
364
367
|
if (reorderState?.error) {
|
|
365
|
-
|
|
368
|
+
const _businessId = 'businessId:' + businessData?.id
|
|
369
|
+
const _uuid = carts[_businessId]?.uuid
|
|
370
|
+
if (_uuid) {
|
|
371
|
+
_setStoreData('remove-cartId', JSON.stringify(_uuid))
|
|
372
|
+
navigation.navigate('Business', { store: businessData?.slug })
|
|
373
|
+
}
|
|
366
374
|
}
|
|
367
375
|
if (!reorderState?.error && reorderState?.result?.uuid) {
|
|
368
376
|
onNavigationRedirect && onNavigationRedirect('CheckoutNavigator', { cartUuid: reorderState?.result.uuid })
|