ordering-ui-react-native 0.15.63 → 0.15.64-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -3
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/AddressForm/index.tsx +18 -2
- package/src/components/BusinessBasicInformation/index.tsx +11 -19
- package/src/components/BusinessController/index.tsx +16 -8
- package/src/components/BusinessInformation/index.tsx +14 -0
- package/src/components/BusinessTypeFilter/index.tsx +1 -2
- 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 +6 -2
- package/src/components/LoginForm/index.tsx +120 -30
- package/src/components/LoginForm/styles.tsx +6 -0
- package/src/components/OrderDetails/index.tsx +7 -21
- package/src/components/PaymentOptions/index.tsx +67 -50
- 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/SingleProductCard/index.tsx +16 -4
- package/src/components/SingleProductReview/index.tsx +1 -1
- package/src/components/StripeMethodForm/index.tsx +22 -24
- 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 +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/pages/Sessions.tsx +22 -0
- package/src/theme.json +0 -1
- package/src/types/index.tsx +18 -11
- 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/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 +26 -13
- package/themes/business/src/components/OrderDetails/Business.tsx +2 -2
- package/themes/business/src/components/OrderDetails/Delivery.tsx +28 -11
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +14 -7
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +6 -0
- package/themes/business/src/components/OrdersListManager/index.tsx +1 -1
- package/themes/business/src/components/OrdersOption/index.tsx +8 -4
- package/themes/business/src/components/PreviousOrders/index.tsx +7 -7
- package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
- package/themes/business/src/components/shared/OModal.tsx +1 -1
- package/themes/business/src/types/index.tsx +8 -2
- 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 +11 -12
- 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 +32 -27
- 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 +7 -8
- 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 +1 -0
- package/themes/original/index.tsx +30 -8
- 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 +7 -6
- package/themes/original/src/components/AddressList/index.tsx +30 -18
- package/themes/original/src/components/AppleLogin/index.tsx +6 -8
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +305 -159
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
- package/themes/original/src/components/BusinessController/index.tsx +168 -96
- package/themes/original/src/components/BusinessController/styles.tsx +5 -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 +231 -63
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +22 -2
- 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/index.tsx +51 -52
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +317 -155
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +32 -0
- package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -39
- package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +560 -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 +679 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
- package/themes/original/src/components/BusinessesListing/index.tsx +99 -458
- package/themes/original/src/components/Cart/index.tsx +61 -42
- package/themes/original/src/components/Checkout/index.tsx +90 -39
- package/themes/original/src/components/DriverTips/index.tsx +17 -12
- 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 +298 -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 +11 -11
- 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/LastOrders/index.tsx +12 -1
- package/themes/original/src/components/LoginForm/Otp/index.tsx +91 -0
- package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
- package/themes/original/src/components/LoginForm/index.tsx +332 -164
- package/themes/original/src/components/LoginForm/styles.tsx +1 -3
- 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/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 +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/NavBar/index.tsx +4 -4
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
- package/themes/original/src/components/OrderDetails/index.tsx +150 -64
- package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
- package/themes/original/src/components/OrderSummary/index.tsx +6 -6
- package/themes/original/src/components/OrderTypeSelector/index.tsx +79 -35
- package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
- 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 +137 -38
- package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
- package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +17 -23
- package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
- package/themes/original/src/components/PaymentOptions/index.tsx +58 -37
- package/themes/original/src/components/PhoneInputNumber/index.tsx +5 -11
- package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
- package/themes/original/src/components/ProductForm/index.tsx +718 -679
- package/themes/original/src/components/ProductForm/styles.tsx +6 -2
- package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/original/src/components/ProductOption/index.tsx +1 -1
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
- package/themes/original/src/components/ProfessionalFilter/index.tsx +128 -0
- package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
- package/themes/original/src/components/ProfessionalProfile/index.tsx +298 -0
- package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
- package/themes/original/src/components/Promotions/index.tsx +151 -133
- package/themes/original/src/components/Promotions/styles.tsx +3 -23
- package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
- package/themes/original/src/components/ReviewOrder/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 +579 -0
- package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
- 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 +237 -126
- package/themes/original/src/components/SingleOrderCard/index.tsx +275 -0
- package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
- package/themes/original/src/components/SingleProductCard/index.tsx +161 -88
- package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
- 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/UpsellingProducts/index.tsx +86 -74
- package/themes/original/src/components/UserDetails/index.tsx +15 -81
- package/themes/original/src/components/UserFormDetails/index.tsx +98 -66
- package/themes/original/src/components/UserProfile/index.tsx +11 -2
- package/themes/original/src/components/UserProfileForm/index.tsx +33 -22
- 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/OBottomPopup.tsx +44 -13
- package/themes/original/src/components/shared/OButton.tsx +2 -0
- 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 +187 -35
- package/themes/original/src/utils/index.tsx +96 -2
- package/themes/single-business/src/components/OrderTypeSelector/index.tsx +1 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { Platform, KeyboardAvoidingView, StyleSheet } from 'react-native'
|
|
3
|
+
import { MultiCheckout as MultiCheckoutController } from '../../themes/original/src/components/MultiCheckout'
|
|
4
|
+
|
|
5
|
+
const MultiCheckout = (props: any) => {
|
|
6
|
+
const multiCheckoutProps = {
|
|
7
|
+
...props,
|
|
8
|
+
onPlaceOrderClick: (orderUuids: any) => {
|
|
9
|
+
props.navigation.navigate('MultiOrdersDetails', { orderUuids: orderUuids, isFromMultiCheckout: true })
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<KeyboardAvoidingView
|
|
15
|
+
enabled
|
|
16
|
+
behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
|
|
17
|
+
style={styles.container}
|
|
18
|
+
>
|
|
19
|
+
<MultiCheckoutController {...multiCheckoutProps} />
|
|
20
|
+
</KeyboardAvoidingView>
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const styles = StyleSheet.create({
|
|
25
|
+
container: {
|
|
26
|
+
flexGrow: 1,
|
|
27
|
+
paddingBottom: 70,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export default MultiCheckout
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { Platform } from 'react-native'
|
|
3
|
+
import { MultiOrdersDetails as MultiOrdersDetailsController } from '../../themes/original/src/components/MultiOrdersDetails'
|
|
4
|
+
import styled from 'styled-components/native';
|
|
5
|
+
|
|
6
|
+
const SafeAreaContainer = styled.SafeAreaView`
|
|
7
|
+
flex: 1;
|
|
8
|
+
background-color: ${(props: any) => props.theme.colors.backgroundPage};
|
|
9
|
+
padding-top: ${Platform.OS === 'ios' ? '0px' : '24px'};
|
|
10
|
+
`;
|
|
11
|
+
|
|
12
|
+
const MultiOrdersDetails = ({ navigation, route }: any) => {
|
|
13
|
+
const multiOrdersDetailsProps = {
|
|
14
|
+
navigation,
|
|
15
|
+
orderUuids: route.params?.orderUuids || [],
|
|
16
|
+
isFromMultiCheckout: route.params?.isFromMultiCheckout,
|
|
17
|
+
onRedirectPage: () => navigation.navigate('BusinessList')
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<SafeAreaContainer>
|
|
22
|
+
<MultiOrdersDetailsController {...multiOrdersDetailsProps} />
|
|
23
|
+
</SafeAreaContainer>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default MultiOrdersDetails
|
|
@@ -2,7 +2,7 @@ import React from 'react'
|
|
|
2
2
|
import { OrderDetails as OrderDetailsController } from '../components/OrderDetails'
|
|
3
3
|
import { SafeAreaContainer } from '../layouts/SafeAreaContainer'
|
|
4
4
|
|
|
5
|
-
const OrderDetails = ({ navigation, route }
|
|
5
|
+
const OrderDetails = ({ navigation, route }: any) => {
|
|
6
6
|
const orderDetailsProps = {
|
|
7
7
|
navigation,
|
|
8
8
|
orderId: route.params?.orderId,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
3
|
import styled from 'styled-components/native';
|
|
4
|
-
import {ReviewDriver as ReviewDriverController} from '../components/ReviewDriver'
|
|
4
|
+
import { ReviewDriver as ReviewDriverController } from '../components/ReviewDriver'
|
|
5
5
|
import { SafeAreaContainer } from '../layouts/SafeAreaContainer';
|
|
6
6
|
|
|
7
7
|
const KeyboardView = styled.KeyboardAvoidingView`
|
|
8
8
|
flex: 1;
|
|
9
9
|
`;
|
|
10
10
|
|
|
11
|
-
const ReviewDriver = ({navigation, route}
|
|
11
|
+
const ReviewDriver = ({ navigation, route }: any) => {
|
|
12
12
|
const reviewDriverProps = {
|
|
13
13
|
navigation,
|
|
14
14
|
order: route?.params?.order,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
3
|
import styled from 'styled-components/native';
|
|
4
|
-
import {ReviewOrder as ReviewOrderController} from '../components/ReviewOrder'
|
|
4
|
+
import { ReviewOrder as ReviewOrderController } from '../components/ReviewOrder'
|
|
5
5
|
import { SafeAreaContainer } from '../layouts/SafeAreaContainer';
|
|
6
6
|
|
|
7
7
|
const KeyboardView = styled.KeyboardAvoidingView`
|
|
8
8
|
flex: 1;
|
|
9
9
|
`;
|
|
10
10
|
|
|
11
|
-
const ReviewOrder = ({navigation, route}
|
|
11
|
+
const ReviewOrder = ({ navigation, route }: any) => {
|
|
12
12
|
const reviewOrderProps = {
|
|
13
13
|
navigation,
|
|
14
14
|
order: route?.params?.order,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { Container } from '../../themes/original/src/layouts/Container'
|
|
3
|
+
import { Sessions as SessionsController } from '../../themes/original/src/components/Sessions'
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
navigation: any;
|
|
7
|
+
route: any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const Sessions = (props: Props) => {
|
|
11
|
+
const sessionsProps = {
|
|
12
|
+
...props
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Container>
|
|
17
|
+
<SessionsController {...sessionsProps} />
|
|
18
|
+
</Container>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default Sessions
|
package/src/theme.json
CHANGED
package/src/types/index.tsx
CHANGED
|
@@ -17,6 +17,8 @@ export interface LoginParams {
|
|
|
17
17
|
handleSendVerifyCode?: any;
|
|
18
18
|
handleCheckPhoneCode?: any;
|
|
19
19
|
notificationState?: any;
|
|
20
|
+
handleReCaptcha?: (token: string) => void;
|
|
21
|
+
enableReCaptcha?: any;
|
|
20
22
|
}
|
|
21
23
|
export interface ProfileParams {
|
|
22
24
|
navigation?: any;
|
|
@@ -31,6 +33,8 @@ export interface ProfileParams {
|
|
|
31
33
|
validationFields?: any;
|
|
32
34
|
showField?: any;
|
|
33
35
|
isRequiredField?: any;
|
|
36
|
+
handleRemoveAccount?: any,
|
|
37
|
+
removeAccountState?: any
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
export interface AddressListParams {
|
|
@@ -97,6 +101,8 @@ export interface SignupParams {
|
|
|
97
101
|
handleSendVerifyCode?: any;
|
|
98
102
|
handleCheckPhoneCode?: any;
|
|
99
103
|
notificationState?: any;
|
|
104
|
+
enableReCaptcha?: boolean;
|
|
105
|
+
handleReCaptcha?: (token: string) => void;
|
|
100
106
|
}
|
|
101
107
|
|
|
102
108
|
export interface PhoneInputParams {
|
|
@@ -143,8 +149,9 @@ export interface BusinessControllerParams {
|
|
|
143
149
|
orderType?: any;
|
|
144
150
|
handleClick?: any;
|
|
145
151
|
isBusinessOpen?: boolean;
|
|
146
|
-
businessWillCloseSoonMinutes?: number
|
|
147
|
-
isBusinessClose?: number
|
|
152
|
+
businessWillCloseSoonMinutes?: number;
|
|
153
|
+
isBusinessClose?: number;
|
|
154
|
+
getBusinessOffer: any;
|
|
148
155
|
}
|
|
149
156
|
export interface BusinessProductsListingParams {
|
|
150
157
|
navigation?: any;
|
|
@@ -245,8 +252,8 @@ export interface OrdersOptionParams {
|
|
|
245
252
|
navigation?: any,
|
|
246
253
|
loadOrders?: any,
|
|
247
254
|
setOrderList?: any,
|
|
248
|
-
setOrdersLength?: ({activeOrdersLength, previousOrdersLength}
|
|
249
|
-
ordersLength: {activeOrdersLength: number, previousOrdersLength: number}
|
|
255
|
+
setOrdersLength?: ({ activeOrdersLength, previousOrdersLength }: { activeOrdersLength: number, previousOrdersLength: number }) => void,
|
|
256
|
+
ordersLength: { activeOrdersLength: number, previousOrdersLength: number }
|
|
250
257
|
}
|
|
251
258
|
export interface ActiveOrdersParams {
|
|
252
259
|
orders?: any,
|
|
@@ -344,7 +351,7 @@ export interface MessagesParams {
|
|
|
344
351
|
messages?: any,
|
|
345
352
|
message?: string,
|
|
346
353
|
image?: string,
|
|
347
|
-
messagesToShow?: any
|
|
354
|
+
messagesToShow?: any,
|
|
348
355
|
sendMessage?: any,
|
|
349
356
|
handleSend?: () => {},
|
|
350
357
|
setImage?: (image: string | null) => {},
|
|
@@ -413,7 +420,7 @@ export interface UpsellingProductsParams {
|
|
|
413
420
|
setOpenUpselling?: any;
|
|
414
421
|
onRedirect?: any;
|
|
415
422
|
businessId?: number;
|
|
416
|
-
cartProducts?: Array<any>;
|
|
423
|
+
cartProducts?: Array<any>;
|
|
417
424
|
handleUpsellingPage: () => void;
|
|
418
425
|
openUpselling: boolean;
|
|
419
426
|
canOpenUpselling?: boolean;
|
|
@@ -421,16 +428,16 @@ export interface UpsellingProductsParams {
|
|
|
421
428
|
}
|
|
422
429
|
|
|
423
430
|
export interface GoogleMapsParams {
|
|
424
|
-
location: {lat: number, lng: number}
|
|
425
|
-
handleChangeAddressMap?: (address
|
|
426
|
-
setErrors?: (error
|
|
431
|
+
location: { lat: number, lng: number }
|
|
432
|
+
handleChangeAddressMap?: (address: any, details: any) => void
|
|
433
|
+
setErrors?: (error: string) => void
|
|
427
434
|
maxLimitLocation?: number
|
|
428
435
|
readOnly?: boolean
|
|
429
436
|
markerTitle?: string,
|
|
430
437
|
saveLocation?: boolean,
|
|
431
438
|
isSetInputs?: boolean,
|
|
432
439
|
locations?: Array<any>,
|
|
433
|
-
setSaveLocation?: (val
|
|
440
|
+
setSaveLocation?: (val: boolean) => void,
|
|
434
441
|
handleToggleMap?: () => void
|
|
435
442
|
}
|
|
436
443
|
|
|
@@ -478,7 +485,7 @@ export interface HelpAccountAndPaymentParams {
|
|
|
478
485
|
|
|
479
486
|
export interface StripeMethodFormParams {
|
|
480
487
|
cart: any;
|
|
481
|
-
handleSource: ({id, card}
|
|
488
|
+
handleSource: ({ id, card }: { id: string, card: any }) => void;
|
|
482
489
|
onCancel: () => void;
|
|
483
490
|
setErrors: (error: string) => void;
|
|
484
491
|
paymethod: string;
|
package/src/utils/index.tsx
CHANGED
|
@@ -200,7 +200,7 @@ export const transformCountryCode = (countryCode : number) => {
|
|
|
200
200
|
*/
|
|
201
201
|
export const reviewCommentList = (type: string) => {
|
|
202
202
|
const [, t] = useLanguage()
|
|
203
|
-
|
|
203
|
+
// TODO: improve this function
|
|
204
204
|
const reviews: any = {
|
|
205
205
|
order: {
|
|
206
206
|
1: {
|
|
@@ -386,3 +386,70 @@ export const transformCountryCode = (countryCode : number) => {
|
|
|
386
386
|
|
|
387
387
|
return reviews[type]
|
|
388
388
|
}
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* function to manage order comment list
|
|
392
|
+
* @param {string} param0 type of orders to return
|
|
393
|
+
* @returns object with orders dictionary
|
|
394
|
+
*/
|
|
395
|
+
export const orderCommentList = (value: string) => {
|
|
396
|
+
const [, t] = useLanguage()
|
|
397
|
+
const dictionary: any = {
|
|
398
|
+
reject: 6,
|
|
399
|
+
forcePickUp: 9,
|
|
400
|
+
pickupFailed: 10,
|
|
401
|
+
forceDelivery: 11,
|
|
402
|
+
deliveryFailed: 12,
|
|
403
|
+
notReady: 14
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
const status = dictionary[value]
|
|
407
|
+
|
|
408
|
+
const messages: any = {
|
|
409
|
+
6: [// on reject order
|
|
410
|
+
'very_far_away',
|
|
411
|
+
'driver_vehicle_incident',
|
|
412
|
+
'destination_unreacheable',
|
|
413
|
+
'unavailable_driver',
|
|
414
|
+
'other'
|
|
415
|
+
],
|
|
416
|
+
9: [// on force pickup status
|
|
417
|
+
'forgot_complete_location',
|
|
418
|
+
'not_internet_conection',
|
|
419
|
+
'other'
|
|
420
|
+
],
|
|
421
|
+
10: [// on pickup failed by driver
|
|
422
|
+
'very_far_away',
|
|
423
|
+
'driver_vehicle_incident',
|
|
424
|
+
'destination_unreacheable',
|
|
425
|
+
'store_closed',
|
|
426
|
+
'unavailable_driver',
|
|
427
|
+
'other'
|
|
428
|
+
],
|
|
429
|
+
11: [// on force delivery status
|
|
430
|
+
'forgot_complete_location',
|
|
431
|
+
'not_internet_conection',
|
|
432
|
+
'other'
|
|
433
|
+
],
|
|
434
|
+
12: [// on delivery failed by driver
|
|
435
|
+
'very_far_away',
|
|
436
|
+
'driver_vehicle_incident',
|
|
437
|
+
'destination_unreacheable',
|
|
438
|
+
'recipient_unavailable',
|
|
439
|
+
'incorrect_missing_items',
|
|
440
|
+
'refused_damage',
|
|
441
|
+
'other'
|
|
442
|
+
],
|
|
443
|
+
14: [// on order not ready
|
|
444
|
+
'store_recieve_order_late',
|
|
445
|
+
'store_busy',
|
|
446
|
+
'other'
|
|
447
|
+
]
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
if (!messages[status]) return null
|
|
451
|
+
|
|
452
|
+
const list = messages[status].map((val: any, i: number) => ({ key: i, value: val, content: t(`REJECT_REASON_${val.toUpperCase()}`, val.replace(/_/g, ' ')) }))
|
|
453
|
+
|
|
454
|
+
return { list }
|
|
455
|
+
}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import FeatherIcon from 'react-native-vector-icons/Feather';
|
|
2
3
|
import {
|
|
3
4
|
Linking,
|
|
4
5
|
Keyboard,
|
|
5
6
|
Platform,
|
|
6
7
|
View,
|
|
7
8
|
KeyboardAvoidingView,
|
|
8
|
-
TextInput
|
|
9
|
+
TextInput,
|
|
10
|
+
StyleSheet
|
|
9
11
|
} from 'react-native';
|
|
10
12
|
import { useTheme } from 'styled-components/native';
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
+
import SelectDropdown from 'react-native-select-dropdown'
|
|
14
|
+
import { useLanguage, useSession } from 'ordering-components/native';
|
|
15
|
+
import { Content, Timer, TimeField, Header, Action, Comments, CommentsButtonGroup } from './styles';
|
|
13
16
|
import { FloatingButton } from '../FloatingButton';
|
|
14
17
|
import { OText, OButton, OTextarea, OIconButton } from '../shared';
|
|
15
18
|
import { AcceptOrRejectOrderParams } from '../../types';
|
|
16
19
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
17
20
|
|
|
21
|
+
import { orderCommentList } from '../../../../../src/utils'
|
|
22
|
+
|
|
18
23
|
export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
19
24
|
const {
|
|
20
25
|
customerCellphone,
|
|
@@ -30,6 +35,7 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
|
30
35
|
} = props;
|
|
31
36
|
|
|
32
37
|
const [, t] = useLanguage();
|
|
38
|
+
const [{ user }] = useSession();
|
|
33
39
|
const theme = useTheme();
|
|
34
40
|
const scrollViewRef = useRef<any>(null);
|
|
35
41
|
const viewRef = useRef<any>(null);
|
|
@@ -39,27 +45,62 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
|
39
45
|
const [min, setMin] = useState('00');
|
|
40
46
|
const [time, setTime] = useState('');
|
|
41
47
|
const [comments, setComments] = useState('');
|
|
48
|
+
const [rejectReason, setRejectReason] = useState(null);
|
|
42
49
|
const [isKeyboardShow, setIsKeyboardShow] = useState(false);
|
|
43
50
|
const { top, bottom } = useSafeAreaInsets()
|
|
44
51
|
|
|
52
|
+
const isDriverApp = appTitle?.key === 'DELIVERY_APP'
|
|
53
|
+
|
|
54
|
+
const orderCommentsList = orderCommentList(action)
|
|
55
|
+
|
|
45
56
|
let codeNumberPhone, numberPhone, numberToShow;
|
|
46
57
|
const phoneNumber = customerCellphone;
|
|
47
58
|
const titleOrder = t(orderTitle[action]?.key, orderTitle[action]?.text)
|
|
48
59
|
const buttonText = t(orderTitle[action]?.btnKey, orderTitle[action]?.btnText)
|
|
49
60
|
const showTextArea = ['reject', 'deliveryFailed', 'pickupFailed', 'notReady', 'forcePickUp', 'forceDelivery'].includes(action)
|
|
50
61
|
|
|
62
|
+
const styles = StyleSheet.create({
|
|
63
|
+
selectOption: {
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
justifyContent: 'space-between',
|
|
66
|
+
minHeight: 40,
|
|
67
|
+
width: '100%',
|
|
68
|
+
paddingHorizontal: 15,
|
|
69
|
+
backgroundColor: theme.colors.inputChat,
|
|
70
|
+
borderRadius: 7.6,
|
|
71
|
+
},
|
|
72
|
+
buttonTextStyle: {
|
|
73
|
+
textAlign: 'left',
|
|
74
|
+
marginHorizontal: 0,
|
|
75
|
+
fontSize: 16,
|
|
76
|
+
lineHeight: 24,
|
|
77
|
+
color: '#748194',
|
|
78
|
+
textTransform: 'capitalize'
|
|
79
|
+
},
|
|
80
|
+
dropdownStyle: {
|
|
81
|
+
borderWidth: 1,
|
|
82
|
+
borderRadius: 8,
|
|
83
|
+
paddingTop: 5,
|
|
84
|
+
backgroundColor: '#fff',
|
|
85
|
+
borderColor: theme.colors.lightGray,
|
|
86
|
+
overflow: 'hidden',
|
|
87
|
+
minHeight: 120
|
|
88
|
+
},
|
|
89
|
+
rowStyle: {
|
|
90
|
+
display: 'flex',
|
|
91
|
+
borderBottomWidth: 0,
|
|
92
|
+
height: 36,
|
|
93
|
+
alignItems: 'center',
|
|
94
|
+
paddingHorizontal: 10
|
|
95
|
+
},
|
|
96
|
+
})
|
|
97
|
+
|
|
51
98
|
const handleFocus = () => {
|
|
52
99
|
viewRef?.current?.measure((x: any, y: any) => {
|
|
53
100
|
scrollViewRef?.current?.scrollTo({ x: 0, y });
|
|
54
101
|
});
|
|
55
102
|
};
|
|
56
103
|
|
|
57
|
-
const handleFocusTimer = () => {
|
|
58
|
-
timerRef?.current?.measure((x: any, y: any) => {
|
|
59
|
-
scrollViewRef?.current?.scrollTo({ x: 0, y });
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
|
|
63
104
|
useEffect(() => {
|
|
64
105
|
const keyboardDidShowListener = Keyboard.addListener(
|
|
65
106
|
'keyboardDidShow',
|
|
@@ -151,7 +192,6 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
|
151
192
|
|
|
152
193
|
const handleAcceptOrReject = () => {
|
|
153
194
|
handleFixTime();
|
|
154
|
-
|
|
155
195
|
let minsToSend = min;
|
|
156
196
|
|
|
157
197
|
if (min > '60') minsToSend = '59';
|
|
@@ -175,26 +215,32 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
|
175
215
|
rejectByDriver: {
|
|
176
216
|
comment: comments,
|
|
177
217
|
status: 6,
|
|
218
|
+
reject_reason: rejectReason
|
|
178
219
|
},
|
|
179
220
|
pickupFailedByDriver: {
|
|
180
221
|
comment: comments,
|
|
181
|
-
status: 10
|
|
222
|
+
status: 10,
|
|
223
|
+
reject_reason: rejectReason
|
|
182
224
|
},
|
|
183
225
|
deliveryFailedByDriver: {
|
|
184
226
|
comment: comments,
|
|
185
|
-
status: 12
|
|
227
|
+
status: 12,
|
|
228
|
+
reject_reason: rejectReason
|
|
186
229
|
},
|
|
187
230
|
orderNotReady: {
|
|
188
231
|
comment: comments,
|
|
189
|
-
status: 14
|
|
232
|
+
status: 14,
|
|
233
|
+
reject_reason: rejectReason
|
|
190
234
|
},
|
|
191
235
|
forcePickUp: {
|
|
192
236
|
reasons: comments,
|
|
193
|
-
status: 9
|
|
237
|
+
status: 9,
|
|
238
|
+
reject_reason: rejectReason
|
|
194
239
|
},
|
|
195
240
|
forceDelivery: {
|
|
196
241
|
reasons: comments,
|
|
197
|
-
status: 11
|
|
242
|
+
status: 11,
|
|
243
|
+
reject_reason: rejectReason
|
|
198
244
|
}
|
|
199
245
|
};
|
|
200
246
|
|
|
@@ -387,6 +433,48 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
|
|
|
387
433
|
onBlur={() => actions && action === 'accept' && timerRef?.current?.focus?.()}
|
|
388
434
|
/>
|
|
389
435
|
|
|
436
|
+
{orderCommentsList && isDriverApp && (
|
|
437
|
+
<CommentsButtonGroup>
|
|
438
|
+
<SelectDropdown
|
|
439
|
+
defaultButtonText={t('REJECT_REASONS_OPTIONS', 'Reject reasons')}
|
|
440
|
+
data={orderCommentsList?.list}
|
|
441
|
+
onSelect={(selectedItem) => {
|
|
442
|
+
setRejectReason(selectedItem?.value)
|
|
443
|
+
}}
|
|
444
|
+
buttonTextAfterSelection={(selectedItem) => selectedItem.content}
|
|
445
|
+
rowTextForSelection={(item) => item.key}
|
|
446
|
+
buttonStyle={styles.selectOption}
|
|
447
|
+
buttonTextStyle={styles.buttonTextStyle}
|
|
448
|
+
renderDropdownIcon={isOpened => {
|
|
449
|
+
return <FeatherIcon name={isOpened ? 'chevron-up' : 'chevron-down'} color={'#444'} size={18} />;
|
|
450
|
+
}}
|
|
451
|
+
dropdownStyle={styles.dropdownStyle}
|
|
452
|
+
dropdownOverlayColor='transparent'
|
|
453
|
+
rowStyle={styles.rowStyle}
|
|
454
|
+
renderCustomizedRowChild={(item) => {
|
|
455
|
+
return (
|
|
456
|
+
<View
|
|
457
|
+
style={{
|
|
458
|
+
flexDirection: 'row',
|
|
459
|
+
alignItems: 'center'
|
|
460
|
+
}}
|
|
461
|
+
>
|
|
462
|
+
<View>
|
|
463
|
+
<OText
|
|
464
|
+
size={14}
|
|
465
|
+
color={'#748194'}
|
|
466
|
+
style={{ textTransform: 'capitalize' }}
|
|
467
|
+
>
|
|
468
|
+
{item?.content}
|
|
469
|
+
</OText>
|
|
470
|
+
</View>
|
|
471
|
+
</View>
|
|
472
|
+
);
|
|
473
|
+
}}
|
|
474
|
+
/>
|
|
475
|
+
</CommentsButtonGroup>
|
|
476
|
+
)}
|
|
477
|
+
|
|
390
478
|
{showTextArea && (
|
|
391
479
|
<Comments ref={viewRef}>
|
|
392
480
|
<OTextarea
|
|
@@ -44,6 +44,35 @@ import { USER_TYPE } from '../../config/constants';
|
|
|
44
44
|
|
|
45
45
|
import SignatureScreen from 'react-native-signature-canvas';
|
|
46
46
|
|
|
47
|
+
const ORDER_STATUS: any = {
|
|
48
|
+
0: 'ORDER_STATUS_PENDING',
|
|
49
|
+
1: 'ORDERS_COMPLETED',
|
|
50
|
+
2: 'ORDER_REJECTED',
|
|
51
|
+
3: 'ORDER_STATUS_IN_BUSINESS',
|
|
52
|
+
4: 'ORDER_READY',
|
|
53
|
+
5: 'ORDER_REJECTED_RESTAURANT',
|
|
54
|
+
6: 'ORDER_STATUS_CANCELLEDBYDRIVER',
|
|
55
|
+
7: 'ORDER_STATUS_ACCEPTEDBYRESTAURANT',
|
|
56
|
+
8: 'ORDER_CONFIRMED_ACCEPTED_BY_DRIVER',
|
|
57
|
+
9: 'ORDER_PICKUP_COMPLETED_BY_DRIVER',
|
|
58
|
+
10: 'ORDER_PICKUP_FAILED_BY_DRIVER',
|
|
59
|
+
11: 'ORDER_DELIVERY_COMPLETED_BY_DRIVER',
|
|
60
|
+
12: 'ORDER_DELIVERY_FAILED_BY_DRIVER',
|
|
61
|
+
13: 'PREORDER',
|
|
62
|
+
14: 'ORDER_NOT_READY',
|
|
63
|
+
15: 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER',
|
|
64
|
+
16: 'ORDER_STATUS_CANCELLED_BY_CUSTOMER',
|
|
65
|
+
17: 'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
|
|
66
|
+
18: 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS',
|
|
67
|
+
19: 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER',
|
|
68
|
+
20: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
|
|
69
|
+
21: 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
|
|
70
|
+
22: 'ORDER_LOOKING_FOR_DRIVER',
|
|
71
|
+
23: 'ORDER_DRIVER_ON_WAY'
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const filterSpecialStatus = ['prepared_in', 'delivered_in', 'delivery_datetime']
|
|
75
|
+
|
|
47
76
|
const ChatUI = (props: MessagesParams) => {
|
|
48
77
|
const {
|
|
49
78
|
type,
|
|
@@ -317,71 +346,6 @@ const ChatUI = (props: MessagesParams) => {
|
|
|
317
346
|
}
|
|
318
347
|
};
|
|
319
348
|
|
|
320
|
-
const getStatus = (status: number, attribute: any) => {
|
|
321
|
-
const hour = Math.trunc(status / 60);
|
|
322
|
-
const min = Math.round((status / 60 - hour) * 60);
|
|
323
|
-
|
|
324
|
-
if (attribute === 'status') {
|
|
325
|
-
switch (status) {
|
|
326
|
-
case 0:
|
|
327
|
-
return 'ORDER_STATUS_PENDING';
|
|
328
|
-
case 1:
|
|
329
|
-
return 'ORDERS_COMPLETED';
|
|
330
|
-
case 2:
|
|
331
|
-
return 'ORDER_REJECTED';
|
|
332
|
-
case 3:
|
|
333
|
-
return 'ORDER_STATUS_IN_BUSINESS';
|
|
334
|
-
case 4:
|
|
335
|
-
return 'ORDER_READY';
|
|
336
|
-
case 5:
|
|
337
|
-
return 'ORDER_REJECTED_RESTAURANT';
|
|
338
|
-
case 6:
|
|
339
|
-
return 'ORDER_STATUS_CANCELLEDBYDRIVER';
|
|
340
|
-
case 7:
|
|
341
|
-
return 'ORDER_STATUS_ACCEPTEDBYRESTAURANT';
|
|
342
|
-
case 8:
|
|
343
|
-
return 'ORDER_CONFIRMED_ACCEPTED_BY_DRIVER';
|
|
344
|
-
case 9:
|
|
345
|
-
return 'ORDER_PICKUP_COMPLETED_BY_DRIVER';
|
|
346
|
-
case 10:
|
|
347
|
-
return 'ORDER_PICKUP_FAILED_BY_DRIVER';
|
|
348
|
-
case 11:
|
|
349
|
-
return 'ORDER_DELIVERY_COMPLETED_BY_DRIVER';
|
|
350
|
-
case 12:
|
|
351
|
-
return 'ORDER_DELIVERY_FAILED_BY_DRIVER';
|
|
352
|
-
case 13:
|
|
353
|
-
return 'PREORDER';
|
|
354
|
-
case 14:
|
|
355
|
-
return 'ORDER_NOT_READY';
|
|
356
|
-
case 15:
|
|
357
|
-
return 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER';
|
|
358
|
-
case 16:
|
|
359
|
-
return 'ORDER_STATUS_CANCELLED_BY_CUSTOMER';
|
|
360
|
-
case 17:
|
|
361
|
-
return 'ORDER_NOT_PICKEDUP_BY_CUSTOMER';
|
|
362
|
-
case 18:
|
|
363
|
-
return 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS';
|
|
364
|
-
case 19:
|
|
365
|
-
return 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER';
|
|
366
|
-
case 20:
|
|
367
|
-
return 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS';
|
|
368
|
-
case 21:
|
|
369
|
-
return 'ORDER_CUSTOMER_ARRIVED_BUSINESS';
|
|
370
|
-
case 22:
|
|
371
|
-
return 'ORDER_LOOKING_FOR_DRIVER'
|
|
372
|
-
case 23:
|
|
373
|
-
return 'ORDER_DRIVER_ON_WAY'
|
|
374
|
-
default:
|
|
375
|
-
return ``;
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
if (attribute === 'prepared_in' || attribute === 'delivered_in') {
|
|
380
|
-
return `${hour < 10 ? '0' + hour : hour}:${min < 10 ? '0' + min : min} ${status > 60 ? 'hours' : 'minutes'
|
|
381
|
-
}`;
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
|
|
385
349
|
const onSubmit = (values: any) => {
|
|
386
350
|
handleSend && handleSend();
|
|
387
351
|
setImage && setImage(null);
|
|
@@ -403,28 +367,16 @@ const ChatUI = (props: MessagesParams) => {
|
|
|
403
367
|
numberOfLines={3}
|
|
404
368
|
style={{ ...styles.firstMessageText, textAlign: 'center' }}>
|
|
405
369
|
{message.change?.attribute !== 'driver_id'
|
|
406
|
-
?
|
|
407
|
-
|
|
408
|
-
message.change.
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
getStatus(
|
|
412
|
-
parseInt(message.change.old, 10),
|
|
413
|
-
message.change?.attribute,
|
|
414
|
-
),
|
|
415
|
-
)
|
|
416
|
-
: '0'
|
|
417
|
-
} ${t('TO', 'to')} ${t(
|
|
418
|
-
getStatus(
|
|
419
|
-
parseInt(message.change.new, 10),
|
|
420
|
-
message.change?.attribute,
|
|
421
|
-
),
|
|
422
|
-
)}`
|
|
370
|
+
?
|
|
371
|
+
`${t('ORDER', 'Order')} ${t(message.change.attribute.toUpperCase(), message.change.attribute.replace('_', ' '))} ${t('CHANGED_FROM', 'Changed from')} ${filterSpecialStatus.includes(message.change.attribute) ?
|
|
372
|
+
`${message.change.old === null ? '0' : message.change.old} ${t('TO', 'to')} ${message.change.new} ${t('MINUTES', 'Minutes')}` :
|
|
373
|
+
`${message.change.old !== null && t(ORDER_STATUS[parseInt(message.change.old, 10)])} ${t('TO', 'to')} ${t(ORDER_STATUS[parseInt(message.change.new, 10)])}`
|
|
374
|
+
}`
|
|
423
375
|
: message.change.new
|
|
424
|
-
?
|
|
425
|
-
} ${t('WAS_ASSIGNED_AS_DRIVER', 'Was assigned as driver')} ${message.comment ? message.comment.length : ''
|
|
426
|
-
|
|
427
|
-
|
|
376
|
+
?
|
|
377
|
+
`${message.driver?.name} ${message.driver?.lastname !== null ? message.driver.lastname : ''} ${t('WAS_ASSIGNED_AS_DRIVER', 'Was assigned as driver')} ${message.comment ? message.comment.length : ''}`
|
|
378
|
+
:
|
|
379
|
+
`${t('DRIVER_UNASSIGNED', 'Driver unassigned')}`}
|
|
428
380
|
</OText>
|
|
429
381
|
<OText size={10} color={'#aaa'} style={{ alignSelf: 'flex-start' }}>
|
|
430
382
|
{parseTime(message?.created_at, { outputFormat: 'hh:mma' })}
|
|
@@ -532,12 +484,12 @@ const ChatUI = (props: MessagesParams) => {
|
|
|
532
484
|
image: message.source,
|
|
533
485
|
system: message.type === 1,
|
|
534
486
|
user: {
|
|
535
|
-
_id: message.author
|
|
536
|
-
name: message.author
|
|
487
|
+
_id: message.author?.id,
|
|
488
|
+
name: message.author?.name,
|
|
537
489
|
can_see: message?.can_see,
|
|
538
|
-
level: message.author
|
|
490
|
+
level: message.author?.level,
|
|
539
491
|
avatar:
|
|
540
|
-
message.author
|
|
492
|
+
message.author?.id !== user?.id && type === USER_TYPE.DRIVER
|
|
541
493
|
? order?.driver?.photo
|
|
542
494
|
: order?.business?.logo,
|
|
543
495
|
},
|