ordering-ui-react-native 0.21.86 → 0.21.87-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 +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/StripeMethodForm/index.tsx +6 -4
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/types/index.tsx +3 -1
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- 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 +2 -1
- package/themes/business/src/components/Chat/index.tsx +5 -2
- package/themes/business/src/components/DriverMap/index.tsx +49 -27
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/Home/index.tsx +5 -1
- package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
- package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +36 -17
- package/themes/business/src/components/NewOrderNotification/index.tsx +69 -33
- package/themes/business/src/components/OrderDetails/Business.tsx +74 -9
- package/themes/business/src/components/OrderDetails/Delivery.tsx +131 -51
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +112 -41
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +55 -24
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +221 -0
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +223 -73
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +251 -159
- package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +42 -20
- package/themes/business/src/components/PreviousOrders/index.tsx +76 -66
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +267 -0
- package/themes/business/src/components/PrinterSettings/styles.tsx +30 -0
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/Sessions/index.tsx +1 -1
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
- package/themes/business/src/components/UserProfileForm/index.tsx +56 -35
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OInput.tsx +2 -0
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/hooks/useLocation.tsx +5 -4
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +14 -4
- package/themes/business/src/utils/index.tsx +25 -1
- 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 +6 -0
- 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/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +13 -1
- package/themes/original/src/components/AddressDetails/index.tsx +20 -10
- package/themes/original/src/components/AddressForm/index.tsx +32 -17
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessController/index.tsx +12 -7
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +20 -15
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +5 -5
- package/themes/original/src/components/BusinessProductsList/index.tsx +2 -2
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +18 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +43 -15
- package/themes/original/src/components/CartContent/index.tsx +21 -8
- package/themes/original/src/components/Checkout/index.tsx +109 -60
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
- package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
- package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +82 -0
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +2 -10
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +4 -7
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +13 -9
- package/themes/original/src/components/MomentOption/index.tsx +13 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
- package/themes/original/src/components/MultiCheckout/index.tsx +139 -87
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +2 -1
- package/themes/original/src/components/MyOrders/index.tsx +21 -26
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +13 -10
- package/themes/original/src/components/OrderDetails/index.tsx +42 -19
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +26 -6
- package/themes/original/src/components/OrderSummary/index.tsx +28 -9
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- package/themes/original/src/components/OrdersOption/index.tsx +4 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +17 -9
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +55 -49
- package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +86 -78
- package/themes/original/src/components/SingleOrderCard/index.tsx +7 -5
- package/themes/original/src/components/SingleProductCard/index.tsx +3 -4
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +10 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +77 -60
- package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +3 -2
- package/themes/original/src/components/UserFormDetails/index.tsx +154 -130
- package/themes/original/src/components/UserProfile/index.tsx +11 -2
- package/themes/original/src/components/Wallets/index.tsx +6 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +169 -0
- package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +5 -1
- package/themes/original/src/utils/index.tsx +30 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -10,8 +10,6 @@ import {
|
|
|
10
10
|
|
|
11
11
|
import * as React from 'react';
|
|
12
12
|
import styled from 'styled-components/native';
|
|
13
|
-
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
14
|
-
import { Icon, IconProps } from 'react-native-vector-icons/Icon';
|
|
15
13
|
|
|
16
14
|
const StyledButton = styled.View<Props>`
|
|
17
15
|
background-color: ${(props: any) => props.theme.colors.primary};
|
|
@@ -79,19 +77,17 @@ interface Props {
|
|
|
79
77
|
isCircle?: boolean;
|
|
80
78
|
bgColor?: string;
|
|
81
79
|
borderColor?: string;
|
|
82
|
-
iconProps?: IconProps;
|
|
83
|
-
IconCustom?: React.FunctionComponent
|
|
84
80
|
}
|
|
85
81
|
|
|
86
82
|
const OButton = (props: Props): React.ReactElement => {
|
|
87
83
|
if (props.isDisabled) {
|
|
88
84
|
return (
|
|
89
85
|
<View style={props.parentStyle}>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
<StyledButtonDisabled style={props.style}>
|
|
87
|
+
<StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
|
|
88
|
+
{props.text}
|
|
89
|
+
</StyledTextDisabled>
|
|
90
|
+
</StyledButtonDisabled>
|
|
95
91
|
</View>
|
|
96
92
|
);
|
|
97
93
|
}
|
|
@@ -115,15 +111,6 @@ const OButton = (props: Props): React.ReactElement => {
|
|
|
115
111
|
{props.imgLeftSrc ? (
|
|
116
112
|
<StyledImage style={props.imgLeftStyle} source={props.imgLeftSrc} />
|
|
117
113
|
) : null}
|
|
118
|
-
{props.iconProps ? (
|
|
119
|
-
<>
|
|
120
|
-
{props?.IconCustom ? (
|
|
121
|
-
<props.IconCustom {...props.iconProps} />
|
|
122
|
-
) : (
|
|
123
|
-
<AntDesignIcon {...props.iconProps} />
|
|
124
|
-
)}
|
|
125
|
-
</>
|
|
126
|
-
) : null}
|
|
127
114
|
{props.text ? (
|
|
128
115
|
<StyledText style={props.textStyle}>{props.text}</StyledText>
|
|
129
116
|
) : null}
|
|
@@ -19,6 +19,7 @@ import { Favorite } from './src/components/Favorite';
|
|
|
19
19
|
import { FavoriteList } from './src/components/FavoriteList';
|
|
20
20
|
import { FloatingButton } from './src/components/FloatingButton';
|
|
21
21
|
import { ForgotPasswordForm } from './src/components/ForgotPasswordForm';
|
|
22
|
+
import { GPSButton } from './src/components/GPSButton';
|
|
22
23
|
import { MomentOption } from './src/components/MomentOption';
|
|
23
24
|
import { OrdersOption } from './src/components/OrdersOption';
|
|
24
25
|
import { OrderDetails } from './src/components/OrderDetails';
|
|
@@ -85,6 +86,7 @@ import { VerifyPhone } from './src/components/VerifyPhone';
|
|
|
85
86
|
import { GoogleLogin } from './src/components/GoogleLogin';
|
|
86
87
|
import { PreviousOrders } from './src/components/PreviousOrders';
|
|
87
88
|
import { PaymentOptionCash } from './src/components/PaymentOptionCash';
|
|
89
|
+
import { SendGiftCard } from './src/components/GiftCard/SendGiftCard';
|
|
88
90
|
import { StripeElementsForm } from './src/components/StripeElementsForm';
|
|
89
91
|
import { StripeCardsList } from './src/components/StripeCardsList';
|
|
90
92
|
import { ProductIngredient } from './src/components/ProductIngredient';
|
|
@@ -100,12 +102,14 @@ import { PageBanner } from './src/components/PageBanner'
|
|
|
100
102
|
import { MultiCart } from './src/components/MultiCart'
|
|
101
103
|
import { USER_TYPE, ORDER_TYPES } from './src/config/constants'
|
|
102
104
|
import { DatePickerUI } from './src/components/DatePicker'
|
|
103
|
-
|
|
105
|
+
import { WebsocketStatus } from './src/components/WebsocketStatus';
|
|
104
106
|
import { OSBill, OSTable, OSCoupon, OSTotal, OSRow } from './src/components/OrderSummary/styles';
|
|
105
107
|
|
|
106
108
|
import { FormInput, FormSide, ButtonsWrapper, LoginWith, OTab, OTabs } from './src/components/LoginForm/styles';
|
|
107
109
|
import { OSItem, OSItemContent, OSItemActions } from './src/components/PaymentOptionStripe/styles';
|
|
108
110
|
|
|
111
|
+
import { orderTypeList, getTraduction, verifyDecimals, getOrderStatus, getOrderStatuPickUp } from './src/utils'
|
|
112
|
+
|
|
109
113
|
import Alert from './src/providers/AlertProvider'
|
|
110
114
|
|
|
111
115
|
import {
|
|
@@ -182,6 +186,7 @@ export {
|
|
|
182
186
|
Checkout,
|
|
183
187
|
Favorite,
|
|
184
188
|
FavoriteList,
|
|
189
|
+
GPSButton,
|
|
185
190
|
ForgotPasswordForm,
|
|
186
191
|
MomentOption,
|
|
187
192
|
OrdersOption,
|
|
@@ -256,6 +261,7 @@ export {
|
|
|
256
261
|
ProductIngredient,
|
|
257
262
|
ProductOption,
|
|
258
263
|
ProductOptionSubOption,
|
|
264
|
+
SendGiftCard,
|
|
259
265
|
Sessions,
|
|
260
266
|
SingleProductReview,
|
|
261
267
|
LogoutButton,
|
|
@@ -265,6 +271,7 @@ export {
|
|
|
265
271
|
PageBanner,
|
|
266
272
|
MyOrders,
|
|
267
273
|
MultiCart,
|
|
274
|
+
WebsocketStatus,
|
|
268
275
|
ORDER_TYPES,
|
|
269
276
|
USER_TYPE,
|
|
270
277
|
|
|
@@ -342,6 +349,11 @@ export {
|
|
|
342
349
|
_setStoreData,
|
|
343
350
|
_removeStoreData,
|
|
344
351
|
_clearStoreData,
|
|
352
|
+
orderTypeList,
|
|
353
|
+
getTraduction,
|
|
354
|
+
verifyDecimals,
|
|
355
|
+
getOrderStatus,
|
|
356
|
+
getOrderStatuPickUp,
|
|
345
357
|
|
|
346
358
|
// Date Picker
|
|
347
359
|
DatePickerUI
|
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import FastImage from 'react-native-fast-image'
|
|
3
|
-
import { StyleSheet, TouchableOpacity,
|
|
3
|
+
import { StyleSheet, TouchableOpacity, useWindowDimensions } from 'react-native';
|
|
4
4
|
import {
|
|
5
5
|
AddressDetails as AddressDetailsController,
|
|
6
6
|
useOrder,
|
|
7
7
|
useLanguage,
|
|
8
8
|
} from 'ordering-components/native';
|
|
9
|
+
import { useTheme } from 'styled-components/native';
|
|
9
10
|
|
|
10
11
|
import { ADContainer, ADHeader, ADAddress, ADMap } from './styles';
|
|
11
|
-
|
|
12
|
-
import {
|
|
13
|
-
import { OText, OIcon } from '../shared';
|
|
14
|
-
import { useWindowDimensions } from 'react-native';
|
|
12
|
+
import { OText } from '../shared';
|
|
13
|
+
import { getTypesText } from '../../utils';
|
|
15
14
|
|
|
16
15
|
const AddressDetailsUI = (props: any) => {
|
|
17
|
-
const {
|
|
18
|
-
|
|
16
|
+
const {
|
|
17
|
+
navigation,
|
|
18
|
+
addressToShow,
|
|
19
|
+
isCartPending,
|
|
20
|
+
googleMapsUrl,
|
|
21
|
+
apiKey
|
|
22
|
+
} = props;
|
|
19
23
|
|
|
20
24
|
const theme = useTheme();
|
|
21
25
|
const [orderState] = useOrder();
|
|
26
|
+
const [{ options }] = useOrder();
|
|
22
27
|
const [, t] = useLanguage();
|
|
23
28
|
const { width } = useWindowDimensions();
|
|
24
29
|
|
|
30
|
+
const orderTypeText = {
|
|
31
|
+
key: getTypesText(options?.type || 1),
|
|
32
|
+
value: t(getTypesText(options?.type || 1), 'Delivery')
|
|
33
|
+
}
|
|
34
|
+
|
|
25
35
|
const styles = StyleSheet.create({
|
|
26
36
|
productStyle: {
|
|
27
|
-
width
|
|
37
|
+
width,
|
|
28
38
|
height: 151,
|
|
29
39
|
marginVertical: 10
|
|
30
40
|
}
|
|
@@ -39,13 +49,13 @@ const AddressDetailsUI = (props: any) => {
|
|
|
39
49
|
lineHeight={24}
|
|
40
50
|
color={theme.colors.textNormal}
|
|
41
51
|
>
|
|
42
|
-
{t(
|
|
52
|
+
{t(`${orderTypeText.key}_ADDRESS`, `${orderTypeText.value} address`)}
|
|
43
53
|
</OText>
|
|
44
54
|
)}
|
|
45
55
|
</ADHeader>
|
|
46
56
|
{!!apiKey && googleMapsUrl && (
|
|
47
57
|
<ADMap
|
|
48
|
-
style={{
|
|
58
|
+
style={{ width, flex: 1, marginStart: -20, marginEnd: -20, }}>
|
|
49
59
|
<FastImage
|
|
50
60
|
style={styles.productStyle}
|
|
51
61
|
source={{
|
|
@@ -66,7 +66,9 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
66
66
|
isFromProductsList,
|
|
67
67
|
hasAddressDefault,
|
|
68
68
|
afterSignup,
|
|
69
|
-
businessSlug
|
|
69
|
+
businessSlug,
|
|
70
|
+
isFromCheckout,
|
|
71
|
+
onNavigationRedirect
|
|
70
72
|
} = props;
|
|
71
73
|
|
|
72
74
|
const theme = useTheme();
|
|
@@ -132,6 +134,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
132
134
|
const [configState] = useConfig();
|
|
133
135
|
const [orderState] = useOrder();
|
|
134
136
|
const { handleSubmit, errors, control, setValue } = useForm();
|
|
137
|
+
const [autoCompleteAddress, setAutoCompleteAddress] = useState(false)
|
|
135
138
|
|
|
136
139
|
const [toggleMap, setToggleMap] = useState(false);
|
|
137
140
|
const [alertState, setAlertState] = useState<{
|
|
@@ -172,6 +175,8 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
172
175
|
const isHideMap = theme?.address?.components?.map?.hidden
|
|
173
176
|
const isHideIcons = theme?.address?.components?.icons?.hidden
|
|
174
177
|
const continueAsGuest = () => navigation.navigate(!!businessSlug ? 'Business' : 'BusinessList', { isGuestUser: true });
|
|
178
|
+
const unaddressedTypes = configState?.configs?.unaddressed_order_types_allowed?.value.split('|').map((value: any) => Number(value)) || []
|
|
179
|
+
const isAllowUnaddressOrderType = unaddressedTypes.includes(orderState?.options?.type)
|
|
175
180
|
const goToBack = () => navigation?.canGoBack() && navigation.goBack();
|
|
176
181
|
|
|
177
182
|
const getAddressFormatted = (address: any) => {
|
|
@@ -351,9 +356,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
351
356
|
map_data: { library: 'google', place_id: data.place_id },
|
|
352
357
|
zip_code: data?.zip_code || null,
|
|
353
358
|
};
|
|
354
|
-
if (googleInput?.current) {
|
|
355
|
-
googleInput?.current?.setAddressText(addressSelected.address);
|
|
356
|
-
}
|
|
357
359
|
updateChanges(addressSelected);
|
|
358
360
|
};
|
|
359
361
|
|
|
@@ -371,6 +373,10 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
371
373
|
setToggleMap(!toggleMap);
|
|
372
374
|
};
|
|
373
375
|
|
|
376
|
+
const showFieldWithTheme = (name) => {
|
|
377
|
+
return !theme?.address?.components?.[name]?.hidden
|
|
378
|
+
}
|
|
379
|
+
|
|
374
380
|
useEffect(() => {
|
|
375
381
|
if (
|
|
376
382
|
orderState.loading &&
|
|
@@ -379,9 +385,11 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
379
385
|
auth &&
|
|
380
386
|
!afterSignup
|
|
381
387
|
) {
|
|
382
|
-
|
|
383
|
-
? navigation.
|
|
384
|
-
:
|
|
388
|
+
isFromCheckout
|
|
389
|
+
? navigation.goBack()
|
|
390
|
+
: !isFromProductsList
|
|
391
|
+
? navigation.navigate('BottomTab')
|
|
392
|
+
: navigation.navigate('Business');
|
|
385
393
|
}
|
|
386
394
|
}, [orderState?.options?.address]);
|
|
387
395
|
|
|
@@ -520,6 +528,12 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
520
528
|
setIsSignUpEffect(true);
|
|
521
529
|
}, [orderState.loading]);
|
|
522
530
|
|
|
531
|
+
useEffect(() => {
|
|
532
|
+
if (isAllowUnaddressOrderType) {
|
|
533
|
+
onNavigationRedirect && onNavigationRedirect(!!businessSlug ? 'Business' : 'BusinessList')
|
|
534
|
+
}
|
|
535
|
+
}, [isAllowUnaddressOrderType])
|
|
536
|
+
|
|
523
537
|
return (
|
|
524
538
|
<ScrollView
|
|
525
539
|
keyboardShouldPersistTaps='always'
|
|
@@ -565,6 +579,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
565
579
|
placeholder={t('ADD_ADDRESS', 'Add a address')}
|
|
566
580
|
onPress={(data, details: any) => {
|
|
567
581
|
handleChangeAddress(data, details);
|
|
582
|
+
setAutoCompleteAddress(true);
|
|
568
583
|
}}
|
|
569
584
|
query={{
|
|
570
585
|
key: googleMapsApiKey,
|
|
@@ -579,6 +594,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
579
594
|
target: { name: 'address', value: text },
|
|
580
595
|
});
|
|
581
596
|
setValue('address', text);
|
|
597
|
+
setAutoCompleteAddress(true)
|
|
582
598
|
}
|
|
583
599
|
setIsFirstTime(false);
|
|
584
600
|
setAddressEditing(text.length == 0);
|
|
@@ -666,13 +682,15 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
666
682
|
setSaveLocation={setSaveMapLocation}
|
|
667
683
|
handleToggleMap={handleToggleMap}
|
|
668
684
|
isIntGeoCoder
|
|
685
|
+
setAutoCompleteAddress={setAutoCompleteAddress}
|
|
686
|
+
autoCompleteAddress={autoCompleteAddress}
|
|
669
687
|
/>
|
|
670
688
|
</GoogleMapContainer>
|
|
671
689
|
</View>
|
|
672
690
|
)}
|
|
673
691
|
|
|
674
692
|
<View style={{ flexDirection: 'row', flexBasis: '50%' }}>
|
|
675
|
-
{
|
|
693
|
+
{((isRequiredField && isRequiredField('internal_number')) || showFieldWithTheme('internal_number')) && (
|
|
676
694
|
<Controller
|
|
677
695
|
control={control}
|
|
678
696
|
name="internal_number"
|
|
@@ -708,7 +726,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
708
726
|
isFocusHighlight
|
|
709
727
|
style={{
|
|
710
728
|
...styles.inputsStyle,
|
|
711
|
-
marginRight: showField('internal_number') && showField('zipcode') ? 24 : 0
|
|
729
|
+
marginRight: showField?.('internal_number') && showField?.('zipcode') ? 24 : 0
|
|
712
730
|
}}
|
|
713
731
|
forwardRef={internalNumberRef}
|
|
714
732
|
returnKeyType="next"
|
|
@@ -719,7 +737,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
719
737
|
/>
|
|
720
738
|
)}
|
|
721
739
|
|
|
722
|
-
{
|
|
740
|
+
{((isRequiredField && isRequiredField('zipcode')) || showFieldWithTheme('zipcode')) && (
|
|
723
741
|
<Controller
|
|
724
742
|
control={control}
|
|
725
743
|
name="zipcode"
|
|
@@ -764,7 +782,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
764
782
|
)}
|
|
765
783
|
</View>
|
|
766
784
|
|
|
767
|
-
{
|
|
785
|
+
{((isRequiredField && isRequiredField('address_notes')) || showFieldWithTheme('address_notes')) && (
|
|
768
786
|
<Controller
|
|
769
787
|
control={control}
|
|
770
788
|
name="address_notes"
|
|
@@ -845,9 +863,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
845
863
|
: t('LOADING', 'Loading')
|
|
846
864
|
}
|
|
847
865
|
onClick={handleSubmit(onSubmit)}
|
|
848
|
-
bgColor={theme.colors.primary}
|
|
849
|
-
borderColor={theme.colors.primary}
|
|
850
|
-
textStyle={{ color: theme.colors.white }}
|
|
851
866
|
isDisabled={formState.loading}
|
|
852
867
|
style={{ borderRadius: 7.6, shadowOpacity: 0 }}
|
|
853
868
|
showNextIcon
|
|
@@ -855,8 +870,9 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
855
870
|
) : (
|
|
856
871
|
<OButton
|
|
857
872
|
text={t('CANCEL', 'Cancel')}
|
|
858
|
-
bgColor={theme.colors.
|
|
859
|
-
borderColor={theme.colors.
|
|
873
|
+
bgColor={theme.colors.secundary}
|
|
874
|
+
borderColor={theme.colors.secundary}
|
|
875
|
+
textStyle={{ color: theme.colors.textNormal }}
|
|
860
876
|
style={{ borderRadius: 7.6, borderWidth: 1, shadowOpacity: 0 }}
|
|
861
877
|
onClick={() => navigation?.canGoBack() && navigation.goBack()}
|
|
862
878
|
/>
|
|
@@ -882,7 +898,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
882
898
|
)}
|
|
883
899
|
<OButton
|
|
884
900
|
text={t('SAVE', 'Save')}
|
|
885
|
-
textStyle={{ color: theme.colors.white }}
|
|
886
901
|
imgRightSrc={null}
|
|
887
902
|
style={{ marginHorizontal: 30, marginBottom: 10 }}
|
|
888
903
|
onClick={() => setSaveMapLocation(true)}
|
|
@@ -217,7 +217,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
217
217
|
onSaveAddress: handleSaveAddress,
|
|
218
218
|
isSelectedAfterAdd: true,
|
|
219
219
|
isFromProductsList: isFromProductsList,
|
|
220
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
220
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
221
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
221
222
|
}
|
|
222
223
|
) : onNavigationRedirect(
|
|
223
224
|
'AddressFormInitial',
|
|
@@ -228,7 +229,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
228
229
|
onSaveAddress: handleSaveAddress,
|
|
229
230
|
isSelectedAfterAdd: true,
|
|
230
231
|
isFromProductsList: isFromProductsList,
|
|
231
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
232
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
233
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
232
234
|
})}
|
|
233
235
|
>
|
|
234
236
|
<OIcon src={theme.images.general.pencil} width={16} style={{ marginHorizontal: 4 }} />
|
|
@@ -293,10 +295,7 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
293
295
|
<OButton
|
|
294
296
|
text={t('ADD_NEW_ADDRESS', 'Add new Address')}
|
|
295
297
|
imgRightSrc=''
|
|
296
|
-
bgColor={theme.colors.primary}
|
|
297
|
-
textStyle={{ color: theme.colors.white }}
|
|
298
298
|
style={styles.button}
|
|
299
|
-
borderColor={theme.colors.primary}
|
|
300
299
|
onClick={() => !afterSignup ? onNavigationRedirect(
|
|
301
300
|
'AddressForm',
|
|
302
301
|
{
|
|
@@ -305,7 +304,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
305
304
|
addressesList: addressList?.addresses,
|
|
306
305
|
nopadding: true,
|
|
307
306
|
isSelectedAfterAdd: true,
|
|
308
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
307
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
308
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
309
309
|
}) : onNavigationRedirect(
|
|
310
310
|
'AddressFormInitial',
|
|
311
311
|
{
|
|
@@ -314,7 +314,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
314
314
|
addressesList: addressList?.addresses,
|
|
315
315
|
nopadding: true,
|
|
316
316
|
isSelectedAfterAdd: true,
|
|
317
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
317
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
318
|
+
isFormCheckout: route?.params?.isFromCheckout
|
|
318
319
|
})}
|
|
319
320
|
/>
|
|
320
321
|
</>
|
|
@@ -23,8 +23,7 @@ export const AnalyticsSegment = (props: any) => {
|
|
|
23
23
|
segmentClient.track('Product List Viewed', {
|
|
24
24
|
business_id: category?.business_id,
|
|
25
25
|
category_id: category?.id,
|
|
26
|
-
category: category?.name
|
|
27
|
-
products: category?.products
|
|
26
|
+
category: category?.name
|
|
28
27
|
})
|
|
29
28
|
}
|
|
30
29
|
|
|
@@ -62,11 +61,12 @@ export const AnalyticsSegment = (props: any) => {
|
|
|
62
61
|
})
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
const handleProductAdded = (product: any) => {
|
|
64
|
+
const handleProductAdded = (product: any, result: any) => {
|
|
66
65
|
segmentClient.track('Product Added', {
|
|
67
|
-
|
|
66
|
+
cart_id: result.uuid,
|
|
67
|
+
product_id: product.id,
|
|
68
68
|
name: product.name,
|
|
69
|
-
category: product.category_id,
|
|
69
|
+
category: product.category_id || product?.categoryId,
|
|
70
70
|
price: product.price,
|
|
71
71
|
quantity: product.quantity
|
|
72
72
|
})
|
|
@@ -101,7 +101,7 @@ export const AnalyticsSegment = (props: any) => {
|
|
|
101
101
|
|
|
102
102
|
const handleOrderPlaced = (order: any) => {
|
|
103
103
|
segmentClient.track('Order Placed', {
|
|
104
|
-
|
|
104
|
+
order_id: order.id,
|
|
105
105
|
affiliation: order.business?.name,
|
|
106
106
|
revenue: order.total,
|
|
107
107
|
tax: order.tax_total,
|
|
@@ -21,7 +21,7 @@ export const AppleLogin = (props: any) => {
|
|
|
21
21
|
const [{ configs }] = useConfig();
|
|
22
22
|
const [credentialStateForUser, updateCredentialStateForUser] = useState<any>(-1);
|
|
23
23
|
|
|
24
|
-
let user
|
|
24
|
+
let user: any = null
|
|
25
25
|
|
|
26
26
|
const buttonText = auth
|
|
27
27
|
? t('CONTINUE_WITH_APPLE', 'Logout with Apple')
|
|
@@ -53,7 +53,7 @@ export const AppleLogin = (props: any) => {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const fetchAndUpdateCredentialState = async (updateCredentialStateForUser
|
|
56
|
+
const fetchAndUpdateCredentialState = async (updateCredentialStateForUser: any) => {
|
|
57
57
|
if (user === null) {
|
|
58
58
|
updateCredentialStateForUser('N/A');
|
|
59
59
|
} else {
|
|
@@ -66,7 +66,7 @@ export const AppleLogin = (props: any) => {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
const onIOSButtonPress = async (updateCredentialStateForUser
|
|
69
|
+
const onIOSButtonPress = async (updateCredentialStateForUser: any) => {
|
|
70
70
|
try {
|
|
71
71
|
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
72
72
|
requestedOperation: appleAuth.Operation.LOGIN,
|
|
@@ -79,7 +79,7 @@ export const AppleLogin = (props: any) => {
|
|
|
79
79
|
identityToken,
|
|
80
80
|
authorizationCode
|
|
81
81
|
} = appleAuthRequestResponse;
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
user = newUser;
|
|
84
84
|
|
|
85
85
|
fetchAndUpdateCredentialState(updateCredentialStateForUser).catch(error =>
|
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
SocialListWrapper
|
|
27
27
|
} from './styles';
|
|
28
28
|
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
|
|
29
|
-
const types = ['food', 'laundry', 'alcohol', 'groceries'];
|
|
30
29
|
|
|
31
30
|
let BusinessInformation: null | React.ElementType = null
|
|
32
31
|
let BusinessReviews: null | React.ElementType = null
|
|
@@ -36,6 +35,7 @@ export const BusinessBasicInformation = (
|
|
|
36
35
|
) => {
|
|
37
36
|
const { navigation, businessState, isBusinessInfoShow, logo, header, isPreOrder } = props;
|
|
38
37
|
const { business, loading } = businessState;
|
|
38
|
+
const types = business?.types && business?.types?.filter(({ enabled }) => (enabled)).map(({ name }) => (name))
|
|
39
39
|
|
|
40
40
|
const theme = useTheme();
|
|
41
41
|
const [orderState] = useOrder();
|
|
@@ -146,14 +146,11 @@ export const BusinessBasicInformation = (
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
const getBusinessType = () => {
|
|
149
|
-
if (
|
|
149
|
+
if (!types) return t('GENERAL', 'General');
|
|
150
150
|
const _types: any = [];
|
|
151
151
|
types.forEach(
|
|
152
|
-
(type) =>
|
|
153
|
-
|
|
154
|
-
_types.push(
|
|
155
|
-
t(`BUSINESS_TYPE_${type?.replace(/\s/g, '_')?.toUpperCase()}`, type),
|
|
156
|
-
),
|
|
152
|
+
(type: any) =>
|
|
153
|
+
_types.push(type)
|
|
157
154
|
);
|
|
158
155
|
return _types.join(', ');
|
|
159
156
|
};
|
|
@@ -455,7 +452,7 @@ export const BusinessBasicInformation = (
|
|
|
455
452
|
</BusinessInfoItem>
|
|
456
453
|
</View>
|
|
457
454
|
<WrapReviews>
|
|
458
|
-
{!isBusinessInfoShow && (
|
|
455
|
+
{!isBusinessInfoShow && !loading && (
|
|
459
456
|
<>
|
|
460
457
|
{isPreOrder && (!business?.professionals || business?.professionals?.length === 0) && (
|
|
461
458
|
<>
|
|
@@ -35,7 +35,12 @@ import FastImage from 'react-native-fast-image'
|
|
|
35
35
|
import { LottieAnimation } from '../LottieAnimation';
|
|
36
36
|
import { CardAnimation } from '../shared/CardAnimation';
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
function BusinessControllerPropsAreEqual(prevProps: any, nextProps: any) {
|
|
39
|
+
return JSON.stringify(prevProps.business) === JSON.stringify(nextProps.business) &&
|
|
40
|
+
prevProps.isBusinessOpen === nextProps.isBusinessOpen
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const BusinessControllerUI = React.memo((props: BusinessControllerParams) => {
|
|
39
44
|
const {
|
|
40
45
|
business,
|
|
41
46
|
handleClick,
|
|
@@ -184,7 +189,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
184
189
|
}
|
|
185
190
|
|
|
186
191
|
return (
|
|
187
|
-
<
|
|
192
|
+
<View style={{ minHeight: 200 }}>
|
|
188
193
|
{isIntersectionObserver ? (
|
|
189
194
|
<CardAnimation
|
|
190
195
|
style={[style, styles.container]}
|
|
@@ -227,7 +232,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
227
232
|
</View>
|
|
228
233
|
)}
|
|
229
234
|
{!hideBusinessOffer && (
|
|
230
|
-
getBusinessOffer((business?.offers)) &&
|
|
235
|
+
!!getBusinessOffer((business?.offers)) &&
|
|
231
236
|
<OfferBox
|
|
232
237
|
isClosed={!isBusinessOpen && (configState?.configs?.preorder_status_enabled?.value === '1')}
|
|
233
238
|
isRibbon={business?.ribbon?.enabled && !!business?.ribbon?.text}
|
|
@@ -239,7 +244,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
239
244
|
numberOfLines={2}
|
|
240
245
|
ellipsizeMode='tail'
|
|
241
246
|
lineHeight={13}
|
|
242
|
-
>{getBusinessOffer((business?.offers))
|
|
247
|
+
>{t('DISCOUNT', 'Discount')}{' '}{getBusinessOffer((business?.offers))}</OText>
|
|
243
248
|
</OfferBox>
|
|
244
249
|
)}
|
|
245
250
|
<BusinessState isRibbon={business?.ribbon?.enabled && !!business?.ribbon?.text}>
|
|
@@ -304,7 +309,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
304
309
|
</ReviewAndFavorite>
|
|
305
310
|
)}
|
|
306
311
|
</View>
|
|
307
|
-
<OText size={textSize} style={{ lineHeight: 15, marginBottom: 3 }} numberOfLines={
|
|
312
|
+
<OText size={textSize} style={{ lineHeight: 15, marginBottom: 3, fontFamily: undefined }} numberOfLines={1}>
|
|
308
313
|
{business?.address}
|
|
309
314
|
</OText>
|
|
310
315
|
<Metadata>
|
|
@@ -376,9 +381,9 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
376
381
|
</View>
|
|
377
382
|
</Placeholder>
|
|
378
383
|
)}
|
|
379
|
-
</
|
|
384
|
+
</View>
|
|
380
385
|
);
|
|
381
|
-
};
|
|
386
|
+
}, BusinessControllerPropsAreEqual);
|
|
382
387
|
|
|
383
388
|
export const BusinessController = (props: BusinessControllerParams) => {
|
|
384
389
|
const BusinessControllerProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react';
|
|
2
|
-
import { TouchableOpacity, View } from 'react-native';
|
|
2
|
+
import { TouchableOpacity, View, Vibration } from 'react-native';
|
|
3
3
|
import { useOrder, useLanguage, useUtils, useConfig, useEvent } from 'ordering-components/native';
|
|
4
4
|
import { useTheme } from 'styled-components/native';
|
|
5
5
|
import {
|
|
@@ -57,6 +57,9 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
57
57
|
return acc = acc
|
|
58
58
|
}, cart?.subtotal)
|
|
59
59
|
|
|
60
|
+
const bgStyle = (subtotalWithTaxes < cart?.minimum || !cart?.valid_address) ? theme.colors.secundary : theme.colors.primary
|
|
61
|
+
const textStyles = (subtotalWithTaxes < cart?.minimum || !cart?.valid_address) ? theme.colors.black : theme.colors.white
|
|
62
|
+
|
|
60
63
|
useEffect(() => {
|
|
61
64
|
if (isActive && !isFromUpselling) {
|
|
62
65
|
if (cart?.uuid !== viewedCart?.uuid) {
|
|
@@ -66,6 +69,11 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
66
69
|
}
|
|
67
70
|
}, [isActive, viewedCart])
|
|
68
71
|
|
|
72
|
+
const handleGoToStore = () => {
|
|
73
|
+
Vibration.vibrate(100)
|
|
74
|
+
props.onNavigationRedirect('Business', { store: cart?.business?.slug })
|
|
75
|
+
}
|
|
76
|
+
|
|
69
77
|
return (
|
|
70
78
|
<BIContainer isClosed={isClosed} isMultiCheckout={isMultiCheckout} checkoutVisible={!isActive && !isClosed && !!isProducts && !checkoutButtonDisabled}>
|
|
71
79
|
<BIHeader
|
|
@@ -79,7 +87,7 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
79
87
|
<View style={{ flexDirection: 'row' }}>
|
|
80
88
|
{props.onNavigationRedirect && !isClosed && !isGiftCart && (
|
|
81
89
|
<>
|
|
82
|
-
<TouchableOpacity onPress={() =>
|
|
90
|
+
<TouchableOpacity onPress={() => handleGoToStore()}>
|
|
83
91
|
<OText color={theme.colors.primary} size={12} lineHeight={18} style={{ textDecorationLine: 'underline' }}>{t('GO_TO_STORE', 'Go to store')}</OText>
|
|
84
92
|
</TouchableOpacity>
|
|
85
93
|
</>
|
|
@@ -153,11 +161,11 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
153
161
|
{cart?.valid_products && (
|
|
154
162
|
<OButton
|
|
155
163
|
onClick={handleClickCheckout}
|
|
156
|
-
textStyle={{ color:
|
|
164
|
+
textStyle={{ color: textStyles, textAlign: 'center', flex: 1 }}
|
|
157
165
|
style={{ width: 180, flexDirection: 'row', justifyContent: 'center', borderRadius: 7.6, shadowOpacity: 0 }}
|
|
158
166
|
text={t('CHECKOUT', 'Checkout')}
|
|
159
|
-
bgColor={
|
|
160
|
-
borderColor={
|
|
167
|
+
bgColor={bgStyle}
|
|
168
|
+
borderColor={bgStyle}
|
|
161
169
|
isDisabled={checkoutButtonDisabled}
|
|
162
170
|
/>
|
|
163
171
|
)}
|
|
@@ -243,7 +243,7 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
243
243
|
onClick={() => handleChangePriceRange(price?.level)}
|
|
244
244
|
text={`${price.content} ${(filters?.price_level === price?.level) ? ' X' : ''}`}
|
|
245
245
|
style={styles.priceItem}
|
|
246
|
-
textStyle={{ fontSize: 10, color: (filters?.price_level === price?.level) ? theme.colors.
|
|
246
|
+
textStyle={{ fontSize: 10, color: (filters?.price_level === price?.level) ? theme.colors.white : theme.colors.textNormal }}
|
|
247
247
|
/>
|
|
248
248
|
))}
|
|
249
249
|
</View>
|
|
@@ -284,7 +284,7 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
284
284
|
onClick={() => handleChangeActiveBusinessType(type)}
|
|
285
285
|
text={`${t(`BUSINESS_TYPE_${type.name.replace(/\s/g, '_').toUpperCase()}`, type.name)} ${filters?.business_types?.includes(type?.id) ? 'X' : ''}`}
|
|
286
286
|
style={styles.categoryStyle}
|
|
287
|
-
textStyle={{ fontSize: 10, color: (filters?.business_types?.includes(type?.id) || (type?.id === null && filters?.business_types?.length === 0)) ?
|
|
287
|
+
textStyle={{ fontSize: 10, color: (filters?.business_types?.includes(type?.id) || (type?.id === null && filters?.business_types?.length === 0)) ? theme.colors.white : theme.colors.textNormal }}
|
|
288
288
|
/>
|
|
289
289
|
))}
|
|
290
290
|
</View>
|
|
@@ -296,7 +296,6 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
296
296
|
<OButton
|
|
297
297
|
text={t('APPLY', 'Apply')}
|
|
298
298
|
parentStyle={styles.applyButton}
|
|
299
|
-
textStyle={{ color: '#fff' }}
|
|
300
299
|
onClick={() => handleApplyFilters()}
|
|
301
300
|
/>
|
|
302
301
|
</View>
|
|
@@ -47,13 +47,11 @@ export const BusinessSearchHeader = (props: any) => {
|
|
|
47
47
|
borderWidth: 0,
|
|
48
48
|
width: 26,
|
|
49
49
|
height: 26,
|
|
50
|
-
backgroundColor: '#FFF',
|
|
51
|
-
borderColor: '#FFF',
|
|
52
|
-
shadowColor: '#FFF',
|
|
53
50
|
paddingLeft: 0,
|
|
54
51
|
paddingRight: 0,
|
|
55
52
|
marginTop: 50,
|
|
56
53
|
}}
|
|
54
|
+
useArrow
|
|
57
55
|
onClick={() => props.navigation.goBack()}
|
|
58
56
|
icon={AntDesignIcon}
|
|
59
57
|
iconProps={{
|