ordering-ui-react-native 0.15.44 → 0.15.46-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 -3
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/AddressForm/index.tsx +18 -2
- package/src/components/BusinessController/index.tsx +16 -8
- package/src/components/BusinessTypeFilter/index.tsx +3 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +23 -2
- package/src/components/DriverTips/index.tsx +11 -6
- package/src/components/LanguageSelector/index.tsx +7 -2
- package/src/components/LoginForm/index.tsx +3 -1
- package/src/components/OrderDetails/index.tsx +9 -23
- package/src/components/PaymentOptions/index.tsx +1 -1
- package/src/components/PaymentOptionsWebView/index.tsx +123 -124
- package/src/components/SignupForm/index.tsx +3 -1
- package/src/components/SingleProductCard/index.tsx +16 -4
- package/src/components/StripeMethodForm/index.tsx +1 -2
- package/src/components/UpsellingProducts/index.tsx +1 -1
- package/src/components/UserProfileForm/index.tsx +63 -6
- package/src/components/UserProfileForm/styles.tsx +8 -0
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OModal.tsx +1 -1
- package/src/hooks/useCountdownTimer.tsx +26 -0
- package/src/navigators/CheckoutNavigator.tsx +6 -0
- package/src/navigators/HomeNavigator.tsx +12 -0
- package/src/pages/BusinessesListing.tsx +1 -1
- package/src/pages/MultiCheckout.tsx +31 -0
- package/src/pages/MultiOrdersDetails.tsx +27 -0
- package/src/pages/Sessions.tsx +22 -0
- package/src/theme.json +0 -1
- package/src/types/index.tsx +5 -2
- package/src/utils/index.tsx +68 -1
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +103 -15
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -0
- package/themes/business/src/components/Chat/index.tsx +42 -90
- package/themes/business/src/components/DriverMap/index.tsx +6 -5
- package/themes/business/src/components/Home/index.tsx +128 -55
- package/themes/business/src/components/Home/styles.tsx +8 -1
- package/themes/business/src/components/LoginForm/index.tsx +89 -2
- package/themes/business/src/components/LoginForm/styles.tsx +6 -0
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/NewOrderNotification/index.tsx +79 -105
- package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
- package/themes/business/src/components/OrderDetails/Delivery.tsx +35 -18
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +159 -91
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +6 -0
- package/themes/business/src/components/OrderDetails/styles.tsx +7 -0
- package/themes/business/src/components/OrdersListManager/index.tsx +1 -1
- package/themes/business/src/components/OrdersOption/index.tsx +5 -2
- package/themes/business/src/components/PreviousOrders/index.tsx +10 -9
- package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/business/src/components/shared/OModal.tsx +1 -1
- package/themes/business/src/types/index.tsx +5 -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/BusinessMenu/index.tsx +39 -28
- package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -3
- package/themes/kiosk/src/components/Cart/index.tsx +99 -26
- package/themes/kiosk/src/components/Cart/styles.tsx +6 -0
- package/themes/kiosk/src/components/CartBottomSheet/index.tsx +9 -2
- package/themes/kiosk/src/components/CartContent/index.tsx +0 -11
- package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
- package/themes/kiosk/src/components/CategoriesMenu/index.tsx +107 -62
- package/themes/kiosk/src/components/Checkout/index.tsx +40 -22
- package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
- package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
- package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
- package/themes/kiosk/src/components/NavBar/index.tsx +29 -20
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderDetails/index.tsx +165 -65
- package/themes/kiosk/src/components/OrderDetails/styles.tsx +5 -0
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +9 -11
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +56 -54
- package/themes/kiosk/src/components/ProductForm/index.tsx +8 -9
- package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/kiosk/src/components/ProductOption/index.tsx +1 -1
- package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +3 -1
- package/themes/kiosk/src/components/UpsellingProducts/index.tsx +16 -5
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/kiosk/src/types/index.d.ts +3 -0
- package/themes/original/index.tsx +180 -3
- package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
- package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
- package/themes/original/src/components/AddressForm/index.tsx +1 -1
- package/themes/original/src/components/AddressList/index.tsx +30 -18
- package/themes/original/src/components/AppleLogin/index.tsx +117 -78
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +70 -41
- package/themes/original/src/components/BusinessController/index.tsx +48 -11
- package/themes/original/src/components/BusinessController/styles.tsx +27 -0
- package/themes/original/src/components/BusinessFeaturedController/index.tsx +20 -1
- package/themes/original/src/components/BusinessFeaturedController/styles.tsx +23 -0
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +8 -5
- package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
- package/themes/original/src/components/BusinessListingSearch/index.tsx +196 -58
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +22 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +2 -2
- package/themes/original/src/components/BusinessProductsCategories/index.tsx +8 -6
- package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
- package/themes/original/src/components/BusinessProductsList/index.tsx +120 -36
- package/themes/original/src/components/BusinessProductsList/styles.tsx +12 -4
- package/themes/original/src/components/BusinessProductsListing/index.tsx +116 -26
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +22 -0
- package/themes/original/src/components/BusinessReviews/index.tsx +4 -25
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +1 -2
- package/themes/original/src/components/BusinessesListing/index.tsx +127 -66
- package/themes/original/src/components/BusinessesListing/styles.tsx +11 -3
- package/themes/original/src/components/Cart/index.tsx +60 -43
- package/themes/original/src/components/Checkout/index.tsx +50 -33
- package/themes/original/src/components/DriverTips/index.tsx +17 -12
- package/themes/original/src/components/Favorite/index.tsx +91 -0
- package/themes/original/src/components/Favorite/styles.tsx +22 -0
- package/themes/original/src/components/FavoriteList/index.tsx +287 -0
- package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +84 -4
- package/themes/original/src/components/GPSButton/index.tsx +15 -8
- package/themes/original/src/components/GoogleMap/index.tsx +1 -0
- package/themes/original/src/components/Help/index.tsx +21 -4
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
- package/themes/original/src/components/Home/index.tsx +1 -1
- package/themes/original/src/components/LastOrders/index.tsx +12 -1
- package/themes/original/src/components/LoginForm/Otp/index.tsx +90 -0
- package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
- package/themes/original/src/components/LoginForm/index.tsx +394 -155
- package/themes/original/src/components/LoginForm/styles.tsx +7 -4
- package/themes/original/src/components/LogoutButton/index.tsx +7 -1
- package/themes/original/src/components/MessageListing/index.tsx +10 -1
- package/themes/original/src/components/Messages/index.tsx +1 -1
- package/themes/original/src/components/MomentOption/index.tsx +10 -1
- package/themes/original/src/components/MomentOption/styles.tsx +1 -1
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
- package/themes/original/src/components/MultiCheckout/index.tsx +298 -0
- package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
- package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +258 -0
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
- package/themes/original/src/components/MyOrders/index.tsx +120 -32
- package/themes/original/src/components/MyOrders/styles.tsx +8 -1
- package/themes/original/src/components/OrderDetails/index.tsx +64 -44
- package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
- package/themes/original/src/components/OrderProgress/index.tsx +3 -3
- package/themes/original/src/components/OrderProgress/styles.tsx +1 -0
- package/themes/original/src/components/OrderSummary/index.tsx +3 -3
- package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -2
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +153 -0
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +53 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/index.tsx +133 -41
- package/themes/original/src/components/OrdersOption/styles.tsx +4 -7
- package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +22 -24
- package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
- package/themes/original/src/components/PaymentOptions/index.tsx +19 -15
- package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
- package/themes/original/src/components/PreviousOrders/index.tsx +18 -145
- package/themes/original/src/components/ProductForm/index.tsx +74 -66
- package/themes/original/src/components/ProductForm/styles.tsx +0 -1
- package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
- package/themes/original/src/components/Promotions/index.tsx +250 -0
- package/themes/original/src/components/Promotions/styles.tsx +60 -0
- package/themes/original/src/components/SearchBar/index.tsx +10 -4
- package/themes/original/src/components/Sessions/index.tsx +160 -0
- package/themes/original/src/components/Sessions/styles.tsx +15 -0
- package/themes/original/src/components/SignupForm/index.tsx +79 -6
- package/themes/original/src/components/SingleOrderCard/index.tsx +282 -0
- package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
- package/themes/original/src/components/SingleProductCard/index.tsx +59 -17
- package/themes/original/src/components/StripeElementsForm/index.tsx +16 -8
- package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
- package/themes/original/src/components/TaxInformation/index.tsx +10 -4
- package/themes/original/src/components/UpsellingProducts/index.tsx +86 -74
- package/themes/original/src/components/UserDetails/index.tsx +5 -96
- package/themes/original/src/components/UserFormDetails/index.tsx +34 -24
- package/themes/original/src/components/UserProfile/index.tsx +59 -5
- package/themes/original/src/components/UserProfileForm/index.tsx +20 -18
- package/themes/original/src/components/UserVerification/index.tsx +178 -192
- package/themes/original/src/components/VerifyPhone/index.tsx +10 -7
- package/themes/original/src/components/VerifyPhone/styles.tsx +2 -1
- package/themes/original/src/components/Wallets/index.tsx +76 -9
- package/themes/original/src/components/Wallets/styles.tsx +21 -0
- package/themes/original/src/components/shared/HeaderTitle.tsx +2 -1
- package/themes/original/src/components/shared/OModal.tsx +4 -2
- package/themes/original/src/config/constants.tsx +6 -6
- package/themes/original/src/types/index.tsx +132 -9
- package/themes/original/src/utils/index.tsx +19 -2
- package/themes/single-business/src/components/AddressList/index.tsx +1 -1
- package/themes/single-business/src/components/OrderTypeSelector/index.tsx +1 -1
- package/themes/single-business/src/components/UserProfile/index.tsx +1 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ordering-ui-react-native",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.46-release",
|
|
4
4
|
"description": "Reusable components made in react native",
|
|
5
5
|
"main": "src/index.tsx",
|
|
6
6
|
"author": "ordering.inc",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/styled-components": "^5.1.3",
|
|
58
58
|
"axios": "^0.21.0",
|
|
59
59
|
"moment": "^2.29.1",
|
|
60
|
-
"ordering-components": "github:Ordering-Inc/ordering-components#
|
|
60
|
+
"ordering-components": "github:Ordering-Inc/ordering-components#release",
|
|
61
61
|
"patch-package": "^6.4.7",
|
|
62
62
|
"postinstall-postinstall": "^2.1.0",
|
|
63
63
|
"prop-types": "^15.7.2",
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
"react-native-picker-select": "^8.0.4",
|
|
100
100
|
"react-native-print": "^0.9.0",
|
|
101
101
|
"react-native-reanimated": "^1.13.1",
|
|
102
|
+
"react-native-recaptcha-that-works": "^1.2.0",
|
|
102
103
|
"react-native-restart": "^0.0.22",
|
|
103
104
|
"react-native-safe-area-context": "^3.1.8",
|
|
104
105
|
"react-native-screens": "^2.11.0",
|
|
@@ -108,6 +109,7 @@
|
|
|
108
109
|
"react-native-sound": "^0.11.1",
|
|
109
110
|
"react-native-swipe-gestures": "^1.0.5",
|
|
110
111
|
"react-native-swiper": "^1.6.0",
|
|
112
|
+
"react-native-tracking-transparency": "^0.1.1",
|
|
111
113
|
"react-native-uuid": "^2.0.1",
|
|
112
114
|
"react-native-vector-icons": "^7.1.0",
|
|
113
115
|
"react-native-webview": "^11.6.4",
|
|
@@ -122,7 +124,8 @@
|
|
|
122
124
|
"@babel/core": "^7.11.6",
|
|
123
125
|
"@babel/runtime": "^7.11.2",
|
|
124
126
|
"@react-native-community/eslint-config": "^2.0.0",
|
|
125
|
-
"@types/react": "^
|
|
127
|
+
"@types/react": "^18.0.15",
|
|
128
|
+
"@types/react-dom": "^18.0.6",
|
|
126
129
|
"@types/react-native": "^0.63.25",
|
|
127
130
|
"babel-jest": "^26.3.0",
|
|
128
131
|
"eslint": "^7.10.0",
|
package/src/DeliveryApp.tsx
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import * as React from 'react';
|
|
10
|
-
import { LogBox } from 'react-native';
|
|
10
|
+
import { LogBox, Platform } from 'react-native';
|
|
11
|
+
import * as Sentry from "@sentry/react-native";
|
|
11
12
|
import { OrderingProvider } from 'ordering-components/native';
|
|
12
13
|
import RNBootSplash from "react-native-bootsplash";
|
|
13
14
|
|
|
@@ -22,6 +23,47 @@ import theme from './theme.json';
|
|
|
22
23
|
import AppContainer from './AppContainer';
|
|
23
24
|
import { FacebookPixel } from './components/FacebookPixel';
|
|
24
25
|
|
|
26
|
+
Sentry.init({
|
|
27
|
+
environment: Platform.OS === 'ios' ? 'ios' : 'android',
|
|
28
|
+
dsn: 'https://e5e1115dc93b49109f4ab65f2098bef9@o460529.ingest.sentry.io/5722123',
|
|
29
|
+
release: 'ordering-ui-native@' + process.env.npm_package_version,
|
|
30
|
+
ignoreErrors: [
|
|
31
|
+
'is not defined',
|
|
32
|
+
'is not a function',
|
|
33
|
+
'can\'t find variable',
|
|
34
|
+
'objects are not valid',
|
|
35
|
+
'element type is invalid',
|
|
36
|
+
'requiring module',
|
|
37
|
+
'has not been registered',
|
|
38
|
+
'failed to connect to debugger!',
|
|
39
|
+
'rendered more hooks than',
|
|
40
|
+
'rendered fewer hooks than',
|
|
41
|
+
'should have a queue',
|
|
42
|
+
'the OS most likely terminated',
|
|
43
|
+
'Connection timed out',
|
|
44
|
+
'java.io.EOFException',
|
|
45
|
+
'Abort',
|
|
46
|
+
'Segfault',
|
|
47
|
+
'Failed to allocate a',
|
|
48
|
+
'Application Not Responding',
|
|
49
|
+
'connection no longer valid',
|
|
50
|
+
'IllegalInstruction',
|
|
51
|
+
'React.Children.only expected to receive a single React element child.',
|
|
52
|
+
'unrecognized selector sent to instance'
|
|
53
|
+
],
|
|
54
|
+
tracesSampleRate: 0.2,
|
|
55
|
+
// Release health
|
|
56
|
+
enableAutoSessionTracking: true,
|
|
57
|
+
// Sessions close after app is 10 seconds in the background.
|
|
58
|
+
sessionTrackingIntervalMillis: 10000,
|
|
59
|
+
|
|
60
|
+
integrations: [
|
|
61
|
+
new Sentry.ReactNativeTracing({
|
|
62
|
+
routingInstrumentation: reactNavigationV5Instrumentation,
|
|
63
|
+
})
|
|
64
|
+
]
|
|
65
|
+
});
|
|
66
|
+
|
|
25
67
|
LogBox.ignoreLogs([
|
|
26
68
|
'Sending \`onAnimatedValueUpdate` with no listeners registered.',
|
|
27
69
|
'Non-serializable values were found in the navigation state.',
|
|
@@ -210,9 +210,25 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
210
210
|
}
|
|
211
211
|
if ( addressType === 'postal_code') {
|
|
212
212
|
postalCode = component.short_name
|
|
213
|
+
if (isObjet) {
|
|
214
|
+
setValue('zipcode', postalCode)
|
|
215
|
+
handleChangeInput({ target: { name: 'zipcode', value: postalCode } })
|
|
216
|
+
}
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
219
|
isObjet ? address = addressValue.join(', ') : address
|
|
220
|
+
|
|
221
|
+
if (isObjet) {
|
|
222
|
+
setValue('address', address)
|
|
223
|
+
googleInput?.current?.setAddressText(address)
|
|
224
|
+
setLoadingLocation(false)
|
|
225
|
+
updateChanges({
|
|
226
|
+
address: address,
|
|
227
|
+
location: json.results[0].geometry.location
|
|
228
|
+
})
|
|
229
|
+
return
|
|
230
|
+
}
|
|
231
|
+
|
|
216
232
|
data.address = {
|
|
217
233
|
address,
|
|
218
234
|
location: json.results[0].geometry.location,
|
|
@@ -597,7 +613,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
597
613
|
name='zipcode'
|
|
598
614
|
rules={{ required: isRequiredField && isRequiredField('zipcode') ? t(`VALIDATION_ERROR_ZIP_CODE_REQUIRED`, `The field Zip Code is required`) : null }}
|
|
599
615
|
defaultValue={address?.zipcode || formState.changes?.zipcode || addressState.address.zipcode || ''}
|
|
600
|
-
render={() => (
|
|
616
|
+
render={({ value }) => (
|
|
601
617
|
<OInput
|
|
602
618
|
name='zipcode'
|
|
603
619
|
placeholder={t('ZIP_CODE', 'Zip code')}
|
|
@@ -605,7 +621,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
605
621
|
handleChangeInput(text)
|
|
606
622
|
setValue('zipcode', text)
|
|
607
623
|
}}
|
|
608
|
-
value={address?.zipcode || formState.changes?.zipcode || addressState.address.zipcode || ''}
|
|
624
|
+
value={value || address?.zipcode || formState.changes?.zipcode || addressState.address.zipcode || ''}
|
|
609
625
|
style={styles.inputsStyle}
|
|
610
626
|
forwardRef={zipCodeRef}
|
|
611
627
|
returnKeyType='next'
|
|
@@ -32,6 +32,7 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
32
32
|
business,
|
|
33
33
|
handleClick,
|
|
34
34
|
isBusinessOpen,
|
|
35
|
+
getBusinessOffer,
|
|
35
36
|
businessWillCloseSoonMinutes,
|
|
36
37
|
isBusinessClose
|
|
37
38
|
} = props;
|
|
@@ -145,11 +146,18 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
145
146
|
/>
|
|
146
147
|
</BusinessLogo>
|
|
147
148
|
<BusinessState>
|
|
148
|
-
{!isBusinessOpen && (
|
|
149
|
+
{(!isBusinessOpen || !!getBusinessOffer(business?.offers)) && (
|
|
149
150
|
<View style={styles.businessStateView}>
|
|
150
|
-
|
|
151
|
-
{
|
|
152
|
-
|
|
151
|
+
{getBusinessOffer(business?.offers) && (
|
|
152
|
+
<OText color={theme.colors.white} size={18} style={styles.businessStateText}>
|
|
153
|
+
{getBusinessOffer(business?.offers) || parsePrice(0)}
|
|
154
|
+
</OText>
|
|
155
|
+
)}
|
|
156
|
+
{!isBusinessOpen && (
|
|
157
|
+
<OText color={theme.colors.white} size={18} style={styles.businessStateText}>
|
|
158
|
+
{t('PREORDER', 'PREORDER')}
|
|
159
|
+
</OText>
|
|
160
|
+
)}
|
|
153
161
|
</View>
|
|
154
162
|
)}
|
|
155
163
|
</BusinessState>
|
|
@@ -158,10 +166,10 @@ export const BusinessControllerUI = (props: BusinessControllerParams) => {
|
|
|
158
166
|
<BusinessInfo>
|
|
159
167
|
<View style={{ width: '70%', alignItems: 'flex-start' }}>
|
|
160
168
|
<OText
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
169
|
+
size={20}
|
|
170
|
+
numberOfLines={1}
|
|
171
|
+
ellipsizeMode='tail'
|
|
172
|
+
>
|
|
165
173
|
{business?.name}
|
|
166
174
|
</OText>
|
|
167
175
|
</View>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
|
-
import { StyleSheet, View, ScrollView,
|
|
2
|
+
import { StyleSheet, View, ScrollView, Dimensions, Platform, PlatformIOSStatic, TouchableOpacity } from 'react-native'
|
|
3
3
|
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder'
|
|
4
4
|
import { BusinessTypeFilter as BusinessTypeFilterController, useLanguage } from 'ordering-components/native'
|
|
5
5
|
|
|
@@ -71,11 +71,13 @@ export const BusinessTypeFilterUI = (props: BusinessTypeFilterParams) => {
|
|
|
71
71
|
<OIcon
|
|
72
72
|
url={item.image}
|
|
73
73
|
style={styles.logo}
|
|
74
|
+
cover
|
|
74
75
|
/>
|
|
75
76
|
) : (
|
|
76
77
|
<OIcon
|
|
77
78
|
src={theme.images.categories.all}
|
|
78
79
|
style={styles.logo}
|
|
80
|
+
cover
|
|
79
81
|
/>
|
|
80
82
|
)}
|
|
81
83
|
<OText
|
|
@@ -191,7 +191,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
191
191
|
{isFarAway && (
|
|
192
192
|
<FarAwayMessage style={styles.farAwayMsg}>
|
|
193
193
|
<Ionicons name='md-warning-outline' style={styles.iconStyle} />
|
|
194
|
-
<OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', '
|
|
194
|
+
<OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'Your are far from this address')}</OText>
|
|
195
195
|
</FarAwayMessage>
|
|
196
196
|
)}
|
|
197
197
|
</OrderControlContainer>
|
|
@@ -592,6 +592,19 @@ const CheckoutUI = (props: any) => {
|
|
|
592
592
|
{t('WARNING_INVALID_PRODUCTS', 'Some products are invalid, please check them.')}
|
|
593
593
|
</OText>
|
|
594
594
|
)}
|
|
595
|
+
|
|
596
|
+
{options.type === 1 &&
|
|
597
|
+
validationFields?.fields?.checkout?.driver_tip?.enabled &&
|
|
598
|
+
validationFields?.fields?.checkout?.driver_tip?.required &&
|
|
599
|
+
(Number(cart?.driver_tip) <= 0) && (
|
|
600
|
+
<OText
|
|
601
|
+
style={{ textAlign: 'center' }}
|
|
602
|
+
color={theme.colors.error}
|
|
603
|
+
size={14}
|
|
604
|
+
>
|
|
605
|
+
{t('WARNING_INVALID_DRIVER_TIP', 'Driver Tip is required.')}
|
|
606
|
+
</OText>
|
|
607
|
+
)}
|
|
595
608
|
</ChErrors>
|
|
596
609
|
</ChSection>
|
|
597
610
|
)}
|
|
@@ -602,8 +615,16 @@ const CheckoutUI = (props: any) => {
|
|
|
602
615
|
<>
|
|
603
616
|
<FloatingButton
|
|
604
617
|
handleClick={() => handlePlaceOrder()}
|
|
605
|
-
isSecondaryBtn={loading || !cart?.valid || !paymethodSelected || placing || errorCash || cart?.subtotal_to_calculate < cart?.minimum || paymethodSelected?.gateway === 'paypal'
|
|
606
|
-
|
|
618
|
+
isSecondaryBtn={loading || !cart?.valid || !paymethodSelected || placing || errorCash || cart?.subtotal_to_calculate < cart?.minimum || paymethodSelected?.gateway === 'paypal' ||
|
|
619
|
+
(options.type === 1 &&
|
|
620
|
+
validationFields?.fields?.checkout?.driver_tip?.enabled &&
|
|
621
|
+
validationFields?.fields?.checkout?.driver_tip?.required &&
|
|
622
|
+
(Number(cart?.driver_tip) <= 0))}
|
|
623
|
+
disabled={loading || !cart?.valid || !paymethodSelected || placing || errorCash || cart?.subtotal_to_calculate < cart?.minimum || paymethodSelected?.gateway === 'paypal' ||
|
|
624
|
+
(options.type === 1 &&
|
|
625
|
+
validationFields?.fields?.checkout?.driver_tip?.enabled &&
|
|
626
|
+
validationFields?.fields?.checkout?.driver_tip?.required &&
|
|
627
|
+
(Number(cart?.driver_tip) <= 0))}
|
|
607
628
|
btnText={cart?.subtotal_to_calculate >= cart?.minimum
|
|
608
629
|
? (
|
|
609
630
|
placing
|
|
@@ -49,7 +49,7 @@ const DriverTipsUI = (props: any) => {
|
|
|
49
49
|
const [{ configs }] = useConfig();
|
|
50
50
|
const [{loading}] = useOrder()
|
|
51
51
|
|
|
52
|
-
const [value, setvalue] = useState(
|
|
52
|
+
const [value, setvalue] = useState('');
|
|
53
53
|
const [valueOption,setValueOption] = useState(0)
|
|
54
54
|
|
|
55
55
|
const placeholderCurrency = (configs?.currency_position?.value || 'left') === 'left'
|
|
@@ -57,9 +57,12 @@ const DriverTipsUI = (props: any) => {
|
|
|
57
57
|
: `0${configs?.format_number_currency?.value}`
|
|
58
58
|
|
|
59
59
|
const handleChangeDriverTip = (val: any) => {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const tip = Number(val)
|
|
61
|
+
if ((isNaN(tip) || tip < 0)) {
|
|
62
|
+
setvalue(value)
|
|
63
|
+
return
|
|
64
|
+
}
|
|
65
|
+
setvalue(val)
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
const handleChangeOptionCustom = (val : any) => {
|
|
@@ -110,6 +113,8 @@ const DriverTipsUI = (props: any) => {
|
|
|
110
113
|
<OInput
|
|
111
114
|
placeholder={placeholderCurrency}
|
|
112
115
|
style={style.inputStyle}
|
|
116
|
+
value={value}
|
|
117
|
+
type={'numeric'}
|
|
113
118
|
onChange={handleChangeDriverTip}
|
|
114
119
|
autoCapitalize='none'
|
|
115
120
|
autoCorrect={false}
|
|
@@ -121,10 +126,10 @@ const DriverTipsUI = (props: any) => {
|
|
|
121
126
|
textStyle={{ color: 'white', fontSize: 18, maxWidth: 110, minWidth: 60 }}
|
|
122
127
|
imgRightSrc={null}
|
|
123
128
|
textProps={{numberOfLines: 1}}
|
|
124
|
-
isDisabled={
|
|
129
|
+
isDisabled={parseFloat(value || '0') < 0 || parseFloat(value || '0') === driverTip || value === ''}
|
|
125
130
|
onClick={() => {
|
|
126
131
|
handlerChangeOption(value)
|
|
127
|
-
setvalue(
|
|
132
|
+
setvalue('')
|
|
128
133
|
}}
|
|
129
134
|
/>
|
|
130
135
|
</DTWrapperInput>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from 'react'
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
2
|
import { LanguageSelector as LanguageSelectorController, useOrder } from 'ordering-components/native'
|
|
3
3
|
import { useTheme } from 'styled-components/native';
|
|
4
4
|
import { I18nManager, Platform, StyleSheet, View } from 'react-native'
|
|
@@ -87,7 +87,11 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
|
|
|
87
87
|
changeDirection(Platform.OS === 'ios' ? language : langCode)
|
|
88
88
|
handleChangeLanguage(Platform.OS === 'ios' ? language : langCode)
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
changeDirection(currentLanguage)
|
|
93
|
+
}, [])
|
|
94
|
+
|
|
91
95
|
return (
|
|
92
96
|
<Container>
|
|
93
97
|
{languagesState?.languages ? (
|
|
@@ -101,6 +105,7 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
|
|
|
101
105
|
disabled={orderState.loading}
|
|
102
106
|
onClose={() => Platform.OS === 'ios' ? handlerChangeLanguage() : {}}
|
|
103
107
|
onDonePress={() => handlerChangeLanguage()}
|
|
108
|
+
fixAndroidTouchableBug={true}
|
|
104
109
|
/>
|
|
105
110
|
) : <DummyContainer />}
|
|
106
111
|
</Container>
|
|
@@ -92,6 +92,8 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
92
92
|
|
|
93
93
|
const inputRef = useRef<any>({})
|
|
94
94
|
|
|
95
|
+
const googleLoginEnabled = configs?.google_login_enabled?.value === '1' || !configs?.google_login_enabled?.enabled
|
|
96
|
+
|
|
95
97
|
const anySocialButtonActivated = ((configs?.facebook_login?.value === 'true' || configs?.facebook_login?.value === '1') && configs?.facebook_id?.value) ||
|
|
96
98
|
(configs?.google_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null) ||
|
|
97
99
|
(configs?.apple_login_client_id?.value !== '' && configs?.apple_login_client_id?.value !== null)
|
|
@@ -381,7 +383,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
381
383
|
handleSuccessFacebookLogin={handleSuccessFacebook}
|
|
382
384
|
/>
|
|
383
385
|
)}
|
|
384
|
-
{(configs?.google_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null) && (
|
|
386
|
+
{(configs?.google_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null) && googleLoginEnabled && (
|
|
385
387
|
<GoogleLogin
|
|
386
388
|
notificationState={notificationState}
|
|
387
389
|
webClientId={configs?.google_login_client_id?.value}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useState, useEffect
|
|
2
|
-
import { View, StyleSheet, BackHandler, TouchableOpacity, I18nManager
|
|
1
|
+
import React, { useState, useEffect } from 'react'
|
|
2
|
+
import { View, StyleSheet, BackHandler, TouchableOpacity, I18nManager } from 'react-native'
|
|
3
3
|
import LinearGradient from 'react-native-linear-gradient'
|
|
4
4
|
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
|
|
5
5
|
import MaterialCommunityIcon from 'react-native-vector-icons/MaterialCommunityIcons'
|
|
@@ -109,7 +109,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
109
109
|
const [isReviewed, setIsReviewed] = useState(false)
|
|
110
110
|
const [openOrderCreating, setOpenOrderCreating] = useState(false)
|
|
111
111
|
const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, tax: null, type: '' })
|
|
112
|
-
const appState = useRef(AppState.currentState)
|
|
113
112
|
|
|
114
113
|
const { order, loading, businessData, error } = props.order
|
|
115
114
|
|
|
@@ -259,24 +258,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
259
258
|
})
|
|
260
259
|
}, [])
|
|
261
260
|
|
|
262
|
-
useEffect(() => {
|
|
263
|
-
const onFocusApp = (nextAppState: any) => {
|
|
264
|
-
if (
|
|
265
|
-
appState.current.match(/inactive|background/) &&
|
|
266
|
-
nextAppState === "active"
|
|
267
|
-
) {
|
|
268
|
-
getOrder && getOrder()
|
|
269
|
-
}
|
|
270
|
-
appState.current = nextAppState;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
AppState.addEventListener("change", onFocusApp);
|
|
274
|
-
return () => {
|
|
275
|
-
AppState.removeEventListener('change', onFocusApp);
|
|
276
|
-
};
|
|
277
|
-
}, [])
|
|
278
|
-
|
|
279
|
-
|
|
280
261
|
return (
|
|
281
262
|
<OrderDetailsContainer keyboardShouldPersistTaps='handled'>
|
|
282
263
|
{order && order?.id && !error && !loading && (
|
|
@@ -400,6 +381,11 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
400
381
|
<InfoBlock>
|
|
401
382
|
<OText size={18} style={{ textAlign: 'left' }} >{order?.customer?.name} {order?.customer?.lastname}</OText>
|
|
402
383
|
<OText style={{ textAlign: 'left' }}>{order?.customer?.address}</OText>
|
|
384
|
+
{(!!order?.customer?.cellphone) && (
|
|
385
|
+
<OText size={18} style={{ textAlign: 'left' }}>
|
|
386
|
+
{(order?.customer?.country_phone_code) && `+${(order?.customer?.country_phone_code)} `}{(order?.customer?.cellphone)}
|
|
387
|
+
</OText>
|
|
388
|
+
)}
|
|
403
389
|
</InfoBlock>
|
|
404
390
|
</Customer>
|
|
405
391
|
{order?.delivery_option !== undefined && order?.delivery_type === 1 && (
|
|
@@ -514,7 +500,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
514
500
|
</Table>
|
|
515
501
|
)}
|
|
516
502
|
{
|
|
517
|
-
order?.taxes?.length === 0 && order?.tax_type === 2 && (
|
|
503
|
+
order?.taxes?.length === 0 && order?.tax_type === 2 && order?.summary?.tax > 0 && (
|
|
518
504
|
<Table>
|
|
519
505
|
<OText>
|
|
520
506
|
{t('TAX', 'Tax')} {`(${verifyDecimals(order?.tax, parseNumber)}%)`}
|
|
@@ -524,7 +510,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
524
510
|
)
|
|
525
511
|
}
|
|
526
512
|
{
|
|
527
|
-
order?.fees?.length === 0 && (
|
|
513
|
+
order?.fees?.length === 0 && order?.summary?.service_fee > 0 && (
|
|
528
514
|
<Table>
|
|
529
515
|
<OText>
|
|
530
516
|
{t('SERVICE_FEE', 'Service fee')}
|
|
@@ -156,7 +156,7 @@ const PaymentOptionsUI = (props: any) => {
|
|
|
156
156
|
)
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
const excludeGateway: any = ['stripe_connect', 'stripe_redirect']; //exclude connect & redirect
|
|
159
|
+
const excludeGateway: any = ['stripe_connect', 'stripe_redirect', 'apple_pay']; //exclude connect & redirect & apple pay
|
|
160
160
|
|
|
161
161
|
return (
|
|
162
162
|
<PMContainer>
|