ordering-ui-react-native 0.16.3 → 0.16.4-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 +8 -4
- 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/AddressForm/index.tsx +18 -2
- package/src/components/BusinessBasicInformation/index.tsx +11 -19
- package/src/components/BusinessController/index.tsx +10 -8
- package/src/components/BusinessInformation/index.tsx +22 -0
- package/src/components/BusinessTypeFilter/index.tsx +1 -2
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +2 -1
- package/src/components/DriverTips/index.tsx +11 -6
- package/src/components/LanguageSelector/index.tsx +21 -16
- package/src/components/LoginForm/index.tsx +120 -30
- package/src/components/LoginForm/styles.tsx +6 -0
- package/src/components/Messages/index.tsx +2 -2
- package/src/components/NotificationSetting/index.tsx +85 -0
- package/src/components/OrderDetails/index.tsx +7 -21
- 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 +145 -61
- package/src/components/SingleProductReview/index.tsx +8 -5
- package/src/components/StripeElementsForm/index.tsx +25 -16
- package/src/components/StripeMethodForm/index.tsx +1 -2
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OBottomPopup.tsx +6 -2
- package/src/components/shared/OModal.tsx +1 -1
- package/src/index.tsx +2 -0
- package/src/navigators/CheckoutNavigator.tsx +6 -0
- package/src/navigators/HomeNavigator.tsx +6 -0
- package/src/pages/BusinessesListing.tsx +7 -6
- package/src/pages/MultiCheckout.tsx +31 -0
- package/src/pages/MultiOrdersDetails.tsx +27 -0
- package/src/pages/OrderDetails.tsx +1 -1
- package/src/pages/ReviewDriver.tsx +2 -2
- package/src/pages/ReviewOrder.tsx +2 -2
- package/src/theme.json +0 -1
- package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
- package/src/types/index.tsx +13 -9
- package/src/utils/index.tsx +0 -1
- package/themes/business/index.tsx +4 -0
- package/themes/business/src/components/BusinessController/index.tsx +2 -2
- package/themes/business/src/components/Chat/index.tsx +42 -34
- package/themes/business/src/components/DriverMap/index.tsx +13 -10
- package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
- package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
- package/themes/business/src/components/LoginForm/index.tsx +111 -74
- package/themes/business/src/components/MapView/index.tsx +1 -1
- package/themes/business/src/components/MessagesOption/index.tsx +11 -1
- package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
- package/themes/business/src/components/OrderDetails/Delivery.tsx +3 -3
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -18
- 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 +21 -23
- package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
- package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
- package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
- package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
- package/themes/business/src/components/shared/ODropDown.tsx +42 -8
- package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
- package/themes/business/src/components/shared/OModal.tsx +41 -38
- package/themes/business/src/types/index.tsx +14 -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/BusinessMenu/index.tsx +2 -1
- package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
- package/themes/kiosk/src/components/CategoriesMenu/index.tsx +1 -0
- package/themes/kiosk/src/components/Checkout/index.tsx +18 -3
- 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/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/OrderDetails/index.tsx +2 -2
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +1 -1
- 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 +22 -0
- 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 +136 -133
- 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 +302 -160
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
- package/themes/original/src/components/BusinessController/index.tsx +179 -96
- package/themes/original/src/components/BusinessController/styles.tsx +5 -0
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
- package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
- 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 +106 -126
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +18 -13
- package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
- package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
- package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
- 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 +66 -73
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +290 -178
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
- package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
- package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
- package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
- package/themes/original/src/components/BusinessesListing/index.tsx +102 -464
- package/themes/original/src/components/Cart/index.tsx +82 -37
- 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 +107 -67
- package/themes/original/src/components/Checkout/styles.tsx +0 -1
- package/themes/original/src/components/DriverTips/index.tsx +11 -6
- package/themes/original/src/components/Favorite/index.tsx +92 -0
- package/themes/original/src/components/Favorite/styles.tsx +22 -0
- package/themes/original/src/components/FavoriteList/index.tsx +317 -0
- package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
- package/themes/original/src/components/GPSButton/index.tsx +25 -17
- package/themes/original/src/components/GoogleMap/index.tsx +21 -12
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
- package/themes/original/src/components/HelpGuide/index.tsx +8 -3
- package/themes/original/src/components/HelpOrder/index.tsx +8 -3
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
- package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -2
- package/themes/original/src/components/LoginForm/index.tsx +86 -43
- package/themes/original/src/components/Messages/index.tsx +17 -17
- package/themes/original/src/components/MomentSelector/index.tsx +197 -0
- package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
- 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 +304 -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 +262 -0
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
- package/themes/original/src/components/MyOrders/index.tsx +132 -27
- package/themes/original/src/components/MyOrders/styles.tsx +8 -1
- package/themes/original/src/components/NavBar/index.tsx +11 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
- package/themes/original/src/components/OrderDetails/index.tsx +135 -56
- package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
- package/themes/original/src/components/OrderItAgain/index.tsx +73 -0
- package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
- package/themes/original/src/components/OrderProgress/index.tsx +8 -2
- package/themes/original/src/components/OrderSummary/index.tsx +2 -35
- package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
- package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +140 -0
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/index.tsx +143 -47
- package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +15 -23
- package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
- package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
- 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 +18 -147
- package/themes/original/src/components/ProductForm/index.tsx +697 -649
- package/themes/original/src/components/ProductForm/styles.tsx +9 -7
- package/themes/original/src/components/ProductItemAccordion/index.tsx +37 -24
- package/themes/original/src/components/ProductOption/index.tsx +1 -1
- package/themes/original/src/components/ProfessionalFilter/index.tsx +129 -0
- package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
- package/themes/original/src/components/ProfessionalProfile/index.tsx +309 -0
- package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
- package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
- package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- 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 +13 -5
- package/themes/original/src/components/ServiceForm/index.tsx +608 -0
- package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
- package/themes/original/src/components/SignupForm/index.tsx +307 -159
- package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
- package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
- package/themes/original/src/components/SingleProductCard/index.tsx +215 -95
- package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
- package/themes/original/src/components/SingleProductReview/index.tsx +30 -3
- package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
- package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
- package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
- package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
- package/themes/original/src/components/UserDetails/index.tsx +32 -18
- package/themes/original/src/components/UserFormDetails/index.tsx +107 -73
- package/themes/original/src/components/UserProfile/index.tsx +4 -0
- package/themes/original/src/components/UserProfileForm/index.tsx +15 -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 -162
- package/themes/original/src/components/Wallets/styles.tsx +10 -8
- package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
- package/themes/original/src/components/shared/OButton.tsx +10 -3
- package/themes/original/src/components/shared/OInput.tsx +3 -2
- package/themes/original/src/components/shared/OModal.tsx +4 -2
- package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
- package/themes/original/src/types/index.tsx +200 -47
- package/themes/original/src/utils/index.tsx +77 -0
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -13,6 +13,7 @@ import { useTheme } from 'styled-components/native';
|
|
|
13
13
|
import { useLocation } from '../../hooks/useLocation';
|
|
14
14
|
import { FloatingButton } from '../FloatingButton';
|
|
15
15
|
import { showLocation } from 'react-native-map-link';
|
|
16
|
+
import { transformDistance } from '../../utils';
|
|
16
17
|
|
|
17
18
|
export const DriverMap = (props: GoogleMapsParams) => {
|
|
18
19
|
const {
|
|
@@ -56,6 +57,7 @@ export const DriverMap = (props: GoogleMapsParams) => {
|
|
|
56
57
|
content: Array<string>;
|
|
57
58
|
key?: string | null;
|
|
58
59
|
}>({ open: false, content: [], key: null });
|
|
60
|
+
const distanceUnit = configState?.configs?.distance_unit?.value
|
|
59
61
|
|
|
60
62
|
const {
|
|
61
63
|
hasLocation,
|
|
@@ -327,6 +329,7 @@ export const DriverMap = (props: GoogleMapsParams) => {
|
|
|
327
329
|
justifyContent: 'center',
|
|
328
330
|
paddingVertical: 10,
|
|
329
331
|
paddingHorizontal: 80,
|
|
332
|
+
position: 'absolute'
|
|
330
333
|
},
|
|
331
334
|
showButton: {
|
|
332
335
|
alignSelf: 'center',
|
|
@@ -474,9 +477,10 @@ export const DriverMap = (props: GoogleMapsParams) => {
|
|
|
474
477
|
src={theme.images.general.arrow_distance}
|
|
475
478
|
style={styles.arrowDistance}
|
|
476
479
|
/>
|
|
477
|
-
<OText size={12} numberOfLines={3}>
|
|
478
|
-
distancesFromTwoPlacesKm
|
|
479
|
-
|
|
480
|
+
<OText size={12} numberOfLines={3}>
|
|
481
|
+
{`${transformDistance(distancesFromTwoPlacesKm, distanceUnit)} ${t(distanceUnit.toUpperCase(), distanceUnit)}`}
|
|
482
|
+
</OText>
|
|
483
|
+
|
|
480
484
|
</View>
|
|
481
485
|
<View style={{ width: '75%', paddingRight: 20 }}>
|
|
482
486
|
<OText
|
|
@@ -484,20 +488,19 @@ export const DriverMap = (props: GoogleMapsParams) => {
|
|
|
484
488
|
size={13}
|
|
485
489
|
numberOfLines={2}
|
|
486
490
|
adjustsFontSizeToFit>
|
|
487
|
-
{`${travelTime.toFixed(2)} - ${isMin ? t('MINNUTES', 'mins') : t('HOURS', 'hours')
|
|
488
|
-
} ${distancesFromTwoPlacesKm.toFixed(2)} km`}
|
|
491
|
+
{`${travelTime.toFixed(2)} - ${isMin ? t('MINNUTES', 'mins') : t('HOURS', 'hours')}`}
|
|
489
492
|
</OText>
|
|
490
493
|
</View>
|
|
491
494
|
</View>
|
|
492
495
|
</View>
|
|
493
|
-
<View style={
|
|
496
|
+
<View style={{
|
|
497
|
+
...styles.buttonContainer,
|
|
498
|
+
bottom: showAcceptOrReject ? 80 : 0
|
|
499
|
+
}}>
|
|
494
500
|
<OButton
|
|
495
501
|
imgRightSrc=''
|
|
496
502
|
textStyle={{ color: theme.colors.white }}
|
|
497
|
-
style={
|
|
498
|
-
...styles.showButton,
|
|
499
|
-
bottom: showAcceptOrReject ? 80 : 0
|
|
500
|
-
}}
|
|
503
|
+
style={styles.showButton}
|
|
501
504
|
onClick={() => showLocation({
|
|
502
505
|
latitude: destination.latitude,
|
|
503
506
|
longitude: destination.longitude,
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
|
+
import { RefreshControl, ScrollView, View } from 'react-native'
|
|
3
|
+
import { OText } from '../shared'
|
|
4
|
+
import { useLanguage, useSession } from 'ordering-components/native'
|
|
5
|
+
import { DayContainer } from './styles'
|
|
6
|
+
import { useTheme } from 'styled-components/native'
|
|
7
|
+
export const DriverSchedule = (props: any) => {
|
|
8
|
+
const { schedule } = props
|
|
9
|
+
const [, t] = useLanguage()
|
|
10
|
+
const theme = useTheme()
|
|
11
|
+
const [, { refreshUserInfo }] = useSession()
|
|
12
|
+
const [refreshing] = useState(false);
|
|
13
|
+
|
|
14
|
+
const daysOfWeek = [
|
|
15
|
+
t('SUNDAY_ABBREVIATION', 'Sun'),
|
|
16
|
+
t('MONDAY_ABBREVIATION', 'Mon'),
|
|
17
|
+
t('TUESDAY_ABBREVIATION', 'Tues'),
|
|
18
|
+
t('WEDNESDAY_ABBREVIATION', 'Wed'),
|
|
19
|
+
t('THURSDAY_ABBREVIATION', 'Thur'),
|
|
20
|
+
t('FRIDAY_ABBREVIATION', 'Fri'),
|
|
21
|
+
t('SATURDAY_ABBREVIATION', 'Sat')
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
const scheduleFormatted = ({ hour, minute }: any) => {
|
|
25
|
+
const checkTime = (val: number) => val < 10 ? `0${val}` : val
|
|
26
|
+
return `${checkTime(hour)}:${checkTime(minute)}`
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<ScrollView
|
|
31
|
+
refreshControl={<RefreshControl
|
|
32
|
+
refreshing={refreshing}
|
|
33
|
+
onRefresh={() => refreshUserInfo()}
|
|
34
|
+
/>}
|
|
35
|
+
>
|
|
36
|
+
<OText size={24} style={{ paddingLeft: 30 }}>
|
|
37
|
+
{t('SCHEDULE', 'Schedule')}
|
|
38
|
+
</OText>
|
|
39
|
+
<View style={{ padding: 30 }}>
|
|
40
|
+
{schedule.map((item: any, i: number) => (
|
|
41
|
+
<DayContainer key={daysOfWeek[i]}>
|
|
42
|
+
<OText style={{ width: '20%' }} size={22} weight={700}>{daysOfWeek[i]}</OText>
|
|
43
|
+
<View style={{ width: '80%', alignItems: 'center' }}>
|
|
44
|
+
<>
|
|
45
|
+
{item?.enabled ? (
|
|
46
|
+
<View>
|
|
47
|
+
{item?.lapses.map((lapse: any, i: number) => (
|
|
48
|
+
<View key={`${daysOfWeek[i]}_${i}`} style={{ marginTop: 3, marginBottom: 20, flexDirection: 'row', justifyContent: 'space-between' }}>
|
|
49
|
+
<OText size={18} style={{ width: '30%' }}>
|
|
50
|
+
{scheduleFormatted(lapse.open)}
|
|
51
|
+
</OText>
|
|
52
|
+
<OText size={18} style={{ width: 15 }}>
|
|
53
|
+
-
|
|
54
|
+
</OText>
|
|
55
|
+
<OText size={18} style={{ width: '30%' }}>
|
|
56
|
+
{scheduleFormatted(lapse.close)}
|
|
57
|
+
</OText>
|
|
58
|
+
</View>
|
|
59
|
+
))}
|
|
60
|
+
</View>
|
|
61
|
+
) : (
|
|
62
|
+
<OText size={18} style={{ marginTop: 3, marginBottom: 10 }} color={theme.colors.red}>{t('NOT_AVAILABLE', 'Not available')}</OText>
|
|
63
|
+
)}
|
|
64
|
+
</>
|
|
65
|
+
</View>
|
|
66
|
+
</DayContainer>
|
|
67
|
+
))}
|
|
68
|
+
</View>
|
|
69
|
+
</ScrollView>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from 'react-native';
|
|
10
10
|
import { useForm, Controller } from 'react-hook-form';
|
|
11
11
|
import Recaptcha from 'react-native-recaptcha-that-works'
|
|
12
|
+
import ReCaptcha from '@fatnlazycat/react-native-recaptcha-v3'
|
|
12
13
|
import { TouchableOpacity } from 'react-native-gesture-handler';
|
|
13
14
|
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
|
|
14
15
|
import {
|
|
@@ -52,8 +53,8 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
52
53
|
allowedLevels,
|
|
53
54
|
useRootPoint,
|
|
54
55
|
notificationState,
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
handleReCaptcha,
|
|
57
|
+
enableReCaptcha
|
|
57
58
|
} = props;
|
|
58
59
|
|
|
59
60
|
const [ordering, { setOrdering }] = useApi();
|
|
@@ -67,7 +68,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
67
68
|
const inputRef = useRef<any>(null);
|
|
68
69
|
const inputMailRef = useRef<any>(null);
|
|
69
70
|
|
|
70
|
-
const [projectName, setProjectName] = useState({name: '', isFocued: false});
|
|
71
|
+
const [projectName, setProjectName] = useState({ name: '', isFocued: false });
|
|
71
72
|
const [passwordSee, setPasswordSee] = useState(false);
|
|
72
73
|
const [isLoadingVerifyModal, setIsLoadingVerifyModal] = useState(false);
|
|
73
74
|
const [isModalVisible, setIsModalVisible] = useState(false);
|
|
@@ -92,36 +93,50 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
92
93
|
const [formValues, setFormValues] = useState(null);
|
|
93
94
|
|
|
94
95
|
const [recaptchaConfig, setRecaptchaConfig] = useState<any>({})
|
|
95
|
-
|
|
96
|
+
const [recaptchaVerified, setRecaptchaVerified] = useState(false)
|
|
96
97
|
|
|
97
98
|
const recaptchaRef = useRef<any>({});
|
|
98
99
|
|
|
99
100
|
const handleOpenRecaptcha = () => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
101
|
+
setRecaptchaVerified(false)
|
|
102
|
+
if (!recaptchaConfig?.siteKey) {
|
|
103
|
+
showToast(ToastType.Error, t('NO_RECAPTCHA_SITE_KEY', 'The config doesn\'t have recaptcha site key'));
|
|
104
|
+
return
|
|
105
|
+
}
|
|
106
|
+
if (!recaptchaConfig?.baseUrl) {
|
|
107
|
+
showToast(ToastType.Error, t('NO_RECAPTCHA_BASE_URL', 'The config doesn\'t have recaptcha base url'));
|
|
108
|
+
return
|
|
109
|
+
}
|
|
110
|
+
recaptchaRef.current.open()
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const onRecaptchaVerify = (token: any) => {
|
|
114
|
+
setRecaptchaVerified(true)
|
|
115
|
+
handleReCaptcha({ code: token, version: recaptchaConfig?.version })
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
useEffect(() => {
|
|
119
|
+
if (configs && Object.keys(configs).length > 0 && enableReCaptcha) {
|
|
120
|
+
if (configs?.security_recaptcha_type?.value === 'v3' &&
|
|
121
|
+
configs?.security_recaptcha_score_v3?.value > 0 &&
|
|
122
|
+
configs?.security_recaptcha_site_key_v3?.value
|
|
123
|
+
) {
|
|
124
|
+
setRecaptchaConfig({
|
|
125
|
+
version: 'v3',
|
|
126
|
+
siteKey: configs?.security_recaptcha_site_key_v3?.value || null,
|
|
127
|
+
baseUrl: configs?.security_recaptcha_base_url?.value || null
|
|
128
|
+
})
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
if (configs?.security_recaptcha_site_key?.value) {
|
|
132
|
+
setRecaptchaConfig({
|
|
133
|
+
version: 'v2',
|
|
134
|
+
siteKey: configs?.security_recaptcha_site_key?.value || null,
|
|
135
|
+
baseUrl: configs?.security_recaptcha_base_url?.value || null
|
|
136
|
+
})
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, [configs, enableReCaptcha])
|
|
125
140
|
|
|
126
141
|
useEffect(() => {
|
|
127
142
|
const projectInputInterval = setInterval(() => {
|
|
@@ -164,6 +179,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
164
179
|
'An error occurred while trying to pay by PayPal',
|
|
165
180
|
ERROR_ADD_PRODUCT_VERY_FAR_FOR_DELIVERY:
|
|
166
181
|
'Error adding product, very far for delivery',
|
|
182
|
+
ERROR_AUTH_DRIVER_LOGIN_VALIDATION: 'Error auth driver login validation'
|
|
167
183
|
};
|
|
168
184
|
|
|
169
185
|
return keyList[key] ? t(key, keyList[key]) : t(key);
|
|
@@ -245,6 +261,17 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
245
261
|
|
|
246
262
|
useEffect(() => {
|
|
247
263
|
if (!formState?.loading && formState?.result?.error) {
|
|
264
|
+
if (formState.result?.result?.[0] === 'ERROR_AUTH_VERIFICATION_CODE') {
|
|
265
|
+
setRecaptchaVerified(false)
|
|
266
|
+
setSubmitted(false)
|
|
267
|
+
setRecaptchaConfig({
|
|
268
|
+
version: 'v2',
|
|
269
|
+
siteKey: configs?.security_recaptcha_site_key?.value || null,
|
|
270
|
+
baseUrl: configs?.security_recaptcha_base_url?.value || null
|
|
271
|
+
})
|
|
272
|
+
showToast(ToastType.Info, t('TRY_AGAIN', 'Please try again'))
|
|
273
|
+
return
|
|
274
|
+
}
|
|
248
275
|
formState?.result?.result &&
|
|
249
276
|
showToast(
|
|
250
277
|
ToastType.Error,
|
|
@@ -252,17 +279,17 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
252
279
|
? getTraduction(formState.result?.result)
|
|
253
280
|
: loginTab === 'email' &&
|
|
254
281
|
typeof formState.result?.result !== 'string'
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
282
|
+
? getTraduction(formState.result?.result[0])
|
|
283
|
+
: loginTab === 'cellphone' &&
|
|
284
|
+
typeof formState.result?.result === 'string'
|
|
285
|
+
? getTraduction(formState.result?.result).replace(
|
|
286
|
+
t('USER', 'user').toLowerCase(),
|
|
287
|
+
t('PHONE_NUMER', 'Phone number'),
|
|
288
|
+
)
|
|
289
|
+
: getTraduction(formState.result?.result[0]).replace(
|
|
290
|
+
t('USER', 'user').toLowerCase(),
|
|
291
|
+
t('PHONE_NUMER', 'Phone number'),
|
|
292
|
+
),
|
|
266
293
|
);
|
|
267
294
|
setSubmitted(false)
|
|
268
295
|
}
|
|
@@ -516,7 +543,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
516
543
|
icon={theme.images.general.project}
|
|
517
544
|
iconColor={theme.colors.arrowColor}
|
|
518
545
|
onChange={(e: any) => {
|
|
519
|
-
setProjectName({name: e?.target?.value, isFocued: true})
|
|
546
|
+
setProjectName({ name: e?.target?.value, isFocued: true })
|
|
520
547
|
onChange(e?.target?.value);
|
|
521
548
|
setSubmitted(false);
|
|
522
549
|
}}
|
|
@@ -545,7 +572,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
545
572
|
icon={theme.images.logos.emailInputIcon}
|
|
546
573
|
iconColor={theme.colors.arrowColor}
|
|
547
574
|
onChange={(e: any) => {
|
|
548
|
-
setProjectName({...projectName, isFocued: false})
|
|
575
|
+
setProjectName({ ...projectName, isFocued: false })
|
|
549
576
|
handleChangeInputEmail(e, onChange);
|
|
550
577
|
}}
|
|
551
578
|
selectionColor={theme.colors.primary}
|
|
@@ -650,40 +677,50 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
650
677
|
</OText>
|
|
651
678
|
</Pressable>
|
|
652
679
|
)}
|
|
653
|
-
|
|
654
|
-
{enableReCaptcha && (
|
|
680
|
+
{(enableReCaptcha && recaptchaConfig?.version) && (
|
|
655
681
|
<>
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
{
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
682
|
+
{recaptchaConfig?.version === 'v3' ? (
|
|
683
|
+
<ReCaptcha
|
|
684
|
+
url={recaptchaConfig?.baseUrl}
|
|
685
|
+
siteKey={recaptchaConfig?.siteKey}
|
|
686
|
+
containerStyle={{ height: 40 }}
|
|
687
|
+
onExecute={onRecaptchaVerify}
|
|
688
|
+
reCaptchaType={1}
|
|
689
|
+
/>
|
|
690
|
+
) : (
|
|
691
|
+
<>
|
|
692
|
+
<TouchableOpacity
|
|
693
|
+
style={{ marginBottom: 15 }}
|
|
694
|
+
onPress={handleOpenRecaptcha}
|
|
695
|
+
>
|
|
696
|
+
<RecaptchaButton>
|
|
697
|
+
{recaptchaVerified ? (
|
|
698
|
+
<MaterialCommunityIcons
|
|
699
|
+
name="checkbox-marked"
|
|
700
|
+
size={26}
|
|
701
|
+
color={theme.colors.primary}
|
|
702
|
+
/>
|
|
703
|
+
) : (
|
|
704
|
+
<MaterialCommunityIcons
|
|
705
|
+
name="checkbox-blank-outline"
|
|
706
|
+
size={26}
|
|
707
|
+
color={theme.colors.mediumGray}
|
|
708
|
+
/>
|
|
709
|
+
)}
|
|
710
|
+
<OText size={14} mLeft={8}>{t('VERIFY_ReCAPTCHA', 'Verify reCAPTCHA')}</OText>
|
|
711
|
+
</RecaptchaButton>
|
|
712
|
+
</TouchableOpacity>
|
|
713
|
+
<Recaptcha
|
|
714
|
+
ref={recaptchaRef}
|
|
715
|
+
siteKey={recaptchaConfig?.siteKey}
|
|
716
|
+
baseUrl={recaptchaConfig?.baseUrl}
|
|
717
|
+
onVerify={onRecaptchaVerify}
|
|
718
|
+
onExpire={() => setRecaptchaVerified(false)}
|
|
719
|
+
/>
|
|
720
|
+
</>)
|
|
721
|
+
}
|
|
684
722
|
</>
|
|
685
|
-
|
|
686
|
-
|
|
723
|
+
)}
|
|
687
724
|
<OButton
|
|
688
725
|
onClick={handleLogin}
|
|
689
726
|
text={t('LOGIN', 'Login')}
|
|
@@ -191,7 +191,7 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
191
191
|
{((customer && marker?.business?.zipcode) || (!customer && marker?.business?.zipcode)) && (
|
|
192
192
|
<OText>{customer ? marker?.customer?.zipcode : marker?.business?.zipcode}</OText>
|
|
193
193
|
)}
|
|
194
|
-
{customer && marker?.customer?.internal_number && (
|
|
194
|
+
{customer && !!marker?.customer?.internal_number && (
|
|
195
195
|
<OText>{marker?.customer?.internal_number}</OText>
|
|
196
196
|
)}
|
|
197
197
|
<OText textDecorationLine='underline' color={theme.colors.primary}>
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
StyleSheet,
|
|
6
6
|
Dimensions,
|
|
7
7
|
ScrollView,
|
|
8
|
+
RefreshControl,
|
|
8
9
|
} from 'react-native';
|
|
9
10
|
import { Contacts, useLanguage } from 'ordering-components/native';
|
|
10
11
|
import { useTheme } from 'styled-components/native';
|
|
@@ -24,6 +25,7 @@ const MessagesOptionUI = (props: MessagesOptionParams) => {
|
|
|
24
25
|
messages,
|
|
25
26
|
onNavigationRedirect,
|
|
26
27
|
setSortBy,
|
|
28
|
+
getOrders
|
|
27
29
|
} = props;
|
|
28
30
|
|
|
29
31
|
const theme = useTheme();
|
|
@@ -55,6 +57,7 @@ const MessagesOptionUI = (props: MessagesOptionParams) => {
|
|
|
55
57
|
const [tabsFilter, setTabsFilter] = useState(tabs[0].tags);
|
|
56
58
|
const [activeTag, setActiveTag] = useState(tags[0].key);
|
|
57
59
|
const [reload, setReload] = useState(false);
|
|
60
|
+
const [refreshing] = useState(false);
|
|
58
61
|
const [unreadMessages, setUnreadMessages] = useState(
|
|
59
62
|
values?.reduce(
|
|
60
63
|
(total: number, order: any) => total + order.unread_count,
|
|
@@ -247,7 +250,14 @@ const MessagesOptionUI = (props: MessagesOptionParams) => {
|
|
|
247
250
|
/>
|
|
248
251
|
)}
|
|
249
252
|
|
|
250
|
-
<ScrollView
|
|
253
|
+
<ScrollView
|
|
254
|
+
showsVerticalScrollIndicator={false}
|
|
255
|
+
style={{ flex: 1 }}
|
|
256
|
+
refreshControl={<RefreshControl
|
|
257
|
+
refreshing={refreshing}
|
|
258
|
+
onRefresh={() => getOrders?.()}
|
|
259
|
+
/>}
|
|
260
|
+
>
|
|
251
261
|
{!reload &&
|
|
252
262
|
!error &&
|
|
253
263
|
values.length > 0 &&
|
|
@@ -439,7 +439,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
439
439
|
<>
|
|
440
440
|
<OrderContentComponent order={order} />
|
|
441
441
|
{(order?.status === 7 || order?.status === 4) &&
|
|
442
|
-
order?.delivery_type === 1 && (
|
|
442
|
+
order?.delivery_type === 1 && configs?.assign_driver_enabled?.value === '1' && (
|
|
443
443
|
<AssignDriver>
|
|
444
444
|
<OText style={{ marginBottom: 5 }} size={16} weight="600">
|
|
445
445
|
{t('ASSIGN_DRIVER', 'Assign driver')}
|
|
@@ -247,17 +247,17 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
247
247
|
let isToFollow = false;
|
|
248
248
|
let isBusinessMarker = false;
|
|
249
249
|
|
|
250
|
-
if (order?.status === 7 || order?.status === 8) {
|
|
250
|
+
if (order?.status === 7 || order?.status === 8 || order?.status === 18) {
|
|
251
251
|
const markerBusiness = 'Business';
|
|
252
252
|
isBusinessMarker = true;
|
|
253
253
|
locationMarker = locations.find(
|
|
254
254
|
(location: any) => location.type === markerBusiness,
|
|
255
255
|
);
|
|
256
256
|
|
|
257
|
-
if (order?.status === 8) {
|
|
257
|
+
if (order?.status === 8 || order?.status === 18) {
|
|
258
258
|
isToFollow = true;
|
|
259
259
|
}
|
|
260
|
-
} else if (order?.status === 3 || order?.status === 9) {
|
|
260
|
+
} else if (order?.status === 3 || order?.status === 9 || order?.status === 19 || order?.status === 23) {
|
|
261
261
|
const markerCustomer = 'Customer';
|
|
262
262
|
isToFollow = true;
|
|
263
263
|
isBusinessMarker = false;
|
|
@@ -274,8 +274,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
274
274
|
<View style={styles.linkWithIcons}>
|
|
275
275
|
<OLink
|
|
276
276
|
PressStyle={styles.linkWithIcons}
|
|
277
|
-
url={`tel:${order?.customer?.cellphone}`}
|
|
278
|
-
shorcut={order?.customer?.cellphone}
|
|
277
|
+
url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
|
|
278
|
+
shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
|
|
279
279
|
TextStyle={styles.textLink}
|
|
280
280
|
/>
|
|
281
281
|
</View>
|
|
@@ -323,6 +323,12 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
323
323
|
{order?.customer?.zipcode}
|
|
324
324
|
</OText>
|
|
325
325
|
)}
|
|
326
|
+
|
|
327
|
+
{!!order?.on_behalf_of && (
|
|
328
|
+
<OText numberOfLines={1} mBottom={4} ellipsizeMode="tail">
|
|
329
|
+
{t('ON_BEHALF_OF', 'On behalf of')}{': '} {order?.on_behalf_of}
|
|
330
|
+
</OText>
|
|
331
|
+
)}
|
|
326
332
|
{((order?.delivery_option !== undefined && order?.delivery_type === 1) || !!order?.comment) && (
|
|
327
333
|
<View style={{ marginTop: 10 }}>
|
|
328
334
|
{order?.delivery_option !== undefined && order?.delivery_type === 1 && (
|
|
@@ -358,6 +364,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
358
364
|
<ProductItemAccordion
|
|
359
365
|
key={product?.id || i}
|
|
360
366
|
product={product}
|
|
367
|
+
currency={order?.currency}
|
|
361
368
|
/>
|
|
362
369
|
))}
|
|
363
370
|
</OrderProducts>
|
|
@@ -366,7 +373,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
366
373
|
<Table>
|
|
367
374
|
<OText mBottom={4}>{t('SUBTOTAL', 'Subtotal')}</OText>
|
|
368
375
|
<OText mBottom={4}>
|
|
369
|
-
{parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()))}
|
|
376
|
+
{parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: order?.currency})}
|
|
370
377
|
</OText>
|
|
371
378
|
</Table>
|
|
372
379
|
{(order?.summary?.discount > 0 ?? order?.discount > 0) && order?.offers?.length === 0 && (
|
|
@@ -379,7 +386,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
379
386
|
) : (
|
|
380
387
|
<OText mBottom={4}>{t('DISCOUNT', theme?.defaultLanguages?.DISCOUNT || 'Discount')}</OText>
|
|
381
388
|
)}
|
|
382
|
-
<OText>- {parsePrice(order?.summary?.discount ?? order?.discount)}</OText>
|
|
389
|
+
<OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: order?.currency})}</OText>
|
|
383
390
|
</Table>
|
|
384
391
|
)}
|
|
385
392
|
{
|
|
@@ -393,7 +400,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
393
400
|
)}
|
|
394
401
|
</OText>
|
|
395
402
|
</OSRow>
|
|
396
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
|
|
403
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
|
|
397
404
|
</Table>
|
|
398
405
|
))
|
|
399
406
|
}
|
|
@@ -401,9 +408,9 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
401
408
|
<Table>
|
|
402
409
|
<OText mBottom={4}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
|
|
403
410
|
{order?.tax_type === 1 ? (
|
|
404
|
-
<OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0))}</OText>
|
|
411
|
+
<OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: order?.currency})}</OText>
|
|
405
412
|
) : (
|
|
406
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0)}</OText>
|
|
413
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: order?.currency})}</OText>
|
|
407
414
|
)}
|
|
408
415
|
</Table>
|
|
409
416
|
)}
|
|
@@ -413,7 +420,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
413
420
|
{t('TAX', 'Tax')} {`(${verifyDecimals(order?.tax, parseNumber)}%)`}
|
|
414
421
|
</OText>
|
|
415
422
|
<OText mBottom={4}>
|
|
416
|
-
{parsePrice(order?.summary?.tax ?? 0)}
|
|
423
|
+
{parsePrice(order?.summary?.tax ?? 0, { currency: order?.currency})}
|
|
417
424
|
</OText>
|
|
418
425
|
</Table>
|
|
419
426
|
)}
|
|
@@ -424,7 +431,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
424
431
|
{t('SERVICE_FEE', 'Service fee')}
|
|
425
432
|
{`(${verifyDecimals(order?.service_fee, parseNumber)}%)`}
|
|
426
433
|
</OText>
|
|
427
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0)}</OText>
|
|
434
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: order?.currency})}</OText>
|
|
428
435
|
</Table>
|
|
429
436
|
)
|
|
430
437
|
}
|
|
@@ -437,7 +444,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
437
444
|
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}{' '}
|
|
438
445
|
</OText>
|
|
439
446
|
</OSRow>
|
|
440
|
-
<OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
|
|
447
|
+
<OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: order?.currency})}</OText>
|
|
441
448
|
</Table>
|
|
442
449
|
))
|
|
443
450
|
}
|
|
@@ -447,10 +454,10 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
447
454
|
<OSRow>
|
|
448
455
|
<OText mBottom={4}>
|
|
449
456
|
{fee.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
450
|
-
({fee?.fixed > 0 && `${parsePrice(fee?.fixed)} + `}{fee.percentage}%){' '}
|
|
457
|
+
({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: order?.currency})} + `}{fee.percentage}%){' '}
|
|
451
458
|
</OText>
|
|
452
459
|
</OSRow>
|
|
453
|
-
<OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0)}</OText>
|
|
460
|
+
<OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: order?.currency})}</OText>
|
|
454
461
|
</Table>
|
|
455
462
|
))
|
|
456
463
|
}
|
|
@@ -465,7 +472,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
465
472
|
)}
|
|
466
473
|
</OText>
|
|
467
474
|
</OSRow>
|
|
468
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
|
|
475
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
|
|
469
476
|
</Table>
|
|
470
477
|
))
|
|
471
478
|
}
|
|
@@ -477,7 +484,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
477
484
|
</OText>
|
|
478
485
|
|
|
479
486
|
<OText mBottom={4}>
|
|
480
|
-
{parsePrice(order?.summary?.delivery_price)}
|
|
487
|
+
{parsePrice(order?.summary?.delivery_price, { currency: order?.currency})}
|
|
481
488
|
</OText>
|
|
482
489
|
</Table>
|
|
483
490
|
)
|
|
@@ -493,7 +500,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
493
500
|
)}
|
|
494
501
|
</OText>
|
|
495
502
|
</OSRow>
|
|
496
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
|
|
503
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency})}</OText>
|
|
497
504
|
</Table>
|
|
498
505
|
))
|
|
499
506
|
}
|
|
@@ -508,7 +515,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
508
515
|
`(${verifyDecimals(order?.summary?.driver_tip, parseNumber)}%)`
|
|
509
516
|
)}
|
|
510
517
|
</OText>
|
|
511
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip)}</OText>
|
|
518
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency})}</OText>
|
|
512
519
|
</Table>
|
|
513
520
|
)}
|
|
514
521
|
|
|
@@ -522,7 +529,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
522
529
|
mBottom={4}
|
|
523
530
|
style={styles.textBold}
|
|
524
531
|
color={theme.colors.primary}>
|
|
525
|
-
{parsePrice(order?.summary?.total ?? order?.total)}
|
|
532
|
+
{parsePrice(order?.summary?.total ?? order?.total, { currency: order?.currency})}
|
|
526
533
|
</OText>
|
|
527
534
|
</Table>
|
|
528
535
|
</Total>
|
|
@@ -565,7 +572,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
565
572
|
)}
|
|
566
573
|
</View>
|
|
567
574
|
<OText>
|
|
568
|
-
-{parsePrice(event.amount)}
|
|
575
|
+
-{parsePrice(event.amount, { currency: order?.currency})}
|
|
569
576
|
</OText>
|
|
570
577
|
</View>
|
|
571
578
|
))}
|