ordering-ui-react-native 0.22.32 → 0.22.33-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/StripeMethodForm/index.tsx +4 -2
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/types/index.tsx +2 -1
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +49 -26
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/LanguageSelector/index.tsx +1 -4
- package/themes/business/src/components/LoginForm/index.tsx +123 -98
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +46 -29
- package/themes/business/src/components/NewOrderNotification/index.tsx +38 -19
- package/themes/business/src/components/OrderDetails/Business.tsx +47 -27
- package/themes/business/src/components/OrderDetails/Delivery.tsx +134 -53
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +156 -46
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +45 -18
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +6 -4
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +222 -158
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +30 -18
- package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
- package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +162 -174
- package/themes/business/src/components/PrinterSettings/styles.tsx +14 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +57 -24
- package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/config/currency.tsx +1010 -0
- package/themes/business/src/hooks/useLocation.tsx +16 -12
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +18 -5
- package/themes/business/src/utils/index.tsx +28 -3
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +11 -0
- package/themes/original/src/components/AddressForm/index.tsx +27 -16
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +14 -6
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +8 -6
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +46 -28
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
- package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +46 -14
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +127 -77
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +2 -11
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +12 -9
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +27 -19
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +80 -52
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
- package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
- package/themes/original/src/components/MyOrders/index.tsx +2 -2
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +16 -11
- package/themes/original/src/components/OrderDetails/index.tsx +44 -21
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +4 -3
- package/themes/original/src/components/OrderSummary/index.tsx +29 -10
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- package/themes/original/src/components/OrdersOption/index.tsx +3 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +462 -461
- package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +30 -38
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +102 -88
- package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
- package/themes/original/src/components/SingleProductCard/index.tsx +5 -5
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +16 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +10 -4
- package/themes/original/src/components/StripeElementsForm/naked.tsx +1 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +169 -139
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserVerification/index.tsx +15 -4
- package/themes/original/src/components/Wallets/index.tsx +6 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +12 -4
- package/themes/original/src/utils/index.tsx +30 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react'
|
|
2
|
-
|
|
3
2
|
import { Platform, StyleSheet, View, TouchableOpacity, ScrollView } from 'react-native';
|
|
4
3
|
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
5
4
|
|
|
@@ -13,17 +12,20 @@ import {
|
|
|
13
12
|
OrderBill,
|
|
14
13
|
Total,
|
|
15
14
|
OSRow,
|
|
15
|
+
OrderVehicle,
|
|
16
|
+
OrderSpot,
|
|
16
17
|
} from './styles';
|
|
17
18
|
|
|
18
19
|
import { ProductItemAccordion } from '../ProductItemAccordion';
|
|
19
20
|
|
|
20
|
-
import { verifyDecimals, calculateDistance, transformDistance } from '../../utils';
|
|
21
|
+
import { verifyDecimals, calculateDistance, transformDistance, getCurrenySymbol } from '../../utils';
|
|
21
22
|
|
|
22
23
|
import {
|
|
23
24
|
useLanguage,
|
|
24
25
|
useUtils,
|
|
25
26
|
useConfig,
|
|
26
|
-
useSession
|
|
27
|
+
useSession,
|
|
28
|
+
useApi
|
|
27
29
|
} from 'ordering-components/native';
|
|
28
30
|
import { useTheme } from 'styled-components/native';
|
|
29
31
|
import { ReviewCustomer } from '../ReviewCustomer'
|
|
@@ -44,6 +46,7 @@ interface OrderContent {
|
|
|
44
46
|
export const OrderContentComponent = (props: OrderContent) => {
|
|
45
47
|
const [, t] = useLanguage();
|
|
46
48
|
const theme = useTheme()
|
|
49
|
+
const [ordering] = useApi()
|
|
47
50
|
const [{ user }] = useSession()
|
|
48
51
|
const { order, logisticOrderStatus, isOrderGroup, lastOrder } = props;
|
|
49
52
|
const [{ parsePrice, parseNumber }] = useUtils();
|
|
@@ -66,6 +69,11 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
66
69
|
})
|
|
67
70
|
|
|
68
71
|
const pastOrderStatuses = [1, 2, 5, 6, 10, 11, 12, 16, 17]
|
|
72
|
+
const deliveryTypes = [1, 7]
|
|
73
|
+
|
|
74
|
+
const commentDivide = ordering?.project?.includes('delosi')
|
|
75
|
+
? order?.comment?.split('Total')
|
|
76
|
+
: [order?.comment]
|
|
69
77
|
|
|
70
78
|
const walletName: any = {
|
|
71
79
|
cash: {
|
|
@@ -97,19 +105,21 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
97
105
|
}
|
|
98
106
|
})
|
|
99
107
|
|
|
100
|
-
const getIncludedTaxes = () => {
|
|
108
|
+
const getIncludedTaxes = (isDeliveryFee?: boolean) => {
|
|
101
109
|
if (!order?.taxes) return 0
|
|
102
110
|
if (order?.taxes?.length === 0) {
|
|
103
111
|
return order.tax_type === 1 ? order?.summary?.tax ?? 0 : 0
|
|
104
112
|
} else {
|
|
105
113
|
return order?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
106
|
-
return taxIncluded +
|
|
114
|
+
return taxIncluded +
|
|
115
|
+
(((!isDeliveryFee && tax.type === 1 && tax.target === 'product') ||
|
|
116
|
+
(isDeliveryFee && tax.type === 1 && tax.target === 'delivery_fee')) ? tax.summary?.tax : 0)
|
|
107
117
|
}, 0)
|
|
108
118
|
}
|
|
109
119
|
}
|
|
110
120
|
|
|
111
121
|
const getIncludedTaxesDiscounts = () => {
|
|
112
|
-
return order?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
122
|
+
return order?.taxes?.filter((tax: any) => tax?.type === 1 && tax?.target === 'product')?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
113
123
|
}
|
|
114
124
|
|
|
115
125
|
const containsOnlyNumbers = (str: string) => {
|
|
@@ -230,7 +240,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
230
240
|
)}
|
|
231
241
|
{!!order?.business?.location && order?.customer?.location && (
|
|
232
242
|
<OText>
|
|
233
|
-
{t('DISTANCE_TO_THE_BUSINESS', 'Distance to the business')}: {transformDistance(calculateDistance(order?.business?.location, { latitude: order?.customer?.location?.lat, longitude: order?.customer?.location?.lng }), distanceUnit)} {t(distanceUnit
|
|
243
|
+
{t('DISTANCE_TO_THE_BUSINESS', 'Distance to the business')}: {transformDistance(calculateDistance(order?.business?.location, { latitude: order?.customer?.location?.lat, longitude: order?.customer?.location?.lng }), distanceUnit)} {t(distanceUnit?.toUpperCase?.(), distanceUnit)}
|
|
234
244
|
</OText>
|
|
235
245
|
)}
|
|
236
246
|
{!!order?.business?.address_notes && (
|
|
@@ -408,16 +418,16 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
408
418
|
{t('ON_BEHALF_OF', 'On behalf of')}{': '} {order?.on_behalf_of}
|
|
409
419
|
</OText>
|
|
410
420
|
)}
|
|
411
|
-
{(order?.delivery_option !== undefined && order?.delivery_type
|
|
421
|
+
{(order?.delivery_option !== undefined && deliveryTypes.includes(order?.delivery_type)) && (
|
|
412
422
|
<View style={{ marginTop: 10 }}>
|
|
413
|
-
{order?.delivery_option !== undefined && order?.delivery_type
|
|
423
|
+
{order?.delivery_option !== undefined && deliveryTypes.includes(order?.delivery_type) && (
|
|
414
424
|
<OText>
|
|
415
|
-
{t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
|
|
425
|
+
{t(order?.delivery_option?.name?.toUpperCase?.()?.replace(/ /g, '_'), order?.delivery_option?.name)}
|
|
416
426
|
</OText>
|
|
417
427
|
)}
|
|
418
428
|
</View>
|
|
419
429
|
)}
|
|
420
|
-
{!order?.user_review && pastOrderStatuses.includes(order?.status) && (
|
|
430
|
+
{!order?.user_review && pastOrderStatuses.includes(order?.status) && order?.customer_id && (
|
|
421
431
|
<OButton
|
|
422
432
|
style={styles.btnReview}
|
|
423
433
|
textStyle={{ color: theme.colors.white }}
|
|
@@ -434,9 +444,29 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
434
444
|
</OText>
|
|
435
445
|
|
|
436
446
|
{!!order?.comment && (
|
|
437
|
-
<
|
|
438
|
-
|
|
439
|
-
|
|
447
|
+
<View>
|
|
448
|
+
<OText>
|
|
449
|
+
{`${t('ORDER_COMMENT', 'Order Comment')}: `}
|
|
450
|
+
</OText>
|
|
451
|
+
{commentDivide?.map((fragment: string, i: number) => (
|
|
452
|
+
<View
|
|
453
|
+
{...(ordering?.project?.includes('delosi') && i === 1 && {
|
|
454
|
+
backgroundColor: theme.colors.primary,
|
|
455
|
+
weight: 'bold',
|
|
456
|
+
padding: 10
|
|
457
|
+
})}
|
|
458
|
+
>
|
|
459
|
+
<OText
|
|
460
|
+
{...(ordering?.project?.includes('delosi') && i === 1 && {
|
|
461
|
+
color: theme.colors.white,
|
|
462
|
+
weight: 'bold'
|
|
463
|
+
})}
|
|
464
|
+
>
|
|
465
|
+
{ordering?.project?.includes('delosi') && i === 1 ? t('TOTAL', 'Total') : ''}{fragment}
|
|
466
|
+
</OText>
|
|
467
|
+
</View>
|
|
468
|
+
))}
|
|
469
|
+
</View>
|
|
440
470
|
)}
|
|
441
471
|
|
|
442
472
|
{order?.products?.length > 0 &&
|
|
@@ -449,11 +479,11 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
449
479
|
))}
|
|
450
480
|
</OrderProducts>
|
|
451
481
|
|
|
452
|
-
<OrderBill>
|
|
482
|
+
<OrderBill vehicleExists={!!order?.vehicle}>
|
|
453
483
|
<Table>
|
|
454
484
|
<OText mBottom={4}>{t('SUBTOTAL', 'Subtotal')}</OText>
|
|
455
485
|
<OText mBottom={4}>
|
|
456
|
-
{parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: order?.currency })}
|
|
486
|
+
{parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: getCurrenySymbol(order?.currency) })}
|
|
457
487
|
</OText>
|
|
458
488
|
</Table>
|
|
459
489
|
{(order?.summary?.discount > 0 ?? order?.discount > 0) && order?.offers?.length === 0 && (
|
|
@@ -466,7 +496,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
466
496
|
) : (
|
|
467
497
|
<OText mBottom={4}>{t('DISCOUNT', theme?.defaultLanguages?.DISCOUNT || 'Discount')}</OText>
|
|
468
498
|
)}
|
|
469
|
-
<OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: order?.currency })}</OText>
|
|
499
|
+
<OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
470
500
|
</Table>
|
|
471
501
|
)}
|
|
472
502
|
{
|
|
@@ -474,13 +504,13 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
474
504
|
<Table key={offer.id}>
|
|
475
505
|
<OSRow>
|
|
476
506
|
<OText mBottom={4}>
|
|
477
|
-
{t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
|
|
507
|
+
{t(offer.name?.toUpperCase?.()?.replace(/ /g, '_'), offer.name)}
|
|
478
508
|
{offer.rate_type === 1 && (
|
|
479
509
|
<OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
|
|
480
510
|
)}
|
|
481
511
|
</OText>
|
|
482
512
|
</OSRow>
|
|
483
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
|
|
513
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
484
514
|
</Table>
|
|
485
515
|
))
|
|
486
516
|
}
|
|
@@ -488,9 +518,9 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
488
518
|
<Table>
|
|
489
519
|
<OText mBottom={4}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
|
|
490
520
|
{order?.tax_type === 1 ? (
|
|
491
|
-
<OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: order?.currency })}</OText>
|
|
521
|
+
<OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
492
522
|
) : (
|
|
493
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: order?.currency })}</OText>
|
|
523
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
494
524
|
)}
|
|
495
525
|
</Table>
|
|
496
526
|
)}
|
|
@@ -500,7 +530,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
500
530
|
{t('TAX', 'Tax')} {`(${verifyDecimals(order?.tax, parseNumber)}%)`}
|
|
501
531
|
</OText>
|
|
502
532
|
<OText mBottom={4}>
|
|
503
|
-
{parsePrice(order?.summary?.tax ?? 0, { currency: order?.currency })}
|
|
533
|
+
{parsePrice(order?.summary?.tax ?? 0, { currency: getCurrenySymbol(order?.currency) })}
|
|
504
534
|
</OText>
|
|
505
535
|
</Table>
|
|
506
536
|
)}
|
|
@@ -511,20 +541,20 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
511
541
|
{t('SERVICE_FEE', 'Service fee')}
|
|
512
542
|
{`(${verifyDecimals(order?.service_fee, parseNumber)}%)`}
|
|
513
543
|
</OText>
|
|
514
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: order?.currency })}</OText>
|
|
544
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
515
545
|
</Table>
|
|
516
546
|
)
|
|
517
547
|
}
|
|
518
548
|
{
|
|
519
|
-
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0).map((tax: any) => (
|
|
549
|
+
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'product').map((tax: any) => (
|
|
520
550
|
<Table key={tax.id}>
|
|
521
551
|
<OSRow>
|
|
522
552
|
<OText mBottom={4}>
|
|
523
|
-
{t(tax?.name?.toUpperCase()?.replace(/ /g, '_'), tax?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
553
|
+
{t(tax?.name?.toUpperCase?.()?.replace(/ /g, '_'), tax?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
524
554
|
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}{' '}
|
|
525
555
|
</OText>
|
|
526
556
|
</OSRow>
|
|
527
|
-
<OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: order?.currency })}</OText>
|
|
557
|
+
<OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
528
558
|
</Table>
|
|
529
559
|
))
|
|
530
560
|
}
|
|
@@ -533,11 +563,11 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
533
563
|
<Table key={fee.id}>
|
|
534
564
|
<OSRow>
|
|
535
565
|
<OText mBottom={4}>
|
|
536
|
-
{t(fee?.name?.toUpperCase()?.replace(/ /g, '_'), fee?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
537
|
-
({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: order?.currency })} + `}{fee.percentage}%){' '}
|
|
566
|
+
{t(fee?.name?.toUpperCase?.()?.replace(/ /g, '_'), fee?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
567
|
+
({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: getCurrenySymbol(order?.currency) })} + `}{fee.percentage}%){' '}
|
|
538
568
|
</OText>
|
|
539
569
|
</OSRow>
|
|
540
|
-
<OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: order?.currency })}</OText>
|
|
570
|
+
<OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
541
571
|
</Table>
|
|
542
572
|
))
|
|
543
573
|
}
|
|
@@ -546,13 +576,13 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
546
576
|
<Table key={offer.id}>
|
|
547
577
|
<OSRow>
|
|
548
578
|
<OText mBottom={4}>
|
|
549
|
-
{t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
|
|
579
|
+
{t(offer.name?.toUpperCase?.()?.replace(/ /g, '_'), offer.name)}
|
|
550
580
|
{offer.rate_type === 1 && (
|
|
551
581
|
<OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
|
|
552
582
|
)}
|
|
553
583
|
</OText>
|
|
554
584
|
</OSRow>
|
|
555
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
|
|
585
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
556
586
|
</Table>
|
|
557
587
|
))
|
|
558
588
|
}
|
|
@@ -564,23 +594,36 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
564
594
|
</OText>
|
|
565
595
|
|
|
566
596
|
<OText mBottom={4}>
|
|
567
|
-
{parsePrice(order?.summary?.delivery_price, { currency: order?.currency })}
|
|
597
|
+
{parsePrice(order?.summary?.delivery_price + getIncludedTaxes(true), { currency: getCurrenySymbol(order?.currency) })}
|
|
568
598
|
</OText>
|
|
569
599
|
</Table>
|
|
570
600
|
)
|
|
571
601
|
}
|
|
602
|
+
{
|
|
603
|
+
order?.taxes?.length > 0 && order?.taxes?.filter((tax: any) => tax?.type === 2 && tax?.rate !== 0 && tax?.target === 'delivery_fee').map((tax: any, i: number) => (
|
|
604
|
+
<Table key={`${tax.description}_${i}`}>
|
|
605
|
+
<OSRow>
|
|
606
|
+
<OText mBottom={4}>
|
|
607
|
+
{tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
|
|
608
|
+
{`(${verifyDecimals(tax?.rate, parseNumber)}%)`}
|
|
609
|
+
</OText>
|
|
610
|
+
</OSRow>
|
|
611
|
+
<OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
612
|
+
</Table>
|
|
613
|
+
))
|
|
614
|
+
}
|
|
572
615
|
{
|
|
573
616
|
order?.offers?.length > 0 && order?.offers?.filter((offer: any) => offer?.target === 2)?.map((offer: any) => (
|
|
574
617
|
<Table key={offer.id}>
|
|
575
618
|
<OSRow>
|
|
576
619
|
<OText mBottom={4}>
|
|
577
|
-
{t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
|
|
620
|
+
{t(offer.name?.toUpperCase?.()?.replace(/ /g, '_'), offer.name)}
|
|
578
621
|
{offer.rate_type === 1 && (
|
|
579
|
-
<OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
|
|
622
|
+
<OText>{`(${verifyDecimals(offer?.rate, parsePrice, { currency: getCurrenySymbol(order?.currency) })}%)`}</OText>
|
|
580
623
|
)}
|
|
581
624
|
</OText>
|
|
582
625
|
</OSRow>
|
|
583
|
-
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
|
|
626
|
+
<OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
584
627
|
</Table>
|
|
585
628
|
))
|
|
586
629
|
}
|
|
@@ -594,7 +637,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
594
637
|
`(${verifyDecimals(order?.driver_tip, parseNumber)}%)`
|
|
595
638
|
)}
|
|
596
639
|
</OText>
|
|
597
|
-
<OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency })}</OText>
|
|
640
|
+
<OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: getCurrenySymbol(order?.currency) })}</OText>
|
|
598
641
|
</Table>
|
|
599
642
|
)}
|
|
600
643
|
|
|
@@ -608,14 +651,19 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
608
651
|
mBottom={4}
|
|
609
652
|
style={styles.textBold}
|
|
610
653
|
color={theme.colors.primary}>
|
|
611
|
-
{parsePrice(order?.summary?.total ?? order?.total, { currency: order?.currency })}
|
|
654
|
+
{parsePrice(order?.summary?.total ?? order?.total, { currency: getCurrenySymbol(order?.currency) })}
|
|
612
655
|
</OText>
|
|
613
656
|
</Table>
|
|
614
657
|
</Total>
|
|
615
658
|
|
|
616
659
|
{order?.payment_events?.length > 0 && (
|
|
617
|
-
<View
|
|
618
|
-
|
|
660
|
+
<View
|
|
661
|
+
style={{
|
|
662
|
+
backgroundColor: theme?.colors?.primary,
|
|
663
|
+
padding: 10
|
|
664
|
+
}}
|
|
665
|
+
>
|
|
666
|
+
<OText size={14} color={theme?.colors?.white}>{t('PAYMENTS', 'Payments')}</OText>
|
|
619
667
|
<View
|
|
620
668
|
style={{
|
|
621
669
|
width: '100%',
|
|
@@ -639,27 +687,89 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
639
687
|
flexDirection: 'column',
|
|
640
688
|
}}
|
|
641
689
|
>
|
|
642
|
-
<OText
|
|
690
|
+
<OText
|
|
691
|
+
color={theme?.colors?.white}
|
|
692
|
+
>
|
|
643
693
|
{event?.wallet_event
|
|
644
694
|
? walletName[event?.wallet_event?.wallet?.type]?.name
|
|
645
695
|
: event?.paymethod?.gateway
|
|
646
|
-
? t(event?.paymethod?.gateway?.toUpperCase(), event?.paymethod?.name)
|
|
696
|
+
? t(event?.paymethod?.gateway?.toUpperCase?.(), event?.paymethod?.name)
|
|
647
697
|
: order?.paymethod?.id === event?.paymethod_id
|
|
648
|
-
? t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)
|
|
698
|
+
? t(order?.paymethod?.gateway?.toUpperCase?.(), order?.paymethod?.name)
|
|
649
699
|
: ''}
|
|
650
700
|
</OText>
|
|
651
701
|
</View>
|
|
652
|
-
<OText
|
|
702
|
+
<OText
|
|
703
|
+
color={theme?.colors?.white}
|
|
704
|
+
>
|
|
653
705
|
{(event?.paymethod?.gateway === 'cash' && order?.cash)
|
|
654
|
-
? parsePrice(order?.cash, { currency: order?.currency })
|
|
655
|
-
: `-${parsePrice(event?.amount, { currency: order?.currency })}`}
|
|
706
|
+
? parsePrice(order?.cash, { currency: getCurrenySymbol(order?.currency) })
|
|
707
|
+
: `-${parsePrice(event?.amount, { currency: getCurrenySymbol(order?.currency) })}`}
|
|
656
708
|
</OText>
|
|
657
709
|
</View>
|
|
658
710
|
))}
|
|
659
711
|
</View>
|
|
660
712
|
</View>
|
|
661
713
|
)}
|
|
662
|
-
|
|
714
|
+
|
|
715
|
+
</OrderBill>
|
|
716
|
+
|
|
717
|
+
{!!order?.spot_number && (
|
|
718
|
+
<OrderSpot vehicleExists={!!order?.vehicle}>
|
|
719
|
+
<Table>
|
|
720
|
+
<OText style={{ marginBottom: 5 }}>
|
|
721
|
+
{t('SPOT_NUMBER', 'Spot number')}
|
|
722
|
+
</OText>
|
|
723
|
+
<OText style={{ marginBottom: 5 }}>
|
|
724
|
+
{order?.spot_number}
|
|
725
|
+
</OText>
|
|
726
|
+
</Table>
|
|
727
|
+
</OrderSpot>
|
|
728
|
+
)}
|
|
729
|
+
|
|
730
|
+
{!!order?.vehicle && (
|
|
731
|
+
<OrderVehicle>
|
|
732
|
+
<OText
|
|
733
|
+
style={{ marginBottom: 5 }}
|
|
734
|
+
size={16}
|
|
735
|
+
weight="600"
|
|
736
|
+
color={theme.colors.textGray}>
|
|
737
|
+
{t('VEHICLE', 'Vehicle')}
|
|
738
|
+
</OText>
|
|
739
|
+
<Table>
|
|
740
|
+
<OText style={{ marginBottom: 5 }}>
|
|
741
|
+
{t('CAR_REGISTRATION', 'Car registration')}
|
|
742
|
+
</OText>
|
|
743
|
+
<OText style={{ marginBottom: 5 }}>
|
|
744
|
+
{order?.vehicle?.car_registration}
|
|
745
|
+
</OText>
|
|
746
|
+
</Table>
|
|
747
|
+
<Table>
|
|
748
|
+
<OText style={{ marginBottom: 5 }}>
|
|
749
|
+
{t('COLOR', 'Color')}
|
|
750
|
+
</OText>
|
|
751
|
+
<OText style={{ marginBottom: 5 }}>
|
|
752
|
+
{order?.vehicle?.color}
|
|
753
|
+
</OText>
|
|
754
|
+
</Table>
|
|
755
|
+
<Table>
|
|
756
|
+
<OText style={{ marginBottom: 5 }}>
|
|
757
|
+
{t('MODEL', 'Model')}
|
|
758
|
+
</OText>
|
|
759
|
+
<OText style={{ marginBottom: 5 }}>
|
|
760
|
+
{order?.vehicle?.model}
|
|
761
|
+
</OText>
|
|
762
|
+
</Table>
|
|
763
|
+
<Table>
|
|
764
|
+
<OText style={{ marginBottom: 5 }}>
|
|
765
|
+
{t('TYPE', 'Type')}
|
|
766
|
+
</OText>
|
|
767
|
+
<OText style={{ marginBottom: 5 }}>
|
|
768
|
+
{order?.vehicle?.type}
|
|
769
|
+
</OText>
|
|
770
|
+
</Table>
|
|
771
|
+
</OrderVehicle>
|
|
772
|
+
)}
|
|
663
773
|
<OModal
|
|
664
774
|
open={openReviewModal}
|
|
665
775
|
onClose={() => setOpenReviewModal(false)}
|
|
@@ -3,7 +3,9 @@ import React from 'react';
|
|
|
3
3
|
//Styles
|
|
4
4
|
import {
|
|
5
5
|
Actions,
|
|
6
|
+
Dot,
|
|
6
7
|
Header,
|
|
8
|
+
Messages,
|
|
7
9
|
OrderHeader,
|
|
8
10
|
} from './styles';
|
|
9
11
|
|
|
@@ -22,6 +24,8 @@ import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityI
|
|
|
22
24
|
import {
|
|
23
25
|
useLanguage,
|
|
24
26
|
useUtils,
|
|
27
|
+
useConfig,
|
|
28
|
+
useSession
|
|
25
29
|
} from 'ordering-components/native';
|
|
26
30
|
|
|
27
31
|
interface OrderHeader {
|
|
@@ -34,6 +38,8 @@ interface OrderHeader {
|
|
|
34
38
|
handleViewSummaryOrder?: any;
|
|
35
39
|
handleCopyClipboard?: any
|
|
36
40
|
isCustomView?: any
|
|
41
|
+
messages?: any
|
|
42
|
+
messagesReadList?: any
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
@@ -45,12 +51,21 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
45
51
|
getOrderStatus,
|
|
46
52
|
logisticOrderStatus,
|
|
47
53
|
handleViewSummaryOrder,
|
|
48
|
-
handleCopyClipboard
|
|
54
|
+
handleCopyClipboard,
|
|
55
|
+
messages,
|
|
56
|
+
messagesReadList
|
|
49
57
|
} = props
|
|
50
58
|
const theme = useTheme();
|
|
51
59
|
const [, t] = useLanguage();
|
|
60
|
+
const [configState] = useConfig()
|
|
61
|
+
const [{ user }] = useSession()
|
|
52
62
|
const [{ parseDate, parsePrice }] = useUtils();
|
|
53
63
|
const paymethodsLength = order?.payment_events?.filter((item: any) => item.event === 'payment')?.length
|
|
64
|
+
const showExternalId = configState?.configs?.change_order_id?.value === '1'
|
|
65
|
+
const messagesReadIds = messagesReadList?.map((message: any) => message?.order_message_id)
|
|
66
|
+
|
|
67
|
+
const filteredMessages = messagesReadList?.length > 0 ? messages?.messages?.filter((message: any) => !messagesReadIds?.includes(message?.id)) : messages?.messages
|
|
68
|
+
const cateringTypes = [7, 8]
|
|
54
69
|
|
|
55
70
|
const styles = StyleSheet.create({
|
|
56
71
|
icons: {
|
|
@@ -88,6 +103,11 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
88
103
|
19: theme.colors.statusOrderBlue,
|
|
89
104
|
20: theme.colors.statusOrderBlue,
|
|
90
105
|
21: theme.colors.statusOrderBlue,
|
|
106
|
+
22: theme.colors.statusOrderBlue,
|
|
107
|
+
23: theme.colors.statusOrderBlue,
|
|
108
|
+
24: theme.colors.statusOrderBlue,
|
|
109
|
+
25: theme.colors.statusOrderBlue,
|
|
110
|
+
26: theme.colors.statusOrderBlue,
|
|
91
111
|
//GREEN
|
|
92
112
|
1: theme.colors.statusOrderGreen,
|
|
93
113
|
11: theme.colors.statusOrderGreen,
|
|
@@ -188,18 +208,20 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
188
208
|
style={styles.icons}
|
|
189
209
|
onClick={() => handleOpenMapView()}
|
|
190
210
|
/>
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
211
|
+
<Messages>
|
|
212
|
+
{filteredMessages?.filter((message: any) => message?.author_id !== user?.id && !message?.read)?.length > 0 && <Dot />}
|
|
213
|
+
<OIconButton
|
|
214
|
+
icon={theme.images.general.messages}
|
|
215
|
+
iconStyle={{
|
|
216
|
+
width: 20,
|
|
217
|
+
height: 20,
|
|
218
|
+
tintColor: theme.colors.textGray,
|
|
219
|
+
}}
|
|
220
|
+
borderColor={theme.colors.clear}
|
|
221
|
+
style={styles.icons}
|
|
222
|
+
onClick={() => handleOpenMessagesForBusiness()}
|
|
223
|
+
/>
|
|
224
|
+
</Messages>
|
|
203
225
|
</Actions>
|
|
204
226
|
)}
|
|
205
227
|
</Header>
|
|
@@ -207,12 +229,18 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
207
229
|
<OrderHeader>
|
|
208
230
|
{!props.isCustomView ? (
|
|
209
231
|
<OText size={13} style={{ marginBottom: 5 }}>
|
|
210
|
-
|
|
232
|
+
<>
|
|
233
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('CREATED_AT', 'Created at')}: ${parseDate(order?.created_at)}\n` : ''}
|
|
234
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('PLACED_TO', 'Placed to')}: ` : ''}{deliveryDate()}
|
|
235
|
+
</>
|
|
211
236
|
</OText>
|
|
212
237
|
) : (
|
|
213
238
|
<Header style={{ alignItems: 'center' }}>
|
|
214
239
|
<OText size={13} style={{ marginBottom: 5 }}>
|
|
215
|
-
|
|
240
|
+
<>
|
|
241
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('CREATED_AT', 'Created at')}: ${parseDate(order?.created_at)}\n` : ''}
|
|
242
|
+
{cateringTypes.includes(order?.delivery_type) ? `${t('PLACED_TO', 'Placed to')}: ` : ''}{deliveryDate()}
|
|
243
|
+
</>
|
|
216
244
|
</OText>
|
|
217
245
|
|
|
218
246
|
{(!order?.isLogistic || (!logisticOrderStatus?.includes(order?.status) && !order?.order_group)) && (
|
|
@@ -251,7 +279,6 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
251
279
|
style={styles.icons}
|
|
252
280
|
onClick={() => handleOpenMapView()}
|
|
253
281
|
/>
|
|
254
|
-
|
|
255
282
|
<OIconButton
|
|
256
283
|
icon={theme.images.general.messages}
|
|
257
284
|
iconStyle={{
|
|
@@ -270,7 +297,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
270
297
|
|
|
271
298
|
<OText numberOfLines={2} size={20} weight="600">
|
|
272
299
|
<>
|
|
273
|
-
{`${t('INVOICE_ORDER_NO', 'Order No.')} ${order?.id} `}
|
|
300
|
+
{`${t('INVOICE_ORDER_NO', 'Order No.')} ${showExternalId ? order?.external_id || order?.id : order?.id} `}
|
|
274
301
|
{!order?.isLogistic && (!order?.order_group_id || !logisticOrderStatus?.includes(order?.status)) && (
|
|
275
302
|
<>
|
|
276
303
|
{t('IS', 'is')}{' '}
|
|
@@ -284,7 +311,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
284
311
|
)}
|
|
285
312
|
</>
|
|
286
313
|
</OText>
|
|
287
|
-
{order?.external_id && (
|
|
314
|
+
{order?.external_id && !showExternalId && (
|
|
288
315
|
<OText size={13}>
|
|
289
316
|
<OText size={13} weight='bold'>{`${t('EXTERNAL_ID', 'External ID :')} `}</OText>
|
|
290
317
|
{order?.external_id}
|
|
@@ -25,13 +25,13 @@ export const Logo = styled.View`
|
|
|
25
25
|
|
|
26
26
|
export const OrderContent = styled.View`
|
|
27
27
|
flex: 1;
|
|
28
|
-
${(props
|
|
28
|
+
${(props: any) => props.isOrderGroup && css`
|
|
29
29
|
border-color: rgba(0, 0, 0, 0.2);
|
|
30
30
|
border-width: 1px;
|
|
31
31
|
padding: 10px;
|
|
32
32
|
`
|
|
33
33
|
}
|
|
34
|
-
${(props
|
|
34
|
+
${(props: any) => props.lastOrder && css`
|
|
35
35
|
margin-bottom: 50px;
|
|
36
36
|
`}
|
|
37
37
|
`;
|
|
@@ -68,7 +68,28 @@ export const Table = styled.View`
|
|
|
68
68
|
|
|
69
69
|
export const OrderBill = styled.View`
|
|
70
70
|
padding-vertical: 20px;
|
|
71
|
-
|
|
71
|
+
${(props: any) => !props.vehicleExists && css`
|
|
72
|
+
padding-bottom: 50px;
|
|
73
|
+
`
|
|
74
|
+
}
|
|
75
|
+
flex: 1;
|
|
76
|
+
`;
|
|
77
|
+
|
|
78
|
+
export const OrderVehicle = styled.View`
|
|
79
|
+
border-top-width: 1px;
|
|
80
|
+
border-top-color: ${(props: any) => props.theme.colors.borderTops};
|
|
81
|
+
padding-vertical: 20px;
|
|
82
|
+
padding-bottom: 50px;
|
|
83
|
+
flex: 1;
|
|
84
|
+
`;
|
|
85
|
+
|
|
86
|
+
export const OrderSpot = styled.View`
|
|
87
|
+
border-top-width: 1px;
|
|
88
|
+
border-top-color: ${(props: any) => props.theme.colors.borderTops};
|
|
89
|
+
padding-vertical: 20px;
|
|
90
|
+
${(props: any) => !props.vehicleExists && css`
|
|
91
|
+
padding-bottom: 50px;
|
|
92
|
+
`}
|
|
72
93
|
flex: 1;
|
|
73
94
|
`;
|
|
74
95
|
|
|
@@ -98,3 +119,18 @@ export const OSRow = styled.View`
|
|
|
98
119
|
width: 70%;
|
|
99
120
|
flex-wrap: wrap;
|
|
100
121
|
`
|
|
122
|
+
|
|
123
|
+
export const Messages = styled.View`
|
|
124
|
+
position: relative;
|
|
125
|
+
`;
|
|
126
|
+
|
|
127
|
+
export const Dot = styled.View`
|
|
128
|
+
position: absolute;
|
|
129
|
+
width: 8px;
|
|
130
|
+
height: 8px;
|
|
131
|
+
border-radius: 4px;
|
|
132
|
+
background-color: ${(props: any) => props.theme.colors.red};
|
|
133
|
+
top: 10px;
|
|
134
|
+
right: 10px;
|
|
135
|
+
z-index: 99;
|
|
136
|
+
`;
|