ordering-ui-react-native 0.22.72 → 0.22.73-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.
- package/package.json +5 -7
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/providers/AlertProvider.tsx +3 -1
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +5 -3
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +44 -33
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/LanguageSelector/index.tsx +1 -1
- package/themes/business/src/components/LoginForm/index.tsx +123 -98
- package/themes/business/src/components/LogoutButton/index.tsx +13 -4
- package/themes/business/src/components/MapView/RenderMarker.tsx +146 -0
- package/themes/business/src/components/MapView/index.tsx +68 -142
- package/themes/business/src/components/NewOrderNotification/index.tsx +38 -54
- package/themes/business/src/components/OrderDetails/Business.tsx +56 -20
- package/themes/business/src/components/OrderDetails/Delivery.tsx +123 -54
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +146 -36
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +51 -28
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +271 -176
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +219 -144
- package/themes/business/src/components/OrdersOption/styles.tsx +14 -0
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +20 -8
- package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
- package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +143 -75
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +1 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +15 -16
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +48 -10
- package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/config/currency.tsx +1010 -0
- package/themes/business/src/hooks/useLocation.tsx +16 -12
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +28 -4
- package/themes/business/src/utils/index.tsx +28 -3
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +9 -5
- package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +121 -57
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +223 -219
- package/themes/original/src/components/AddressForm/index.tsx +922 -885
- package/themes/original/src/components/AppleLogin/index.tsx +3 -4
- package/themes/original/src/components/BusinessController/index.tsx +4 -2
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +8 -3
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +102 -90
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +7 -3
- package/themes/original/src/components/BusinessListingSearch/index.tsx +8 -13
- package/themes/original/src/components/BusinessPreorder/index.tsx +30 -17
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +72 -69
- package/themes/original/src/components/BusinessProductsList/index.tsx +4 -5
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +5 -4
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/Cart/index.tsx +43 -12
- package/themes/original/src/components/Checkout/index.tsx +126 -98
- package/themes/original/src/components/FloatingButton/index.tsx +1 -1
- package/themes/original/src/components/GPSButton/index.tsx +2 -1
- package/themes/original/src/components/GoogleMap/index.tsx +3 -2
- package/themes/original/src/components/Help/functions.tsx +76 -0
- package/themes/original/src/components/Help/index.tsx +74 -29
- package/themes/original/src/components/Help/styles.tsx +4 -1
- package/themes/original/src/components/HelpOptions/index.tsx +53 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +36 -11
- package/themes/original/src/components/LastOrder/index.tsx +1 -1
- package/themes/original/src/components/LoginForm/index.tsx +11 -5
- package/themes/original/src/components/MessageListing/index.tsx +1 -1
- package/themes/original/src/components/Messages/index.tsx +562 -555
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +141 -61
- package/themes/original/src/components/MomentOption/styles.tsx +1 -1
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCheckout/index.tsx +78 -33
- package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +2 -2
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +2 -2
- package/themes/original/src/components/NavBar/index.tsx +6 -2
- package/themes/original/src/components/NotFoundSource/index.tsx +40 -39
- package/themes/original/src/components/NotFoundSource/styles.tsx +18 -9
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +11 -4
- package/themes/original/src/components/OrderDetails/index.tsx +44 -20
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +5 -4
- package/themes/original/src/components/OrderSummary/index.tsx +32 -11
- package/themes/original/src/components/OrderTypeSelector/index.tsx +120 -120
- package/themes/original/src/components/OrdersOption/index.tsx +325 -325
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +1 -0
- package/themes/original/src/components/PaymentOptions/index.tsx +471 -459
- package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
- package/themes/original/src/components/ProductItemAccordion/index.tsx +28 -37
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +15 -14
- package/themes/original/src/components/ServiceForm/index.tsx +2 -2
- package/themes/original/src/components/SignupForm/index.tsx +40 -24
- package/themes/original/src/components/SingleOrderCard/index.tsx +8 -5
- package/themes/original/src/components/SingleProductCard/index.tsx +2 -1
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +9 -4
- package/themes/original/src/components/StripeElementsForm/index.tsx +2 -2
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +7 -2
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +109 -67
- package/themes/original/src/components/UserVerification/index.tsx +18 -5
- package/themes/original/src/components/VerifyPhone/index.tsx +1 -1
- package/themes/original/src/components/shared/OInput.tsx +97 -97
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/providers/AlertProvider.tsx +1 -1
- package/themes/original/src/types/index.tsx +700 -695
- package/themes/original/src/utils/index.tsx +50 -34
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +0 -62
- package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +0 -12
- package/themes/original/src/components/HelpGuide/index.tsx +0 -68
- package/themes/original/src/components/HelpGuide/styles.tsx +0 -12
- package/themes/original/src/components/HelpOrder/index.tsx +0 -71
- package/themes/original/src/components/HelpOrder/styles.tsx +0 -13
package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx
CHANGED
|
@@ -1,87 +1,90 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { useTheme } from 'styled-components/native'
|
|
3
2
|
import { StyleSheet } from 'react-native'
|
|
4
|
-
import { SubCategoriesContainer, ContainerButton } from './styles'
|
|
5
|
-
import { OButton } from '../../shared'
|
|
6
3
|
import { useLanguage } from 'ordering-components/native'
|
|
4
|
+
import FIcon from 'react-native-vector-icons/Feather'
|
|
5
|
+
import { SubCategoriesContainer, ContainerButton } from './styles'
|
|
6
|
+
import { OButton, OText } from '../../shared'
|
|
7
7
|
|
|
8
8
|
function SubcategoriesComponentPropsAreEqual(prev: any, next: any) {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
return prev.subcategoriesSelected === next.subcategoriesSelected &&
|
|
10
|
+
prev.category === next.category
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
interface SubcategoriesComponentParams {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
subcategoriesSelected?: any,
|
|
15
|
+
category?: any,
|
|
16
|
+
onClickSubcategory: any
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const SubcategoriesComponent = (props: SubcategoriesComponentParams) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const {
|
|
21
|
+
subcategoriesSelected,
|
|
22
|
+
category,
|
|
23
|
+
onClickSubcategory
|
|
24
|
+
} = props
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const allsubcategorySelected = !subcategoriesSelected?.some((subcategory: any) => category?.id === subcategory?.parent_category_id)
|
|
26
|
+
const [, t] = useLanguage()
|
|
27
|
+
const allsubcategorySelected = !subcategoriesSelected?.some((subcategory: any) => category?.id === subcategory?.parent_category_id)
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
marginLeft: 5,
|
|
43
|
-
marginRight: 5,
|
|
44
|
-
marginBottom: 10,
|
|
45
|
-
height: 35,
|
|
46
|
-
paddingLeft: 3,
|
|
47
|
-
paddingRight: 3,
|
|
48
|
-
}
|
|
49
|
-
});
|
|
29
|
+
const bpStyles = StyleSheet.create({
|
|
30
|
+
categoryButtonStyle: {
|
|
31
|
+
borderWidth: 0,
|
|
32
|
+
marginRight: 5,
|
|
33
|
+
borderRadius: 8,
|
|
34
|
+
marginBottom: 5,
|
|
35
|
+
height: 35,
|
|
36
|
+
padding: 0,
|
|
37
|
+
paddingLeft: 3,
|
|
38
|
+
paddingRight: 3,
|
|
39
|
+
}
|
|
40
|
+
});
|
|
50
41
|
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
43
|
+
return (
|
|
44
|
+
<SubCategoriesContainer>
|
|
45
|
+
<ContainerButton
|
|
46
|
+
isSelected={allsubcategorySelected}
|
|
47
|
+
>
|
|
48
|
+
<OButton
|
|
49
|
+
onClick={() => onClickSubcategory(null, category)}
|
|
50
|
+
text={
|
|
51
|
+
allsubcategorySelected
|
|
52
|
+
? <OText color='#FFF'>
|
|
53
|
+
{t('ALL', 'All')}{' '}
|
|
54
|
+
<FIcon name='x-circle' size={16} />
|
|
55
|
+
</OText>
|
|
56
|
+
: t('ALL', 'All')
|
|
57
|
+
}
|
|
58
|
+
style={bpStyles.categoryButtonStyle}
|
|
59
|
+
textStyle={{ fontSize: 12 }}
|
|
60
|
+
/>
|
|
61
|
+
</ContainerButton>
|
|
62
|
+
{category?.subcategories?.map((subcategory: any) => {
|
|
63
|
+
const isSubcategorySelected = subcategoriesSelected?.find((_subcategory: any) => _subcategory?.id === subcategory?.id)
|
|
64
|
+
return (
|
|
65
|
+
<ContainerButton
|
|
66
|
+
key={subcategory?.id}
|
|
67
|
+
isSelected={isSubcategorySelected}
|
|
68
|
+
>
|
|
69
|
+
<OButton
|
|
70
|
+
onClick={() => onClickSubcategory(subcategory, category)}
|
|
71
|
+
text={
|
|
72
|
+
isSubcategorySelected
|
|
73
|
+
? <OText color='#FFF'>
|
|
74
|
+
{subcategory?.name}{' '}
|
|
75
|
+
<FIcon name='x-circle' size={16} />
|
|
76
|
+
</OText>
|
|
77
|
+
: subcategory?.name
|
|
78
|
+
}
|
|
79
|
+
style={bpStyles.categoryButtonStyle}
|
|
80
|
+
textStyle={{ fontSize: 12 }}
|
|
81
|
+
/>
|
|
82
|
+
</ContainerButton>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
)}
|
|
86
|
+
</SubCategoriesContainer>
|
|
87
|
+
)
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
export const SubcategoriesComponentMemoized = React.memo(SubcategoriesComponent, SubcategoriesComponentPropsAreEqual)
|
|
@@ -65,11 +65,10 @@ const BusinessProductsListUI = (props: BusinessProductsListParams) => {
|
|
|
65
65
|
return
|
|
66
66
|
}
|
|
67
67
|
const categoryFounded = subcategoriesSelected.find((_subcategory: any) => subCategory?.id === _subcategory?.id)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
68
|
+
setSubcategoriesSelected?.(categoryFounded
|
|
69
|
+
? subcategoriesSelected.filter((_subcategory: any) => subCategory?.id !== _subcategory?.id)
|
|
70
|
+
: [...subcategoriesSelected, subCategory]
|
|
71
|
+
)
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
return (
|
|
@@ -18,15 +18,12 @@ export const RibbonBox = styled.View`
|
|
|
18
18
|
background-color: ${(props: any) => props.theme.colors.primary};
|
|
19
19
|
padding: 2px 8px;
|
|
20
20
|
max-width: 180px;
|
|
21
|
-
|
|
22
21
|
${(props: any) => props.bgColor && css`
|
|
23
22
|
background-color: ${props.bgColor};
|
|
24
23
|
`}
|
|
25
|
-
|
|
26
24
|
${(props: any) => props.isRoundRect && css`
|
|
27
25
|
border-radius: 7.6px;
|
|
28
26
|
`}
|
|
29
|
-
|
|
30
27
|
${(props: any) => props.isCapsule && css`
|
|
31
28
|
border-radius: 50px;
|
|
32
29
|
`}
|
|
@@ -225,8 +225,9 @@ const BusinessProductsListingUI = (props: BusinessProductsListingParams) => {
|
|
|
225
225
|
cartUuid: cart?.uuid,
|
|
226
226
|
businessLogo: cart?.business?.logo,
|
|
227
227
|
businessName: cart?.business?.name,
|
|
228
|
-
cartTotal: cart?.total
|
|
229
|
-
|
|
228
|
+
cartTotal: cart?.total,
|
|
229
|
+
fromProductsList: true
|
|
230
|
+
})
|
|
230
231
|
} else {
|
|
231
232
|
const groupKeys: any = {}
|
|
232
233
|
cartsAvailable.forEach((_cart: any) => {
|
|
@@ -242,12 +243,12 @@ const BusinessProductsListingUI = (props: BusinessProductsListingParams) => {
|
|
|
242
243
|
props.onNavigationRedirect('CheckoutNavigator', {
|
|
243
244
|
screen: 'MultiCheckout',
|
|
244
245
|
checkCarts: true
|
|
245
|
-
}
|
|
246
|
+
})
|
|
246
247
|
} else {
|
|
247
248
|
props.onNavigationRedirect('CheckoutNavigator', {
|
|
248
249
|
screen: 'MultiCheckout',
|
|
249
250
|
cartUuid: cartsAvailable[0]?.group?.uuid
|
|
250
|
-
}
|
|
251
|
+
})
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
}
|
|
@@ -60,7 +60,7 @@ export const WrapMomentOption = styled.TouchableOpacity`
|
|
|
60
60
|
|
|
61
61
|
export const HeaderWrapper = styled.ImageBackground`
|
|
62
62
|
width: 100%;
|
|
63
|
-
height: ${({ bgHeaderHeight }
|
|
63
|
+
height: ${({ bgHeaderHeight }: any) => bgHeaderHeight || '270px'};
|
|
64
64
|
padding: 20px;
|
|
65
65
|
background-color: transparent;
|
|
66
66
|
`;
|
|
@@ -73,6 +73,7 @@ const CartUI = (props: any) => {
|
|
|
73
73
|
const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null, type: '' })
|
|
74
74
|
const [openPlaceModal, setOpenPlaceModal] = useState(false)
|
|
75
75
|
const [maxDate, setMaxDate] = useState<any>(null)
|
|
76
|
+
const [comment] = useState<any>(cart?.comment ?? '')
|
|
76
77
|
const isCartPending = cart?.status === 2
|
|
77
78
|
const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled
|
|
78
79
|
const business: any = (orderState?.carts && Object.values(orderState.carts).find((_cart: any) => _cart?.uuid === props.cartuuid)) ?? {}
|
|
@@ -83,6 +84,7 @@ const CartUI = (props: any) => {
|
|
|
83
84
|
const driverTipsOptions = typeof configs?.driver_tip_options?.value === 'string'
|
|
84
85
|
? JSON.parse(configs?.driver_tip_options?.value) || []
|
|
85
86
|
: configs?.driver_tip_options?.value || []
|
|
87
|
+
const allowDriverTipPickup = configs?.driver_tip_allowed_at_pickup?.value === '1' && orderState?.options?.type === 2
|
|
86
88
|
|
|
87
89
|
const momentFormatted = !orderState?.option?.moment
|
|
88
90
|
? t('RIGHT_NOW', 'Right Now')
|
|
@@ -114,6 +116,7 @@ const CartUI = (props: any) => {
|
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
const handleUpsellingPage = (individualCart: any) => {
|
|
119
|
+
Vibration.vibrate(100)
|
|
117
120
|
const isProductCartParam = !!individualCart?.products?.length
|
|
118
121
|
setOpenUpselling(false)
|
|
119
122
|
setCanOpenUpselling(false)
|
|
@@ -128,8 +131,9 @@ const CartUI = (props: any) => {
|
|
|
128
131
|
cartUuid: cart?.uuid,
|
|
129
132
|
businessLogo: cart?.business?.logo,
|
|
130
133
|
businessName: cart?.business?.name,
|
|
131
|
-
cartTotal: cart?.total
|
|
132
|
-
|
|
134
|
+
cartTotal: cart?.total,
|
|
135
|
+
fromProductsList: isFromUpselling
|
|
136
|
+
})
|
|
133
137
|
} else {
|
|
134
138
|
const groupKeys: any = {}
|
|
135
139
|
cartsAvailable.forEach((_cart: any) => {
|
|
@@ -145,28 +149,30 @@ const CartUI = (props: any) => {
|
|
|
145
149
|
onNavigationRedirect('CheckoutNavigator', {
|
|
146
150
|
screen: 'MultiCheckout',
|
|
147
151
|
checkCarts: true
|
|
148
|
-
}
|
|
152
|
+
})
|
|
149
153
|
} else {
|
|
150
154
|
onNavigationRedirect('CheckoutNavigator', {
|
|
151
155
|
screen: 'MultiCheckout',
|
|
152
156
|
cartUuid: cartsAvailable[0]?.group?.uuid
|
|
153
|
-
}
|
|
157
|
+
})
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
161
|
|
|
158
|
-
const getIncludedTaxes = () => {
|
|
162
|
+
const getIncludedTaxes = (isDeliveryFee?: boolean) => {
|
|
159
163
|
if (cart?.taxes === null || !cart?.taxes) {
|
|
160
|
-
return cart
|
|
164
|
+
return cart?.business.tax_type === 1 ? cart?.tax : 0
|
|
161
165
|
} else {
|
|
162
166
|
return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
163
|
-
return taxIncluded +
|
|
167
|
+
return taxIncluded +
|
|
168
|
+
(((!isDeliveryFee && tax.type === 1 && tax.target === 'product') ||
|
|
169
|
+
(isDeliveryFee && tax.type === 1 && tax.target === 'delivery_fee')) ? tax.summary?.tax : 0)
|
|
164
170
|
}, 0)
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
173
|
|
|
168
174
|
const getIncludedTaxesDiscounts = () => {
|
|
169
|
-
return cart?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
175
|
+
return cart?.taxes?.filter((tax: any) => (tax?.type === 1 && tax?.target === 'product'))?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
170
176
|
}
|
|
171
177
|
|
|
172
178
|
const OfferAlert = ({ offerId }: any) => {
|
|
@@ -328,7 +334,7 @@ const CartUI = (props: any) => {
|
|
|
328
334
|
</OSTable>
|
|
329
335
|
)}
|
|
330
336
|
{
|
|
331
|
-
cart.taxes?.length > 0 && cart.taxes.filter((tax: any) => tax.type === 2 && tax?.rate !== 0).map((tax: any, i: number) => (
|
|
337
|
+
cart.taxes?.length > 0 && cart.taxes.filter((tax: any) => tax.type === 2 && tax?.rate !== 0 && tax?.target === 'product').map((tax: any, i: number) => (
|
|
332
338
|
<OSTable key={`${tax.id}_${i}`}>
|
|
333
339
|
<OSRow>
|
|
334
340
|
<OText size={12} lineHeight={18} numberOfLines={1} >
|
|
@@ -383,9 +389,25 @@ const CartUI = (props: any) => {
|
|
|
383
389
|
{orderState?.options?.type === 1 && cart?.delivery_price_with_discount > 0 && !hideDeliveryFee && (
|
|
384
390
|
<OSTable>
|
|
385
391
|
<OText size={12} lineHeight={18}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
|
|
386
|
-
<OText size={12} lineHeight={18}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
|
|
392
|
+
<OText size={12} lineHeight={18}>{parsePrice(cart?.delivery_price_with_discount + getIncludedTaxes(true))}</OText>
|
|
387
393
|
</OSTable>
|
|
388
394
|
)}
|
|
395
|
+
{
|
|
396
|
+
cart?.taxes?.length > 0 && cart?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'delivery_fee').map((tax: any, i: number) => (
|
|
397
|
+
<OSTable key={`${tax.description}_${i}`}>
|
|
398
|
+
<OSRow>
|
|
399
|
+
<OText size={12} lineHeight={18} numberOfLines={1}>
|
|
400
|
+
{tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
401
|
+
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}
|
|
402
|
+
</OText>
|
|
403
|
+
<TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: tax, type: 'tax' })}>
|
|
404
|
+
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
405
|
+
</TouchableOpacity>
|
|
406
|
+
</OSRow>
|
|
407
|
+
<OText size={12} lineHeight={18}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
|
|
408
|
+
</OSTable>
|
|
409
|
+
))
|
|
410
|
+
}
|
|
389
411
|
{
|
|
390
412
|
cart?.offers?.length > 0 && cart?.offers?.filter((offer: any) => offer?.target === 2)?.map((offer: any, i: number) => (
|
|
391
413
|
<OSTable key={`${offer.id}_${i}`}>
|
|
@@ -444,7 +466,7 @@ const CartUI = (props: any) => {
|
|
|
444
466
|
{!isMultiCheckout &&
|
|
445
467
|
cart &&
|
|
446
468
|
cart?.valid &&
|
|
447
|
-
orderState?.options?.type === 1 &&
|
|
469
|
+
(orderState?.options?.type === 1 || allowDriverTipPickup) &&
|
|
448
470
|
cart?.status !== 2 &&
|
|
449
471
|
validationFields?.fields?.checkout?.driver_tip?.enabled &&
|
|
450
472
|
driverTipsOptions && driverTipsOptions?.length > 0 &&
|
|
@@ -503,7 +525,7 @@ const CartUI = (props: any) => {
|
|
|
503
525
|
<OText size={16} lineHeight={18}>{t('COMMENTS', 'Comments')}</OText>
|
|
504
526
|
<View style={{ flex: 1, width: '100%' }}>
|
|
505
527
|
<OInput
|
|
506
|
-
value={cart?.comment}
|
|
528
|
+
value={comment || cart?.comment}
|
|
507
529
|
placeholder={t('SPECIAL_COMMENTS', 'Special Comments')}
|
|
508
530
|
onChange={(value: string) => handleChangeComment(value)}
|
|
509
531
|
style={{
|
|
@@ -548,6 +570,14 @@ const CartUI = (props: any) => {
|
|
|
548
570
|
/>
|
|
549
571
|
</View>
|
|
550
572
|
)}
|
|
573
|
+
{!cart?.valid_address && cart?.status !== 2 && (
|
|
574
|
+
<OText
|
|
575
|
+
color={theme.colors.error}
|
|
576
|
+
size={12}
|
|
577
|
+
>
|
|
578
|
+
{t('INVALID_CART_ADDRESS', 'Selected address is invalid, please select a closer address.')}
|
|
579
|
+
</OText>
|
|
580
|
+
)}
|
|
551
581
|
{(!isMultiCheckout || !cart?.business_id) && (
|
|
552
582
|
<>
|
|
553
583
|
{cart?.valid_products ? (
|
|
@@ -621,6 +651,7 @@ const CartUI = (props: any) => {
|
|
|
621
651
|
export const Cart = (props: any) => {
|
|
622
652
|
const cartProps = {
|
|
623
653
|
...props,
|
|
654
|
+
disablePreviousComment: true,
|
|
624
655
|
UIComponent: CartUI
|
|
625
656
|
}
|
|
626
657
|
|