ordering-ui-react-native 0.16.36 → 0.16.37-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 +7 -5
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/ActiveOrders/index.tsx +61 -63
- package/src/components/ActiveOrders/styles.tsx +8 -14
- package/src/components/BusinessBasicInformation/index.tsx +11 -19
- package/src/components/BusinessInformation/index.tsx +33 -4
- package/src/components/BusinessInformation/styles.tsx +2 -2
- package/src/components/BusinessProductsList/index.tsx +10 -10
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +2 -1
- package/src/components/LanguageSelector/index.tsx +21 -16
- package/src/components/LoginForm/index.tsx +15 -0
- package/src/components/Messages/index.tsx +2 -2
- package/src/components/NotificationSetting/index.tsx +85 -0
- package/src/components/OrderDetails/index.tsx +2 -20
- package/src/components/OrdersOption/index.tsx +54 -56
- package/src/components/PaymentOptions/index.tsx +335 -365
- package/src/components/PaymentOptionsWebView/index.tsx +120 -121
- package/src/components/ReviewDriver/index.tsx +1 -1
- package/src/components/ReviewOrder/index.tsx +2 -1
- package/src/components/ReviewProducts/index.tsx +11 -0
- package/src/components/SignupForm/index.tsx +15 -0
- package/src/components/SingleProductReview/index.tsx +8 -5
- package/src/components/StripeElementsForm/index.tsx +25 -16
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OBottomPopup.tsx +6 -2
- package/src/index.tsx +2 -0
- package/src/pages/BusinessesListing.tsx +7 -6
- package/src/pages/OrderDetails.tsx +1 -1
- package/src/pages/ReviewDriver.tsx +2 -2
- package/src/pages/ReviewOrder.tsx +2 -2
- package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
- package/src/utils/index.tsx +2 -1
- package/themes/business/src/components/BusinessController/index.tsx +2 -2
- package/themes/business/src/components/Chat/index.tsx +38 -30
- package/themes/business/src/components/DriverMap/index.tsx +7 -5
- package/themes/business/src/components/DriverSchedule/index.tsx +36 -19
- package/themes/business/src/components/LoginForm/index.tsx +111 -74
- package/themes/business/src/components/MapView/index.tsx +12 -1
- package/themes/business/src/components/MessagesOption/index.tsx +11 -1
- package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
- package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -19
- package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
- package/themes/business/src/components/OrdersOption/index.tsx +65 -21
- package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
- package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
- package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
- package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
- package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
- package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
- package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
- package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
- package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
- package/themes/business/src/components/PreviousOrders/index.tsx +22 -24
- package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +27 -13
- package/themes/business/src/components/ScheduleBlocked/index.tsx +2 -2
- package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
- package/themes/business/src/components/shared/ODropDown.tsx +42 -8
- package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
- package/themes/business/src/types/index.tsx +15 -9
- package/themes/business/src/utils/index.tsx +10 -0
- 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/BusinessesListing/index.tsx +2 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
- package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -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/ProductForm/index.tsx +1 -14
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/kiosk/src/types/index.d.ts +2 -0
- package/themes/original/index.tsx +4 -0
- package/themes/original/src/components/AddressDetails/index.tsx +2 -2
- package/themes/original/src/components/AddressForm/index.tsx +151 -140
- package/themes/original/src/components/AddressList/index.tsx +1 -1
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +324 -162
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
- package/themes/original/src/components/BusinessController/index.tsx +190 -113
- package/themes/original/src/components/BusinessController/styles.tsx +0 -7
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
- package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
- package/themes/original/src/components/BusinessListingSearch/index.tsx +80 -128
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
- package/themes/original/src/components/BusinessProductsList/index.tsx +49 -52
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +179 -104
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -11
- package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +37 -25
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -4
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +278 -104
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +47 -10
- package/themes/original/src/components/BusinessesListing/index.tsx +95 -7
- package/themes/original/src/components/Cart/index.tsx +54 -16
- package/themes/original/src/components/Cart/styles.tsx +4 -0
- package/themes/original/src/components/CartContent/index.tsx +22 -16
- package/themes/original/src/components/Checkout/index.tsx +78 -67
- package/themes/original/src/components/Checkout/styles.tsx +0 -1
- package/themes/original/src/components/DriverTips/index.tsx +4 -4
- package/themes/original/src/components/DriverTips/styles.tsx +2 -1
- package/themes/original/src/components/Favorite/index.tsx +1 -0
- package/themes/original/src/components/FavoriteList/index.tsx +32 -2
- package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
- package/themes/original/src/components/GPSButton/index.tsx +20 -19
- package/themes/original/src/components/GoogleMap/index.tsx +20 -12
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +25 -10
- package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +4 -0
- package/themes/original/src/components/HelpGuide/index.tsx +9 -8
- package/themes/original/src/components/HelpOrder/index.tsx +9 -8
- package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
- package/themes/original/src/components/LoginForm/Otp/index.tsx +95 -72
- package/themes/original/src/components/LoginForm/index.tsx +107 -50
- package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
- package/themes/original/src/components/Messages/index.tsx +17 -17
- package/themes/original/src/components/MomentOption/index.tsx +8 -6
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -92
- package/themes/original/src/components/MultiCheckout/index.tsx +6 -0
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -16
- package/themes/original/src/components/MyOrders/index.tsx +70 -6
- package/themes/original/src/components/NavBar/index.tsx +15 -9
- package/themes/original/src/components/NetworkError/index.tsx +5 -3
- package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
- package/themes/original/src/components/Notifications/index.tsx +148 -0
- package/themes/original/src/components/Notifications/styles.tsx +17 -0
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
- package/themes/original/src/components/OrderDetails/index.tsx +200 -37
- package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
- package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
- package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
- package/themes/original/src/components/OrderProgress/index.tsx +77 -66
- package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
- package/themes/original/src/components/OrderSummary/index.tsx +3 -36
- package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
- package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +97 -106
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
- package/themes/original/src/components/OrdersOption/index.tsx +71 -55
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +41 -23
- package/themes/original/src/components/PhoneInputNumber/index.tsx +5 -11
- package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
- package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
- package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
- package/themes/original/src/components/ProductForm/index.tsx +635 -664
- package/themes/original/src/components/ProductForm/styles.tsx +9 -8
- package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
- package/themes/original/src/components/ProductOption/index.tsx +1 -1
- package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
- package/themes/original/src/components/ProfessionalProfile/index.tsx +26 -14
- package/themes/original/src/components/ReviewDriver/index.tsx +7 -7
- package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
- package/themes/original/src/components/ReviewProducts/index.tsx +2 -2
- package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
- package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
- package/themes/original/src/components/SearchBar/index.tsx +5 -3
- package/themes/original/src/components/ServiceForm/index.tsx +410 -258
- package/themes/original/src/components/SignupForm/index.tsx +362 -210
- package/themes/original/src/components/SingleOrderCard/index.tsx +229 -181
- package/themes/original/src/components/SingleOrderCard/styles.tsx +0 -7
- package/themes/original/src/components/SingleProductCard/index.tsx +200 -110
- package/themes/original/src/components/SingleProductCard/styles.tsx +2 -10
- package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
- package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
- package/themes/original/src/components/StripeElementsForm/index.tsx +18 -7
- package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
- package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
- package/themes/original/src/components/UserProfile/index.tsx +56 -31
- package/themes/original/src/components/UserProfile/styles.ts +17 -0
- package/themes/original/src/components/UserProfileForm/index.tsx +10 -10
- package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
- package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
- package/themes/original/src/components/Wallets/index.tsx +176 -164
- package/themes/original/src/components/Wallets/styles.tsx +12 -8
- package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
- package/themes/original/src/components/shared/OBottomPopup.tsx +48 -15
- package/themes/original/src/components/shared/OButton.tsx +10 -3
- package/themes/original/src/components/shared/OIcon.tsx +8 -1
- package/themes/original/src/components/shared/OInput.tsx +13 -3
- package/themes/original/src/layouts/Container.tsx +13 -9
- package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
- package/themes/original/src/types/index.tsx +91 -30
- package/themes/original/src/utils/index.tsx +121 -10
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -3,6 +3,7 @@ import { ImageSourcePropType, ImageStyle, ViewStyle, TextInputProps, TextStyle }
|
|
|
3
3
|
import styled from 'styled-components/native';
|
|
4
4
|
import OIcon from './OIcon';
|
|
5
5
|
import MaterialIcon from 'react-native-vector-icons/MaterialIcons'
|
|
6
|
+
import { useTheme } from 'styled-components/native';
|
|
6
7
|
|
|
7
8
|
const Input = styled.TextInput`
|
|
8
9
|
flex-grow: 1;
|
|
@@ -39,6 +40,7 @@ interface Props extends TextInputProps {
|
|
|
39
40
|
inputStyle?: TextStyle;
|
|
40
41
|
wrapperRef?: any;
|
|
41
42
|
onPress?: any;
|
|
43
|
+
isFocusHighlight?: boolean
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
const Wrapper = styled.Pressable`
|
|
@@ -54,12 +56,16 @@ const Wrapper = styled.Pressable`
|
|
|
54
56
|
`;
|
|
55
57
|
|
|
56
58
|
const OInput = (props: Props): React.ReactElement => {
|
|
59
|
+
const theme = useTheme();
|
|
60
|
+
const [inputFocused, setInputFocused] = React.useState(false)
|
|
57
61
|
return (
|
|
58
62
|
<Wrapper
|
|
59
|
-
onPress={() => {props.forwardRef?.current?.focus?.(); props.onPress && props.onPress()}}
|
|
63
|
+
onPress={() => { props.forwardRef?.current?.focus?.(); props.onPress && props.onPress() }}
|
|
60
64
|
style={{
|
|
61
65
|
backgroundColor: props.bgColor,
|
|
62
|
-
borderColor: props.
|
|
66
|
+
borderColor: !props.isFocusHighlight
|
|
67
|
+
? props.borderColor
|
|
68
|
+
: inputFocused ? theme.colors.primary : theme.colors.border,
|
|
63
69
|
...props.style,
|
|
64
70
|
}}>
|
|
65
71
|
{props.icon ? (
|
|
@@ -75,6 +81,7 @@ const OInput = (props: Props): React.ReactElement => {
|
|
|
75
81
|
<MaterialIcon name={props?.vertorIcon} size={20} color={props?.vectorIconColor} style={{ marginHorizontal: 10 }} />
|
|
76
82
|
)}
|
|
77
83
|
<Input
|
|
84
|
+
autoFocus={props?.autoFocus}
|
|
78
85
|
name={props.name}
|
|
79
86
|
secureTextEntry={props.isSecured}
|
|
80
87
|
onChangeText={(txt: any) => props.name ? props.onChange({ target: { name: props.name, value: txt } }) : props.onChange(txt)}
|
|
@@ -90,10 +97,12 @@ const OInput = (props: Props): React.ReactElement => {
|
|
|
90
97
|
returnKeyType={props.returnKeyType}
|
|
91
98
|
onSubmitEditing={props.onSubmitEditing}
|
|
92
99
|
blurOnSubmit={props.blurOnSubmit}
|
|
93
|
-
ref={(e
|
|
100
|
+
ref={(e: any) => {
|
|
94
101
|
props.forwardRef && (props.forwardRef.current = e)
|
|
95
102
|
}}
|
|
96
103
|
style={props?.inputStyle}
|
|
104
|
+
onFocus={() => setInputFocused(true)}
|
|
105
|
+
onBlur={() => setInputFocused(false)}
|
|
97
106
|
/>
|
|
98
107
|
{props.iconRight && (
|
|
99
108
|
<OIcon
|
|
@@ -113,6 +122,7 @@ OInput.defaultProps = {
|
|
|
113
122
|
iconColor: '#959595',
|
|
114
123
|
bgColor: 'white',
|
|
115
124
|
borderColor: 'white',
|
|
125
|
+
isFocusHighlight: false
|
|
116
126
|
};
|
|
117
127
|
|
|
118
128
|
export default OInput;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context'
|
|
3
|
+
import styled, { css, useTheme } from 'styled-components/native';
|
|
4
|
+
import { Platform, View } from 'react-native';
|
|
4
5
|
|
|
5
6
|
const ContainerStyled = styled.ScrollView`
|
|
6
7
|
flex: 1;
|
|
@@ -10,17 +11,20 @@ const ContainerStyled = styled.ScrollView`
|
|
|
10
11
|
background-color: ${(props: any) => props.theme.colors.backgroundPage};
|
|
11
12
|
`;
|
|
12
13
|
|
|
13
|
-
const SafeAreaStyled = styled.SafeAreaView`
|
|
14
|
-
flex: 1;
|
|
15
|
-
background-color: ${(props: any) => props.theme.colors.backgroundPage};
|
|
16
|
-
`;
|
|
17
|
-
|
|
18
14
|
export const Container = (props: any) => {
|
|
15
|
+
const theme = useTheme()
|
|
16
|
+
const insets = useSafeAreaInsets()
|
|
19
17
|
return (
|
|
20
|
-
<
|
|
18
|
+
<View
|
|
19
|
+
style={{
|
|
20
|
+
flex: 1,
|
|
21
|
+
paddingTop: insets.top,
|
|
22
|
+
backgroundColor: theme.colors.backgroundPage
|
|
23
|
+
}}
|
|
24
|
+
>
|
|
21
25
|
<ContainerStyled {...props} ref={props?.forwardRef} keyboardShouldPersistTaps='handled' style={{...props.style}}>
|
|
22
26
|
{props.children}
|
|
23
27
|
</ContainerStyled>
|
|
24
|
-
</
|
|
28
|
+
</View>
|
|
25
29
|
)
|
|
26
30
|
}
|
|
@@ -19,7 +19,11 @@ export const Container = styled.View`
|
|
|
19
19
|
|
|
20
20
|
export const FloatingBottomContainer = (props: any) => {
|
|
21
21
|
return (
|
|
22
|
-
<Container style={{
|
|
22
|
+
<Container style={{
|
|
23
|
+
width: windowWidth,
|
|
24
|
+
borderTopWidth: props?.borderTopWidth ?? 1,
|
|
25
|
+
borderRadius: props?.borderRadius ?? 0
|
|
26
|
+
}}>
|
|
23
27
|
{props.children}
|
|
24
28
|
</Container>
|
|
25
29
|
)
|
|
@@ -47,6 +47,8 @@ export interface ProfileParams {
|
|
|
47
47
|
isVerifiedPhone?: any;
|
|
48
48
|
handleRemoveAccount?: any;
|
|
49
49
|
removeAccountState?: any;
|
|
50
|
+
handleChangePromotions?: any;
|
|
51
|
+
notificationsGroup?: any;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
export interface AddressListParams {
|
|
@@ -80,6 +82,7 @@ export interface AddressFormParams {
|
|
|
80
82
|
saveAddress?: any,
|
|
81
83
|
userCustomerSetup?: boolean,
|
|
82
84
|
isRequiredField?: (field: string) => {},
|
|
85
|
+
showField?: (field: string) => {},
|
|
83
86
|
isGuestUser?: boolean,
|
|
84
87
|
useValidationFileds?: boolean,
|
|
85
88
|
isSelectedAfterAdd?: boolean,
|
|
@@ -110,9 +113,20 @@ export interface SignupParams {
|
|
|
110
113
|
handleSendVerifyCode?: any;
|
|
111
114
|
handleCheckPhoneCode?: any;
|
|
112
115
|
notificationState?: any;
|
|
116
|
+
signUpTab?: string;
|
|
117
|
+
useSignUpFullDetails?: boolean;
|
|
118
|
+
useSignUpOtpEmail?: boolean;
|
|
119
|
+
useSignUpOtpCellphone?: boolean;
|
|
120
|
+
willVerifyOtpState?: boolean;
|
|
121
|
+
numOtpInputs?: number;
|
|
113
122
|
handleChangePromotions: () => void;
|
|
123
|
+
handleChangeInput?: (in1: any, in2: any) => void;
|
|
114
124
|
enableReCaptcha?: boolean;
|
|
115
|
-
|
|
125
|
+
generateOtpCode?: (in1?: any) => void;
|
|
126
|
+
handleReCaptcha?: (token?: any) => void;
|
|
127
|
+
setSignUpTab?: (in1: string) => void;
|
|
128
|
+
setWillVerifyOtpState?: (in1: boolean) => void;
|
|
129
|
+
setOtpState?: (in1: string) => void;
|
|
116
130
|
}
|
|
117
131
|
|
|
118
132
|
export interface PhoneInputParams {
|
|
@@ -158,6 +172,7 @@ export interface BusinessesListingParams {
|
|
|
158
172
|
priceLevelSelected?: any;
|
|
159
173
|
handleChangePriceLevel?: any;
|
|
160
174
|
businessTypeSelected?: any;
|
|
175
|
+
logosLayout?: boolean;
|
|
161
176
|
}
|
|
162
177
|
export interface HighestRatedBusinessesParams {
|
|
163
178
|
businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
|
|
@@ -202,6 +217,8 @@ export interface BusinessControllerParams {
|
|
|
202
217
|
handleFavoriteBusiness?: any,
|
|
203
218
|
setFavoriteIds?: any;
|
|
204
219
|
handleUpdateBusinessList?: any;
|
|
220
|
+
enableIntersection?: boolean;
|
|
221
|
+
handleCustomUpdate?: (businessId: number, changes: any) => {};
|
|
205
222
|
}
|
|
206
223
|
export interface BusinessProductsListingParams {
|
|
207
224
|
navigation?: any;
|
|
@@ -275,18 +292,24 @@ export interface BusinessProductsListParams {
|
|
|
275
292
|
onClickCategory?: any,
|
|
276
293
|
lazyLoadProductsRecommended?: boolean,
|
|
277
294
|
isFiltMode?: boolean,
|
|
278
|
-
handleUpdateProducts?: any
|
|
295
|
+
handleUpdateProducts?: any,
|
|
296
|
+
navigation?: any;
|
|
297
|
+
previouslyProducts?: any;
|
|
279
298
|
}
|
|
280
299
|
export interface SingleProductCardParams {
|
|
281
|
-
businessId: any
|
|
300
|
+
businessId: any;
|
|
282
301
|
product: any;
|
|
283
302
|
isSoldOut: boolean;
|
|
284
303
|
onProductClick: any;
|
|
285
304
|
productAddedToCartLength: number;
|
|
286
|
-
style?: ViewStyle
|
|
287
|
-
categoryState?: any
|
|
288
|
-
handleFavoriteProduct?: any
|
|
289
|
-
handleUpdateProducts?: any
|
|
305
|
+
style?: ViewStyle;
|
|
306
|
+
categoryState?: any;
|
|
307
|
+
handleFavoriteProduct?: any;
|
|
308
|
+
handleUpdateProducts?: any;
|
|
309
|
+
enableIntersection?: boolean;
|
|
310
|
+
navigation?: any;
|
|
311
|
+
isPreviously?: any;
|
|
312
|
+
isProductId?: any;
|
|
290
313
|
}
|
|
291
314
|
export interface BusinessInformationParams {
|
|
292
315
|
navigation?: any,
|
|
@@ -341,6 +364,8 @@ export interface OrdersOptionParams {
|
|
|
341
364
|
refreshOrders?: boolean,
|
|
342
365
|
setRefreshOrders?: (value: boolean) => void,
|
|
343
366
|
handleUpdateOrderList?: (orderId: number, changes: any) => {},
|
|
367
|
+
handleUpdateProducts?: (productId: number, changes: any) => {},
|
|
368
|
+
handleUpdateBusinesses?: (businessId: number, changes: any) => {},
|
|
344
369
|
isBusiness?: boolean,
|
|
345
370
|
isProducts?: boolean,
|
|
346
371
|
businessOrderIds?: any,
|
|
@@ -348,6 +373,8 @@ export interface OrdersOptionParams {
|
|
|
348
373
|
businessesSearchList?: any,
|
|
349
374
|
hideOrders?: boolean,
|
|
350
375
|
BusinessControllerSkeletons?: any,
|
|
376
|
+
businessPaginationProps?: any,
|
|
377
|
+
businesses?: any
|
|
351
378
|
}
|
|
352
379
|
export interface ActiveOrdersParams {
|
|
353
380
|
orders?: any,
|
|
@@ -369,6 +396,7 @@ export interface PreviousOrdersParams {
|
|
|
369
396
|
getOrderStatus?: any,
|
|
370
397
|
orderID?: number
|
|
371
398
|
reorderLoading?: boolean,
|
|
399
|
+
loading?: boolean,
|
|
372
400
|
loadMoreOrders?: () => {},
|
|
373
401
|
handleReorder?: (orderId: number) => {},
|
|
374
402
|
onNavigationRedirect?: (route: string, params?: any) => {}
|
|
@@ -404,25 +432,26 @@ export interface ProductItemAccordionParams {
|
|
|
404
432
|
isFromCheckout?: any
|
|
405
433
|
}
|
|
406
434
|
export interface ReviewOrderParams {
|
|
407
|
-
order?: { id: number,
|
|
408
|
-
stars?: any
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
435
|
+
order?: { id: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any };
|
|
436
|
+
stars?: any;
|
|
437
|
+
defaultStar?: number;
|
|
438
|
+
handleChangeInput?: any;
|
|
439
|
+
handleChangeRating?: any;
|
|
440
|
+
handleSendReview?: any;
|
|
441
|
+
formState?: any;
|
|
442
|
+
navigation?: any;
|
|
443
|
+
setIsReviewed?: (isReviewed: boolean) => void;
|
|
444
|
+
handleReviewState?: any;
|
|
445
|
+
setStars?: any;
|
|
446
|
+
onNavigationRedirect?: any;
|
|
418
447
|
}
|
|
419
448
|
export interface ReviewProductParams {
|
|
420
449
|
navigation?: any,
|
|
421
450
|
onNavigationRedirect?: any,
|
|
422
|
-
order?: { orderId: number,
|
|
451
|
+
order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
|
|
423
452
|
formState?: any,
|
|
424
453
|
handleChangeFormState?: any,
|
|
425
|
-
handleSendProductReview?: any
|
|
454
|
+
handleSendProductReview?: any;
|
|
426
455
|
}
|
|
427
456
|
export interface SingleProductReviewParams {
|
|
428
457
|
product: any,
|
|
@@ -432,12 +461,12 @@ export interface SingleProductReviewParams {
|
|
|
432
461
|
export interface ReviewDriverParams {
|
|
433
462
|
navigation?: any,
|
|
434
463
|
onNavigationRedirect?: any,
|
|
435
|
-
order?: { orderId: number,
|
|
464
|
+
order?: { orderId: number, business_id: number, logo: string, driver: any, products: Array<any>, review: any, user_review: any },
|
|
436
465
|
formState?: any,
|
|
437
466
|
setIsDriverReviewed?: (isReviewed: boolean) => {},
|
|
438
467
|
dirverReviews?: any,
|
|
439
468
|
setDriverReviews?: any,
|
|
440
|
-
handleSendDriverReview?: any
|
|
469
|
+
handleSendDriverReview?: any;
|
|
441
470
|
}
|
|
442
471
|
export interface MessagesParams {
|
|
443
472
|
type?: string,
|
|
@@ -535,7 +564,9 @@ export interface OrderTypeSelectParams {
|
|
|
535
564
|
defaultValue?: number;
|
|
536
565
|
configTypes?: Array<any>;
|
|
537
566
|
orderTypes: Array<any>;
|
|
538
|
-
setOrderTypeValue?: (value: number) => any
|
|
567
|
+
setOrderTypeValue?: (value: number) => any,
|
|
568
|
+
isChewLayout?: boolean;
|
|
569
|
+
chewOrderTypes?: any;
|
|
539
570
|
}
|
|
540
571
|
export interface UpsellingProductsParams {
|
|
541
572
|
isCustomMode?: boolean;
|
|
@@ -621,12 +652,20 @@ export interface NoNetworkParams {
|
|
|
621
652
|
}
|
|
622
653
|
|
|
623
654
|
export interface PlaceSpotParams {
|
|
624
|
-
|
|
655
|
+
isCheckout?: any,
|
|
656
|
+
isInputMode?: any,
|
|
625
657
|
cart?: any,
|
|
658
|
+
spotNumberDefault?: any,
|
|
659
|
+
vehicleDefault?: any,
|
|
660
|
+
spotNumber?: any,
|
|
661
|
+
setSpotNumber?: any,
|
|
662
|
+
orderTypes?: any,
|
|
626
663
|
placesState?: any,
|
|
627
664
|
handleChangePlace?: any,
|
|
628
|
-
|
|
629
|
-
|
|
665
|
+
spotState?: any,
|
|
666
|
+
vehicle?: any,
|
|
667
|
+
setVehicle?: any,
|
|
668
|
+
handleChangeSpot?: any
|
|
630
669
|
}
|
|
631
670
|
|
|
632
671
|
export interface PromotionParams {
|
|
@@ -651,7 +690,8 @@ export interface otpParams {
|
|
|
651
690
|
setWillVerifyOtpState: (val: boolean) => void,
|
|
652
691
|
onSubmit: () => void,
|
|
653
692
|
handleLoginOtp: (code: string) => void,
|
|
654
|
-
setAlertState: any
|
|
693
|
+
setAlertState: any;
|
|
694
|
+
pinCount: number;
|
|
655
695
|
}
|
|
656
696
|
|
|
657
697
|
export interface FavoriteParams {
|
|
@@ -677,7 +717,9 @@ export interface SingleOrderCardParams {
|
|
|
677
717
|
onNavigationRedirect?: (route: string, params?: any) => {},
|
|
678
718
|
pastOrders: any,
|
|
679
719
|
isMessageView?: any,
|
|
680
|
-
handleClickOrder: (value: any) => {}
|
|
720
|
+
handleClickOrder: (value: any) => {},
|
|
721
|
+
handleRemoveCart: () => {},
|
|
722
|
+
cartState: any
|
|
681
723
|
}
|
|
682
724
|
|
|
683
725
|
export interface PreviousBusinessOrderedParams {
|
|
@@ -687,7 +729,9 @@ export interface PreviousBusinessOrderedParams {
|
|
|
687
729
|
businessId?: number,
|
|
688
730
|
onNavigationRedirect?: any,
|
|
689
731
|
isBusinessesSearchList?: any,
|
|
690
|
-
businessLoading?: boolean
|
|
732
|
+
businessLoading?: boolean,
|
|
733
|
+
businesses?: any
|
|
734
|
+
handleUpdateBusinesses?: (businessId: number, changes: any) => {},
|
|
691
735
|
}
|
|
692
736
|
|
|
693
737
|
export interface ServiceFormParams {
|
|
@@ -699,7 +743,11 @@ export interface ServiceFormParams {
|
|
|
699
743
|
isSoldOut: boolean,
|
|
700
744
|
maxProductQuantity: any,
|
|
701
745
|
businessSlug?: string,
|
|
702
|
-
onClose: any
|
|
746
|
+
onClose: any,
|
|
747
|
+
professionalList: any,
|
|
748
|
+
productObject?: any,
|
|
749
|
+
professionalListState?: any,
|
|
750
|
+
isCartProduct?: any
|
|
703
751
|
}
|
|
704
752
|
|
|
705
753
|
export interface ProfessionalFilterParams {
|
|
@@ -714,8 +762,21 @@ export interface ProfessionalProfileParams {
|
|
|
714
762
|
onClose: any
|
|
715
763
|
}
|
|
716
764
|
|
|
765
|
+
export interface OrderItAgainParams {
|
|
766
|
+
onProductClick: any,
|
|
767
|
+
productList: any,
|
|
768
|
+
businessId: any,
|
|
769
|
+
categoryState: any,
|
|
770
|
+
currentCart: any,
|
|
771
|
+
handleUpdateProducts: any,
|
|
772
|
+
navigation: any,
|
|
773
|
+
searchValue?: string
|
|
774
|
+
}
|
|
775
|
+
|
|
717
776
|
export interface PreviousProductsOrderedParams {
|
|
718
777
|
products?: any,
|
|
778
|
+
isProductId?: boolean
|
|
719
779
|
onProductClick?: any,
|
|
720
780
|
isBusinessesSearchList?: boolean
|
|
781
|
+
handleUpdateProducts?: any
|
|
721
782
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useLanguage } from 'ordering-components/native';
|
|
3
3
|
import FontAwesome from 'react-native-vector-icons/FontAwesome';
|
|
4
|
-
import {CODES} from 'ordering-components/native'
|
|
4
|
+
import { CODES } from 'ordering-components/native'
|
|
5
5
|
import { ORDER_TYPES } from '../config/constants';
|
|
6
6
|
|
|
7
7
|
export const flatArray = (arr: any) => [].concat(...arr)
|
|
8
|
+
const [languageState, t] = useLanguage();
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Function to return the traduction depending of a key 't'
|
|
@@ -40,6 +41,116 @@ export const getTraduction = (key: string) => {
|
|
|
40
41
|
return keyList[key] ? t(key, keyList[key]) : t(key)
|
|
41
42
|
}
|
|
42
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Change local moment variables
|
|
46
|
+
*/
|
|
47
|
+
export const setLocalMoment = (moment: any, t: any) => {
|
|
48
|
+
moment.locale('custom', {
|
|
49
|
+
months: [
|
|
50
|
+
t('MONTH1', 'January'),
|
|
51
|
+
t('MONTH2', 'February'),
|
|
52
|
+
t('MONTH3', 'March'),
|
|
53
|
+
t('MONTH4', 'April'),
|
|
54
|
+
t('MONTH5', 'May'),
|
|
55
|
+
t('MONTH6', 'June'),
|
|
56
|
+
t('MONTH7', 'July'),
|
|
57
|
+
t('MONTH8', 'August'),
|
|
58
|
+
t('MONTH9', 'September'),
|
|
59
|
+
t('MONTH10', 'October'),
|
|
60
|
+
t('MONTH11', 'November'),
|
|
61
|
+
t('MONTH12', 'December')
|
|
62
|
+
],
|
|
63
|
+
monthsShort: [
|
|
64
|
+
t('MONTHSHORT1', 'Jan'),
|
|
65
|
+
t('MONTHSHORT2', 'Feb'),
|
|
66
|
+
t('MONTHSHORT3', 'Mar'),
|
|
67
|
+
t('MONTHSHORT4', 'Apr'),
|
|
68
|
+
t('MONTHSHORT5', 'May'),
|
|
69
|
+
t('MONTHSHORT6', 'Jun'),
|
|
70
|
+
t('MONTHSHORT7', 'Jul'),
|
|
71
|
+
t('MONTHSHORT8', 'Aug'),
|
|
72
|
+
t('MONTHSHORT9', 'Sep'),
|
|
73
|
+
t('MONTHSHORT10', 'Oct'),
|
|
74
|
+
t('MONTHSHORT11', 'Nov'),
|
|
75
|
+
t('MONTHSHORT12', 'Dec')
|
|
76
|
+
],
|
|
77
|
+
weekdays: [
|
|
78
|
+
t('DAY7', 'Sunday'),
|
|
79
|
+
t('DAY1', 'Monday'),
|
|
80
|
+
t('DAY2', 'Tuesday'),
|
|
81
|
+
t('DAY3', 'Wednesday'),
|
|
82
|
+
t('DAY4', 'Thursday'),
|
|
83
|
+
t('DAY5', 'Friday'),
|
|
84
|
+
t('DAY6', 'Saturday')
|
|
85
|
+
],
|
|
86
|
+
weekdaysShort: [
|
|
87
|
+
t('DAYSHORT7', 'Sun'),
|
|
88
|
+
t('DAYSHORT1', 'Mon'),
|
|
89
|
+
t('DAYSHORT2', 'Tue'),
|
|
90
|
+
t('DAYSHORT3', 'Wed'),
|
|
91
|
+
t('DAYSHORT4', 'Thu'),
|
|
92
|
+
t('DAYSHORT5', 'Fri'),
|
|
93
|
+
t('DAYSHORT6', 'Sat')
|
|
94
|
+
],
|
|
95
|
+
weekdaysMin: [
|
|
96
|
+
t('DAYMIN7', 'Su'),
|
|
97
|
+
t('DAYMIN1', 'Mo'),
|
|
98
|
+
t('DAYMIN2', 'Tu'),
|
|
99
|
+
t('DAYMIN3', 'We'),
|
|
100
|
+
t('DAYMIN4', 'Th'),
|
|
101
|
+
t('DAYMIN5', 'Fr'),
|
|
102
|
+
t('DAYMIN6', 'Sa')
|
|
103
|
+
],
|
|
104
|
+
meridiem: function (hours: any) {
|
|
105
|
+
return hours < 12 ? t('AM', 'AM') : t('PM', 'PM');
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export const monthsEnum: any = {
|
|
111
|
+
Jan: 'MONTHSHORT1',
|
|
112
|
+
Feb: 'MONTHSHORT2',
|
|
113
|
+
Mar: 'MONTHSHORT3',
|
|
114
|
+
Apr: 'MONTHSHORT4',
|
|
115
|
+
May: 'MONTHSHORT5',
|
|
116
|
+
Jun: 'MONTHSHORT6',
|
|
117
|
+
Jul: 'MONTHSHORT7',
|
|
118
|
+
Aug: 'MONTHSHORT8',
|
|
119
|
+
Sep: 'MONTHSHORT9',
|
|
120
|
+
Oct: 'MONTHSHORT10',
|
|
121
|
+
Nov: 'MONTHSHORT11',
|
|
122
|
+
Dec: 'MONTHSHORT12',
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export const locale = {
|
|
126
|
+
name: languageState?.language?.code?.slice(0, 2),
|
|
127
|
+
config: {
|
|
128
|
+
months: [
|
|
129
|
+
t('MONTH1', 'January'),
|
|
130
|
+
t('MONTH2', 'February'),
|
|
131
|
+
t('MONTH3', 'March'),
|
|
132
|
+
t('MONTH4', 'April'),
|
|
133
|
+
t('MONTH5', 'May'),
|
|
134
|
+
t('MONTH6', 'June'),
|
|
135
|
+
t('MONTH7', 'July'),
|
|
136
|
+
t('MONTH8', 'August'),
|
|
137
|
+
t('MONTH9', 'September'),
|
|
138
|
+
t('MONTH10', 'October'),
|
|
139
|
+
t('MONTH11', 'November'),
|
|
140
|
+
t('MONTH12', 'December')
|
|
141
|
+
],
|
|
142
|
+
weekdaysShort: [
|
|
143
|
+
t('DAYSHORT7', 'Sun'),
|
|
144
|
+
t('DAYSHORT1', 'Mon'),
|
|
145
|
+
t('DAYSHORT2', 'Tue'),
|
|
146
|
+
t('DAYSHORT3', 'Wed'),
|
|
147
|
+
t('DAYSHORT4', 'Thu'),
|
|
148
|
+
t('DAYSHORT5', 'Fri'),
|
|
149
|
+
t('DAYSHORT6', 'Sat')
|
|
150
|
+
],
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
43
154
|
/**
|
|
44
155
|
* Function to convert delivery time in minutes
|
|
45
156
|
* @param {string} time business delivery time
|
|
@@ -116,7 +227,7 @@ export const getIconCard = (brand: string, size: number) => {
|
|
|
116
227
|
* Function to return a static google maps image based in location
|
|
117
228
|
* @param {object} param object with latitude and logitude
|
|
118
229
|
*/
|
|
119
|
-
|
|
230
|
+
export const getGoogleMapImage = ({ lat, lng }: any, apiKey: string) => {
|
|
120
231
|
return `https://maps.googleapis.com/maps/api/staticmap?size=500x190¢er=${lat},${lng}&zoom=17&scale=2&maptype=roadmap&&markers=icon:https://res.cloudinary.com/ditpjbrmz/image/upload/f_auto,q_auto,w_45,q_auto:best,q_auto:best/v1564675872/marker-customer_kvxric.png%7Ccolor:white%7C${lat},${lng}&key=${apiKey}`
|
|
121
232
|
}
|
|
122
233
|
/**
|
|
@@ -147,8 +258,8 @@ export const sortInputFields = ({ fields, values }: any) => {
|
|
|
147
258
|
return fieldsSorted;
|
|
148
259
|
}
|
|
149
260
|
|
|
150
|
-
export const transformCountryCode = (countryCode
|
|
151
|
-
const code = CODES.find((code
|
|
261
|
+
export const transformCountryCode = (countryCode: number) => {
|
|
262
|
+
const code = CODES.find((code: any) => code.phoneCode === countryCode)
|
|
152
263
|
return code?.countryCode
|
|
153
264
|
}
|
|
154
265
|
|
|
@@ -158,7 +269,7 @@ export const transformCountryCode = (countryCode : number) => {
|
|
|
158
269
|
* @param {*} parser function fallback when is decimal
|
|
159
270
|
* @returns string
|
|
160
271
|
*/
|
|
161
|
-
|
|
272
|
+
export const verifyDecimals = (value: number, parser: any) => {
|
|
162
273
|
if (value % 1 === 0) {
|
|
163
274
|
return value
|
|
164
275
|
} else {
|
|
@@ -174,7 +285,7 @@ export const getTypesText = (value: number) => {
|
|
|
174
285
|
/**
|
|
175
286
|
* List shape for ribbon
|
|
176
287
|
*/
|
|
177
|
-
|
|
288
|
+
export const shape = {
|
|
178
289
|
rectangle: 'rectangle',
|
|
179
290
|
rectangleRound: 'rectangle_round',
|
|
180
291
|
capsuleShape: 'capsule_shape'
|
|
@@ -185,7 +296,7 @@ export const getTypesText = (value: number) => {
|
|
|
185
296
|
* @param {number} value for transform
|
|
186
297
|
*
|
|
187
298
|
*/
|
|
188
|
-
|
|
299
|
+
export const convertToRadian = (value: number) => {
|
|
189
300
|
return value * Math.PI / 180
|
|
190
301
|
}
|
|
191
302
|
|
|
@@ -207,14 +318,14 @@ export const getDistance = (lat1: any, lon1: any, lat2: any, lon2: any) => {
|
|
|
207
318
|
return R * c
|
|
208
319
|
}
|
|
209
320
|
|
|
210
|
-
export const formatUrlVideo = (url
|
|
321
|
+
export const formatUrlVideo = (url: string) => {
|
|
211
322
|
const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/
|
|
212
323
|
const match = url.match(regExp)
|
|
213
324
|
const id = (match && match[7].length === 11) ? match[7] : false
|
|
214
325
|
return `https://www.youtube-nocookie.com/embed/${id}`
|
|
215
326
|
}
|
|
216
327
|
|
|
217
|
-
export const formatSeconds = (seconds
|
|
328
|
+
export const formatSeconds = (seconds: number) => {
|
|
218
329
|
// Hours, minutes and seconds
|
|
219
330
|
var hrs = ~~(seconds / 3600)
|
|
220
331
|
var mins = ~~((seconds % 3600) / 60)
|
|
@@ -233,7 +344,7 @@ export const formatSeconds = (seconds : number) => {
|
|
|
233
344
|
/**
|
|
234
345
|
* List of price to filter businesses
|
|
235
346
|
*/
|
|
236
|
-
|
|
347
|
+
export const priceList = [
|
|
237
348
|
{ level: '1', content: '$' },
|
|
238
349
|
{ level: '2', content: '$$' },
|
|
239
350
|
{ level: '3', content: '$$$' },
|
|
@@ -144,7 +144,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
144
144
|
{isFarAway && (
|
|
145
145
|
<FarAwayMessage style={styles.farAwayMsg}>
|
|
146
146
|
<Ionicons name='md-warning-outline' style={styles.iconStyle} />
|
|
147
|
-
<OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', '
|
|
147
|
+
<OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'Your are far from this address')}</OText>
|
|
148
148
|
</FarAwayMessage>
|
|
149
149
|
)}
|
|
150
150
|
<View style={styles.wrapperOrderOptions}>
|