ordering-ui-react-native 0.16.84 → 0.16.85-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 +5 -5
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/ActiveOrders/styles.tsx +8 -14
- package/src/components/BusinessInformation/index.tsx +19 -4
- package/src/components/BusinessInformation/styles.tsx +2 -2
- package/src/components/BusinessProductsList/index.tsx +8 -8
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/LanguageSelector/index.tsx +21 -16
- package/src/components/Messages/index.tsx +2 -2
- package/src/components/OrderCreating/index.tsx +1 -21
- package/src/components/OrdersOption/index.tsx +54 -56
- package/src/components/PaymentOptionsWebView/index.tsx +119 -120
- package/src/components/SingleProductReview/index.tsx +7 -4
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OToast.tsx +4 -4
- package/src/utils/index.tsx +2 -1
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
- package/themes/business/src/components/BusinessController/index.tsx +2 -2
- package/themes/business/src/components/Chat/index.tsx +31 -31
- package/themes/business/src/components/DriverMap/index.tsx +22 -9
- package/themes/business/src/components/GoogleMap/index.tsx +58 -57
- package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
- package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
- package/themes/business/src/components/LoginForm/index.tsx +236 -80
- package/themes/business/src/components/LoginForm/styles.tsx +10 -0
- package/themes/business/src/components/MapView/index.tsx +19 -8
- package/themes/business/src/components/MessagesOption/index.tsx +11 -1
- package/themes/business/src/components/NewOrderNotification/index.tsx +31 -41
- package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +96 -50
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
- package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
- package/themes/business/src/components/OrdersOption/index.tsx +63 -73
- 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/OrderItem.tsx +250 -0
- package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
- package/themes/business/src/components/PreviousOrders/index.tsx +447 -247
- package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
- package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
- package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
- 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/OLink.tsx +33 -13
- package/themes/business/src/components/shared/OModal.tsx +16 -9
- package/themes/business/src/components/shared/OText.tsx +8 -2
- package/themes/business/src/types/index.tsx +35 -3
- package/themes/business/src/utils/index.tsx +53 -0
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
- package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
- package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
- package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
- 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/PhoneInputNumber/index.tsx +1 -0
- package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
- package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
- package/themes/kiosk/src/layouts/Container.tsx +7 -1
- package/themes/kiosk/src/types/index.d.ts +13 -0
- package/themes/kiosk/src/utils/index.tsx +15 -0
- package/themes/original/index.tsx +8 -0
- package/themes/original/src/components/AddressDetails/index.tsx +10 -8
- package/themes/original/src/components/AddressForm/index.tsx +155 -139
- package/themes/original/src/components/AddressList/index.tsx +18 -18
- package/themes/original/src/components/AddressList/styles.tsx +4 -2
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +118 -76
- package/themes/original/src/components/BusinessController/index.tsx +100 -47
- package/themes/original/src/components/BusinessController/styles.tsx +14 -9
- package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +9 -3
- package/themes/original/src/components/BusinessListingSearch/index.tsx +93 -42
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +6 -0
- package/themes/original/src/components/BusinessPreorder/index.tsx +96 -15
- package/themes/original/src/components/BusinessProductsList/index.tsx +10 -8
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +564 -495
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +13 -12
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +116 -81
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
- package/themes/original/src/components/BusinessesListing/index.tsx +6 -6
- package/themes/original/src/components/Cart/index.tsx +83 -42
- package/themes/original/src/components/CartContent/index.tsx +77 -15
- package/themes/original/src/components/CartContent/styles.tsx +11 -1
- package/themes/original/src/components/Checkout/index.tsx +74 -86
- package/themes/original/src/components/Checkout/styles.tsx +4 -2
- package/themes/original/src/components/CitiesControl/index.tsx +89 -0
- package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
- package/themes/original/src/components/DriverTips/index.tsx +52 -37
- package/themes/original/src/components/DriverTips/styles.tsx +2 -1
- package/themes/original/src/components/Favorite/index.tsx +7 -4
- package/themes/original/src/components/Favorite/styles.tsx +1 -1
- package/themes/original/src/components/FavoriteList/index.tsx +70 -80
- package/themes/original/src/components/FloatingButton/index.tsx +1 -2
- package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
- package/themes/original/src/components/GPSButton/index.tsx +20 -19
- package/themes/original/src/components/GPSButton/styles.ts +3 -3
- package/themes/original/src/components/GoogleMap/index.tsx +10 -1
- package/themes/original/src/components/Help/index.tsx +8 -8
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +11 -22
- package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
- package/themes/original/src/components/HelpGuide/index.tsx +12 -16
- package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
- package/themes/original/src/components/HelpOrder/index.tsx +12 -25
- package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
- package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
- package/themes/original/src/components/LastOrder/index.tsx +1 -34
- package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
- package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
- package/themes/original/src/components/LoginForm/index.tsx +28 -8
- package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
- package/themes/original/src/components/MessageListing/index.tsx +7 -40
- package/themes/original/src/components/Messages/index.tsx +26 -10
- package/themes/original/src/components/MomentOption/index.tsx +195 -88
- package/themes/original/src/components/MultiCart/index.tsx +50 -0
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
- package/themes/original/src/components/MultiCheckout/index.tsx +179 -77
- package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +67 -20
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
- package/themes/original/src/components/MyOrders/index.tsx +66 -17
- package/themes/original/src/components/NavBar/index.tsx +6 -11
- package/themes/original/src/components/NetworkError/index.tsx +5 -3
- package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
- package/themes/original/src/components/Notifications/index.tsx +144 -0
- package/themes/original/src/components/Notifications/styles.tsx +20 -0
- package/themes/original/src/components/OrderDetails/index.tsx +108 -218
- package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
- package/themes/original/src/components/OrderItAgain/index.tsx +44 -42
- package/themes/original/src/components/OrderProgress/index.tsx +82 -106
- package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
- package/themes/original/src/components/OrderSummary/index.tsx +2 -2
- package/themes/original/src/components/OrderTypeSelector/index.tsx +9 -3
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +29 -20
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
- package/themes/original/src/components/OrdersOption/index.tsx +79 -84
- package/themes/original/src/components/PageBanner/index.tsx +146 -0
- package/themes/original/src/components/PageBanner/styles.tsx +11 -0
- package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +2 -2
- package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
- package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
- package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
- package/themes/original/src/components/ProductForm/index.tsx +240 -256
- package/themes/original/src/components/ProductForm/styles.tsx +5 -8
- package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
- package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
- package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
- package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
- package/themes/original/src/components/ProfessionalProfile/index.tsx +54 -14
- package/themes/original/src/components/Promotions/index.tsx +234 -220
- package/themes/original/src/components/Promotions/styles.tsx +7 -2
- package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
- package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
- package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
- package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
- package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
- package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
- package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
- package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
- package/themes/original/src/components/ServiceForm/index.tsx +377 -270
- package/themes/original/src/components/Sessions/index.tsx +11 -8
- package/themes/original/src/components/Sessions/styles.tsx +5 -0
- package/themes/original/src/components/SignupForm/index.tsx +78 -66
- package/themes/original/src/components/SingleOrderCard/index.tsx +125 -56
- package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
- package/themes/original/src/components/SingleProductCard/index.tsx +106 -47
- package/themes/original/src/components/SingleProductCard/styles.tsx +14 -13
- package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
- package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
- package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
- package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
- package/themes/original/src/components/UpsellingProducts/index.tsx +243 -218
- package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
- package/themes/original/src/components/UserDetails/index.tsx +5 -3
- package/themes/original/src/components/UserFormDetails/index.tsx +61 -54
- package/themes/original/src/components/UserProfile/index.tsx +58 -35
- package/themes/original/src/components/UserProfile/styles.ts +17 -0
- package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
- package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/original/src/components/Wallets/index.tsx +96 -93
- package/themes/original/src/components/Wallets/styles.tsx +2 -0
- package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
- package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
- package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
- package/themes/original/src/components/shared/OButton.tsx +1 -1
- package/themes/original/src/components/shared/OIcon.tsx +8 -1
- package/themes/original/src/components/shared/OInput.tsx +10 -1
- package/themes/original/src/layouts/Container.tsx +13 -9
- package/themes/original/src/types/index.tsx +36 -5
- package/themes/original/src/utils/index.tsx +321 -58
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { LanguageSelector as LanguageSelectorController, useOrder } from 'ordering-components/native'
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
|
+
import { LanguageSelector as LanguageSelectorController, useOrder, useLanguage } from 'ordering-components/native'
|
|
3
3
|
import { useTheme } from 'styled-components/native';
|
|
4
|
-
import {
|
|
4
|
+
import { StyleSheet, View } from 'react-native'
|
|
5
5
|
|
|
6
6
|
import RNPickerSelect from 'react-native-picker-select'
|
|
7
7
|
import { Container, DummyContainer } from './styles'
|
|
@@ -9,9 +9,17 @@ import { LanguageSelectorParams } from '../../types'
|
|
|
9
9
|
import { OIcon } from '../shared'
|
|
10
10
|
|
|
11
11
|
const LanguageSelectorUI = (props: LanguageSelectorParams) => {
|
|
12
|
+
const {
|
|
13
|
+
languagesState,
|
|
14
|
+
currentLanguage,
|
|
15
|
+
handleChangeLanguage,
|
|
16
|
+
iconColor,
|
|
17
|
+
pickerStyle
|
|
18
|
+
} = props
|
|
12
19
|
|
|
13
20
|
const [orderState] = useOrder()
|
|
14
|
-
|
|
21
|
+
const [state] = useLanguage()
|
|
22
|
+
const [languagePressed, setLanguagePressed] = useState(currentLanguage)
|
|
15
23
|
const theme = useTheme();
|
|
16
24
|
|
|
17
25
|
const _pickerStyle = StyleSheet.create({
|
|
@@ -41,14 +49,11 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
|
|
|
41
49
|
color: theme.colors.secundaryContrast
|
|
42
50
|
}
|
|
43
51
|
})
|
|
44
|
-
|
|
45
|
-
const {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
iconColor,
|
|
50
|
-
pickerStyle
|
|
51
|
-
} = props
|
|
52
|
+
|
|
53
|
+
const changeLanguage = (lang : string) => {
|
|
54
|
+
setLanguagePressed(lang)
|
|
55
|
+
handleChangeLanguage(lang)
|
|
56
|
+
}
|
|
52
57
|
|
|
53
58
|
const _languages = languagesState?.languages?.map((language: any) => {
|
|
54
59
|
return {
|
|
@@ -67,14 +72,14 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
|
|
|
67
72
|
<>
|
|
68
73
|
{iconColor && <OIcon src={theme.images.general.language} color={iconColor} style={{ marginEnd: 14 }} width={16} />}
|
|
69
74
|
<RNPickerSelect
|
|
70
|
-
onValueChange={
|
|
75
|
+
onValueChange={changeLanguage}
|
|
71
76
|
items={_languages || []}
|
|
72
77
|
value={currentLanguage}
|
|
73
78
|
style={pickerStyle ? pickerStyle : _pickerStyle}
|
|
74
79
|
useNativeAndroidPickerStyle={false}
|
|
75
80
|
placeholder={{}}
|
|
76
81
|
Icon={() => <View style={pickerStyle ? pickerStyle.icon : _pickerStyle.icon}><OIcon src={theme.images.general.arrow_down} color={theme.colors.white} style={{ width: '100%' }} /></View>}
|
|
77
|
-
disabled={orderState.loading}
|
|
82
|
+
disabled={orderState.loading || state.loading || state?.language?.code !== languagePressed}
|
|
78
83
|
/>
|
|
79
84
|
</>
|
|
80
85
|
) : <DummyContainer />}
|
|
@@ -6,6 +6,7 @@ import { NotFoundSource } from '../NotFoundSource'
|
|
|
6
6
|
|
|
7
7
|
import { ItemWrap } from './styles'
|
|
8
8
|
import { OrdersOptionParams } from '../../types'
|
|
9
|
+
import { getOrderStatus } from '../../utils'
|
|
9
10
|
|
|
10
11
|
import {
|
|
11
12
|
Placeholder,
|
|
@@ -67,40 +68,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
|
|
|
67
68
|
return moment(dateStr).format('MMMM DD,YYYY - hh:mm a');
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
const getOrderStatus = (s: string) => {
|
|
71
|
-
const status = parseInt(s)
|
|
72
|
-
const orderStatus = [
|
|
73
|
-
{ key: 0, value: t('PENDING', 'Pending') },
|
|
74
|
-
{ key: 1, value: t('COMPLETED', 'Completed') },
|
|
75
|
-
{ key: 2, value: t('REJECTED', 'Rejected') },
|
|
76
|
-
{ key: 3, value: t('DRIVER_IN_BUSINESS', 'Driver in business') },
|
|
77
|
-
{ key: 4, value: t('PREPARATION_COMPLETED', 'Preparation Completed') },
|
|
78
|
-
{ key: 5, value: t('REJECTED_BY_BUSINESS', 'Rejected by business') },
|
|
79
|
-
{ key: 6, value: t('REJECTED_BY_DRIVER', 'Rejected by Driver') },
|
|
80
|
-
{ key: 7, value: t('ACCEPTED_BY_BUSINESS', 'Accepted by business') },
|
|
81
|
-
{ key: 8, value: t('ACCEPTED_BY_DRIVER', 'Accepted by driver') },
|
|
82
|
-
{ key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver') },
|
|
83
|
-
{ key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver') },
|
|
84
|
-
{ key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver') },
|
|
85
|
-
{ key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver') },
|
|
86
|
-
{ key: 13, value: t('PREORDER', 'PreOrder') },
|
|
87
|
-
{ key: 14, value: t('ORDER_NOT_READY', 'Order not ready') },
|
|
88
|
-
{ key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', 'Order picked up completed by customer') },
|
|
89
|
-
{ key: 16, value: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer') },
|
|
90
|
-
{ key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Order not picked up by customer') },
|
|
91
|
-
{ key: 18, value: t('DRIVER_ALMOST_ARRIVED_TO_BUSINESS', 'Driver almost arrived to business') },
|
|
92
|
-
{ key: 19, value: t('DRIVER_ALMOST_ARRIVED_TO_CUSTOMER', 'Driver almost arrived to customer') },
|
|
93
|
-
{ key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', 'Customer almost arrived to business') },
|
|
94
|
-
{ key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', 'Customer arrived to business') },
|
|
95
|
-
{ key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver') },
|
|
96
|
-
{ key: 23, value: t('ORDER_DRIVER_ON_WAY', 'Driver on way') }
|
|
97
|
-
]
|
|
98
|
-
|
|
99
|
-
const objectStatus = orderStatus.find((o) => o.key === status)
|
|
100
|
-
|
|
101
|
-
return objectStatus && objectStatus
|
|
102
|
-
}
|
|
103
|
-
|
|
104
71
|
return (
|
|
105
72
|
<>
|
|
106
73
|
{/* {(orders.length > 0) && (
|
|
@@ -1,91 +1,107 @@
|
|
|
1
|
-
import React, { useEffect } from 'react'
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
2
|
import { formatSeconds } from '../../../utils'
|
|
3
3
|
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
4
4
|
import { useCountdownTimer } from '../../../../../../src/hooks/useCountdownTimer';
|
|
5
5
|
import { useLanguage } from 'ordering-components/native';
|
|
6
6
|
import { OTPContainer } from './styles';
|
|
7
7
|
import { OText, OButton } from '../../shared';
|
|
8
|
-
import
|
|
8
|
+
import OtpInputs from 'react-native-otp-inputs';
|
|
9
9
|
import { useTheme } from 'styled-components/native';
|
|
10
10
|
import { otpParams } from '../../../types'
|
|
11
11
|
|
|
12
12
|
export const Otp = (props: otpParams) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const {
|
|
14
|
+
willVerifyOtpState,
|
|
15
|
+
setWillVerifyOtpState,
|
|
16
|
+
onSubmit,
|
|
17
|
+
handleLoginOtp,
|
|
18
|
+
setAlertState,
|
|
19
|
+
pinCount
|
|
20
|
+
} = props
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
const theme = useTheme();
|
|
23
|
+
const [, t] = useLanguage();
|
|
24
|
+
const [otpLeftTime, _, resetOtpLeftTime]: any = useCountdownTimer(
|
|
25
|
+
600, willVerifyOtpState)
|
|
26
26
|
|
|
27
|
+
const [code, setCode] = useState('')
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
|
|
30
|
+
const handleOnSubmit = () => {
|
|
31
|
+
setAlertState({
|
|
32
|
+
open: true,
|
|
33
|
+
title: t('CODE_SENT', 'The code has been sent'),
|
|
34
|
+
})
|
|
35
|
+
resetOtpLeftTime()
|
|
36
|
+
onSubmit()
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (otpLeftTime === 0) {
|
|
41
|
+
setAlertState({
|
|
42
|
+
open: true,
|
|
43
|
+
title: t('TIME_IS_UP', 'Time is up'),
|
|
44
|
+
content: t('PLEASE_RESEND_CODE', 'Please resend code again')
|
|
45
|
+
})
|
|
35
46
|
}
|
|
47
|
+
}, [otpLeftTime])
|
|
36
48
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
content: t('PLEASE_RESEND_CODE', 'Please resend code again')
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
}, [otpLeftTime])
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (code?.length === (pinCount || 6)) {
|
|
51
|
+
handleLoginOtp(code)
|
|
52
|
+
}
|
|
53
|
+
}, [code])
|
|
46
54
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
const loginStyle = StyleSheet.create({
|
|
56
|
+
container: {
|
|
57
|
+
width: '100%',
|
|
58
|
+
flexDirection: 'row',
|
|
59
|
+
justifyContent: 'space-between',
|
|
60
|
+
marginVertical: 30
|
|
61
|
+
},
|
|
62
|
+
underlineStyleBase: {
|
|
63
|
+
width: 45,
|
|
64
|
+
height: 50,
|
|
65
|
+
borderWidth: 1,
|
|
66
|
+
fontSize: 16,
|
|
67
|
+
borderRadius: 8,
|
|
68
|
+
borderColor: theme.colors.lightGray,
|
|
69
|
+
textAlign: 'center'
|
|
70
|
+
},
|
|
71
|
+
underlineStyleHighLighted: {
|
|
72
|
+
borderColor: theme.colors.primary,
|
|
73
|
+
color: theme.colors.primary,
|
|
74
|
+
fontSize: 16
|
|
75
|
+
},
|
|
76
|
+
});
|
|
60
77
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
)
|
|
78
|
+
return (
|
|
79
|
+
<>
|
|
80
|
+
<OTPContainer>
|
|
81
|
+
<OText size={24}>
|
|
82
|
+
{formatSeconds(otpLeftTime)}
|
|
83
|
+
</OText>
|
|
84
|
+
<OtpInputs
|
|
85
|
+
autofillFromClipboard
|
|
86
|
+
numberOfInputs={pinCount || 6}
|
|
87
|
+
style={loginStyle.container}
|
|
88
|
+
inputStyles={loginStyle.underlineStyleBase}
|
|
89
|
+
handleChange={setCode}
|
|
90
|
+
/>
|
|
91
|
+
<TouchableOpacity onPress={() => handleOnSubmit()} disabled={otpLeftTime > 520}>
|
|
92
|
+
<OText size={16} mBottom={30} color={otpLeftTime > 520 ? theme.colors.disabled : theme.colors.primary}>
|
|
93
|
+
{t('RESEND_CODE', 'Resend code')}
|
|
94
|
+
</OText>
|
|
95
|
+
</TouchableOpacity>
|
|
96
|
+
<OButton
|
|
97
|
+
onClick={() => setWillVerifyOtpState(false)}
|
|
98
|
+
bgColor={theme.colors.white}
|
|
99
|
+
borderColor={theme.colors.primary}
|
|
100
|
+
textStyle={{ color: theme.colors.primary }}
|
|
101
|
+
style={{ borderRadius: 8, width: '100%' }}
|
|
102
|
+
text={t('CANCEL', 'Cancel')}
|
|
103
|
+
/>
|
|
104
|
+
</OTPContainer>
|
|
105
|
+
</>
|
|
106
|
+
)
|
|
91
107
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef } from 'react';
|
|
2
|
-
import { StyleSheet, View, Keyboard } from 'react-native';
|
|
2
|
+
import { StyleSheet, View, Keyboard, Vibration } from 'react-native';
|
|
3
3
|
import Spinner from 'react-native-loading-spinner-overlay';
|
|
4
4
|
import { useForm, Controller } from 'react-hook-form';
|
|
5
5
|
import { PhoneInputNumber } from '../PhoneInputNumber';
|
|
@@ -96,7 +96,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
96
96
|
const [alertState, setAlertState] = useState({ open: false, title: '', content: [] })
|
|
97
97
|
const [tabLayouts, setTabLayouts] = useState<any>({})
|
|
98
98
|
const tabsRef = useRef<any>(null)
|
|
99
|
-
|
|
99
|
+
const enabledPoweredByOrdering = configs?.powered_by_ordering_module?.value
|
|
100
100
|
const theme = useTheme();
|
|
101
101
|
const isOtpEmail = loginTab === 'otp' && otpType === 'email'
|
|
102
102
|
const isOtpCellphone = loginTab === 'otp' && otpType === 'cellphone'
|
|
@@ -165,6 +165,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
165
165
|
if (loginTab === 'otp') {
|
|
166
166
|
if (phoneInputData.error && (loginTab !== 'otp' || (otpType === 'cellphone' && loginTab === 'otp'))) {
|
|
167
167
|
showToast(ToastType.Error, t('INVALID_PHONE_NUMBER', 'Invalid phone number'));
|
|
168
|
+
Vibration.vibrate()
|
|
168
169
|
return
|
|
169
170
|
}
|
|
170
171
|
if (loginTab === 'otp') {
|
|
@@ -177,6 +178,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
177
178
|
} else {
|
|
178
179
|
if (phoneInputData.error) {
|
|
179
180
|
showToast(ToastType.Error, phoneInputData.error);
|
|
181
|
+
Vibration.vibrate()
|
|
180
182
|
return;
|
|
181
183
|
}
|
|
182
184
|
handleButtonLoginClick({
|
|
@@ -189,6 +191,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
189
191
|
const handleVerifyCodeClick = () => {
|
|
190
192
|
if (phoneInputData.error) {
|
|
191
193
|
showToast(ToastType.Error, phoneInputData.error);
|
|
194
|
+
Vibration.vibrate()
|
|
192
195
|
return;
|
|
193
196
|
}
|
|
194
197
|
if (
|
|
@@ -203,6 +206,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
203
206
|
'The field Mobile phone is required.',
|
|
204
207
|
),
|
|
205
208
|
);
|
|
209
|
+
Vibration.vibrate()
|
|
206
210
|
return;
|
|
207
211
|
}
|
|
208
212
|
handleSendVerifyCode && handleSendVerifyCode(phoneInputData.phone);
|
|
@@ -224,10 +228,12 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
224
228
|
setRecaptchaVerified(false)
|
|
225
229
|
if (!recaptchaConfig?.siteKey) {
|
|
226
230
|
showToast(ToastType.Error, t('NO_RECAPTCHA_SITE_KEY', 'The config doesn\'t have recaptcha site key'));
|
|
231
|
+
Vibration.vibrate()
|
|
227
232
|
return
|
|
228
233
|
}
|
|
229
234
|
if (!recaptchaConfig?.baseUrl) {
|
|
230
235
|
showToast(ToastType.Error, t('NO_RECAPTCHA_BASE_URL', 'The config doesn\'t have recaptcha base url'));
|
|
236
|
+
Vibration.vibrate()
|
|
231
237
|
return
|
|
232
238
|
}
|
|
233
239
|
|
|
@@ -304,6 +310,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
304
310
|
baseUrl: configs?.security_recaptcha_base_url?.value || null
|
|
305
311
|
})
|
|
306
312
|
showToast(ToastType.Info, t('TRY_AGAIN', 'Please try again'))
|
|
313
|
+
Vibration.vibrate()
|
|
307
314
|
return
|
|
308
315
|
}
|
|
309
316
|
formState.result?.result &&
|
|
@@ -313,6 +320,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
313
320
|
? formState.result?.result
|
|
314
321
|
: formState.result?.result[0],
|
|
315
322
|
);
|
|
323
|
+
formState.result?.result && Vibration.vibrate()
|
|
316
324
|
}
|
|
317
325
|
}, [formState]);
|
|
318
326
|
|
|
@@ -324,6 +332,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
324
332
|
? verifyPhoneState?.result?.result
|
|
325
333
|
: verifyPhoneState?.result?.result[0];
|
|
326
334
|
verifyPhoneState.result?.result && showToast(ToastType.Error, message);
|
|
335
|
+
verifyPhoneState.result?.result && Vibration.vibrate();
|
|
327
336
|
setIsLoadingVerifyModal(false);
|
|
328
337
|
return;
|
|
329
338
|
}
|
|
@@ -363,6 +372,10 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
363
372
|
}
|
|
364
373
|
}, [checkPhoneCodeState])
|
|
365
374
|
|
|
375
|
+
useEffect(() => {
|
|
376
|
+
if (!!Object.values(errors)?.length) Vibration.vibrate()
|
|
377
|
+
}, [errors])
|
|
378
|
+
|
|
366
379
|
return (
|
|
367
380
|
<Container>
|
|
368
381
|
<NavBar
|
|
@@ -680,7 +693,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
680
693
|
{t('NEW_ON_PLATFORM', 'New on Ordering?')}
|
|
681
694
|
</OText>
|
|
682
695
|
<TouchableOpacity onPress={() => onNavigationRedirect('Signup')}>
|
|
683
|
-
<OText size={14} mLeft={5} color={theme.colors.
|
|
696
|
+
<OText size={14} mLeft={5} color={theme.colors.primary}>
|
|
684
697
|
{t('CREATE_ACCOUNT', 'Create account')}
|
|
685
698
|
</OText>
|
|
686
699
|
</TouchableOpacity>
|
|
@@ -719,8 +732,9 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
719
732
|
)}
|
|
720
733
|
|
|
721
734
|
{configs && Object.keys(configs).length > 0 ? (
|
|
722
|
-
(((configs?.facebook_login?.value === 'true' || configs?.facebook_login?.value === '1') && configs?.facebook_id?.value) ||
|
|
723
|
-
(configs?.google_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null))
|
|
735
|
+
(((configs?.facebook_login?.value === 'true' || configs?.facebook_login?.value === '1') && configs?.facebook_id?.value && facebookLoginEnabled) ||
|
|
736
|
+
((configs?.google_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null) && googleLoginEnabled) ||
|
|
737
|
+
((configs?.apple_login_client_id?.value !== '' && configs?.apple_login_client_id?.value !== null) && appleLoginEnabled)) &&
|
|
724
738
|
(
|
|
725
739
|
<>
|
|
726
740
|
<View
|
|
@@ -748,7 +762,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
748
762
|
facebookLoginEnabled && (
|
|
749
763
|
<FacebookLogin
|
|
750
764
|
notificationState={notificationState}
|
|
751
|
-
handleErrors={(err: any) => showToast(ToastType.Error, err)}
|
|
765
|
+
handleErrors={(err: any) => { showToast(ToastType.Error, err), Vibration.vibrate() }}
|
|
752
766
|
handleLoading={(val: boolean) => setIsFBLoading(val)}
|
|
753
767
|
handleSuccessFacebookLogin={handleSuccessFacebook}
|
|
754
768
|
/>
|
|
@@ -757,7 +771,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
757
771
|
<GoogleLogin
|
|
758
772
|
notificationState={notificationState}
|
|
759
773
|
webClientId={configs?.google_login_client_id?.value}
|
|
760
|
-
handleErrors={(err: any) => showToast(ToastType.Error, err)}
|
|
774
|
+
handleErrors={(err: any) => { showToast(ToastType.Error, err), Vibration.vibrate() }}
|
|
761
775
|
handleLoading={(val: boolean) => setIsFBLoading(val)}
|
|
762
776
|
handleSuccessGoogleLogin={handleSuccessFacebook}
|
|
763
777
|
/>
|
|
@@ -765,7 +779,7 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
765
779
|
{(configs?.apple_login_client_id?.value !== '' && configs?.google_login_client_id?.value !== null) && appleLoginEnabled && (
|
|
766
780
|
<AppleLogin
|
|
767
781
|
notificationState={notificationState}
|
|
768
|
-
handleErrors={(err: any) => showToast(ToastType.Error, err)}
|
|
782
|
+
handleErrors={(err: any) => { showToast(ToastType.Error, err), Vibration.vibrate() }}
|
|
769
783
|
handleLoading={(val: boolean) => setIsFBLoading(val)}
|
|
770
784
|
handleSuccessAppleLogin={handleSuccessFacebook}
|
|
771
785
|
/>
|
|
@@ -788,6 +802,12 @@ const LoginFormUI = (props: LoginParams) => {
|
|
|
788
802
|
</Placeholder>
|
|
789
803
|
</SkeletonWrapper>
|
|
790
804
|
)}
|
|
805
|
+
|
|
806
|
+
{enabledPoweredByOrdering && (
|
|
807
|
+
<OText>
|
|
808
|
+
Powered By Ordering.co
|
|
809
|
+
</OText>
|
|
810
|
+
)}
|
|
791
811
|
</FormSide>
|
|
792
812
|
<OModal
|
|
793
813
|
open={isModalVisible}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React, { useRef, useState } from 'react'
|
|
2
|
+
import Lottie from 'lottie-react-native';
|
|
3
|
+
import { TouchableOpacity, Easing, ViewStyle, Animated } from 'react-native';
|
|
4
|
+
import IconAntDesign from 'react-native-vector-icons/AntDesign'
|
|
5
|
+
import { useTheme } from 'styled-components';
|
|
6
|
+
|
|
7
|
+
interface Props {
|
|
8
|
+
initialValue: number,
|
|
9
|
+
onClick: any,
|
|
10
|
+
disableAnimation?: boolean
|
|
11
|
+
toValue: number,
|
|
12
|
+
style?: ViewStyle,
|
|
13
|
+
duration?: number,
|
|
14
|
+
type: 'favorite', // animation types
|
|
15
|
+
isActive: boolean,
|
|
16
|
+
animationType?: ((value: number) => number);
|
|
17
|
+
useNativeDriver?: boolean,
|
|
18
|
+
iconProps?: { color?: string, size?: number, style?: ViewStyle }
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const LottieAnimation = (props: Props) => {
|
|
22
|
+
const {
|
|
23
|
+
initialValue,
|
|
24
|
+
onClick,
|
|
25
|
+
disableAnimation,
|
|
26
|
+
toValue,
|
|
27
|
+
style,
|
|
28
|
+
duration,
|
|
29
|
+
type,
|
|
30
|
+
isActive,
|
|
31
|
+
useNativeDriver,
|
|
32
|
+
animationType,
|
|
33
|
+
iconProps
|
|
34
|
+
} = props
|
|
35
|
+
const theme = useTheme()
|
|
36
|
+
const animationProgress = useRef(new Animated.Value(initialValue))
|
|
37
|
+
const [isHide, setIsHide] = useState(true)
|
|
38
|
+
const favoriteArray = ['heart', 'hearto']
|
|
39
|
+
const icon = type === 'favorite' ? favoriteArray : []
|
|
40
|
+
const animationGif = type === 'favorite' ? theme.images?.general?.heart : ''
|
|
41
|
+
const onPressLottie = () => {
|
|
42
|
+
if (!disableAnimation) {
|
|
43
|
+
setIsHide(false)
|
|
44
|
+
Animated.timing(animationProgress.current, {
|
|
45
|
+
toValue,
|
|
46
|
+
duration: duration || 5000,
|
|
47
|
+
easing: animationType || Easing.linear,
|
|
48
|
+
useNativeDriver: useNativeDriver ?? true
|
|
49
|
+
}).start();
|
|
50
|
+
hideLottie()
|
|
51
|
+
}
|
|
52
|
+
onClick()
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const hideLottie = () => {
|
|
56
|
+
setTimeout(() => setIsHide(true), 4500)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<TouchableOpacity
|
|
61
|
+
onPress={onPressLottie}
|
|
62
|
+
style={style}
|
|
63
|
+
>
|
|
64
|
+
{!isHide &&
|
|
65
|
+
<Lottie
|
|
66
|
+
progress={animationProgress.current}
|
|
67
|
+
source={animationGif}
|
|
68
|
+
/>
|
|
69
|
+
}
|
|
70
|
+
<IconAntDesign
|
|
71
|
+
name={isActive ? icon[0] : icon[1]}
|
|
72
|
+
color={iconProps?.color || theme.colors.danger5}
|
|
73
|
+
size={iconProps?.size || 16}
|
|
74
|
+
style={iconProps?.style}
|
|
75
|
+
/>
|
|
76
|
+
</TouchableOpacity>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
@@ -16,11 +16,12 @@ import {
|
|
|
16
16
|
PlaceholderLine,
|
|
17
17
|
Fade
|
|
18
18
|
} from "rn-placeholder";
|
|
19
|
-
import { View, BackHandler } from 'react-native'
|
|
19
|
+
import { View, BackHandler, Platform } from 'react-native'
|
|
20
20
|
import {
|
|
21
21
|
MessageListingWrapper,
|
|
22
22
|
MessageContainer
|
|
23
23
|
} from './styles';
|
|
24
|
+
import { getOrderStatus } from '../../utils'
|
|
24
25
|
|
|
25
26
|
const OrdersOptionUI = (props: OrdersOptionParams) => {
|
|
26
27
|
const {
|
|
@@ -51,40 +52,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
|
|
|
51
52
|
: theme.images.general.emptyPastOrders
|
|
52
53
|
const orders = customArray || values || []
|
|
53
54
|
|
|
54
|
-
const getOrderStatus = (s: string) => {
|
|
55
|
-
const status = parseInt(s)
|
|
56
|
-
const orderStatus = [
|
|
57
|
-
{ key: 0, value: t('PENDING', 'Pending') },
|
|
58
|
-
{ key: 1, value: t('COMPLETED', 'Completed') },
|
|
59
|
-
{ key: 2, value: t('REJECTED', 'Rejected') },
|
|
60
|
-
{ key: 3, value: t('DRIVER_IN_BUSINESS', 'Driver in business') },
|
|
61
|
-
{ key: 4, value: t('PREPARATION_COMPLETED', 'Preparation Completed') },
|
|
62
|
-
{ key: 5, value: t('REJECTED_BY_BUSINESS', 'Rejected by business') },
|
|
63
|
-
{ key: 6, value: t('REJECTED_BY_DRIVER', 'Rejected by Driver') },
|
|
64
|
-
{ key: 7, value: t('ACCEPTED_BY_BUSINESS', 'Accepted by business') },
|
|
65
|
-
{ key: 8, value: t('ACCEPTED_BY_DRIVER', 'Accepted by driver') },
|
|
66
|
-
{ key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver') },
|
|
67
|
-
{ key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver') },
|
|
68
|
-
{ key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver') },
|
|
69
|
-
{ key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver') },
|
|
70
|
-
{ key: 13, value: t('PREORDER', 'PreOrder') },
|
|
71
|
-
{ key: 14, value: t('ORDER_NOT_READY', 'Order not ready') },
|
|
72
|
-
{ key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', 'Order picked up completed by customer') },
|
|
73
|
-
{ key: 16, value: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer') },
|
|
74
|
-
{ key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Order not picked up by customer') },
|
|
75
|
-
{ key: 18, value: t('DRIVER_ALMOST_ARRIVED_TO_BUSINESS', 'Driver almost arrived to business') },
|
|
76
|
-
{ key: 19, value: t('DRIVER_ALMOST_ARRIVED_TO_CUSTOMER', 'Driver almost arrived to customer') },
|
|
77
|
-
{ key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', 'Customer almost arrived to business') },
|
|
78
|
-
{ key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', 'Customer arrived to business') },
|
|
79
|
-
{ key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver') },
|
|
80
|
-
{ key: 23, value: t('ORDER_DRIVER_ON_WAY', 'Driver on way') }
|
|
81
|
-
]
|
|
82
|
-
|
|
83
|
-
const objectStatus = orderStatus.find((o) => o.key === status)
|
|
84
|
-
|
|
85
|
-
return objectStatus && objectStatus
|
|
86
|
-
}
|
|
87
|
-
|
|
88
55
|
const handleClickOrder = (uuid: string) => {
|
|
89
56
|
setSelectedOrderId(uuid)
|
|
90
57
|
setOpenMessges(true)
|
|
@@ -102,7 +69,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
|
|
|
102
69
|
}, [orderList, loading])
|
|
103
70
|
|
|
104
71
|
useEffect(() => {
|
|
105
|
-
if(refreshOrders){
|
|
72
|
+
if (refreshOrders) {
|
|
106
73
|
loadOrders(false, false, false, true)
|
|
107
74
|
setRefreshOrders && setRefreshOrders(false)
|
|
108
75
|
}
|
|
@@ -225,7 +192,7 @@ const OrderMessageUI = (props: any) => {
|
|
|
225
192
|
}
|
|
226
193
|
|
|
227
194
|
export const OrderListing = (props: OrdersOptionParams) => {
|
|
228
|
-
|
|
195
|
+
const [businessState] = useBusiness();
|
|
229
196
|
const OrderListingProps = {
|
|
230
197
|
...props,
|
|
231
198
|
UIComponent: OrdersOptionUI,
|
|
@@ -236,7 +203,7 @@ export const OrderListing = (props: OrdersOptionParams) => {
|
|
|
236
203
|
pageSize: 10,
|
|
237
204
|
controlType: 'infinity'
|
|
238
205
|
},
|
|
239
|
-
|
|
206
|
+
businessId: businessState?.business?.id,
|
|
240
207
|
profileMessages: true,
|
|
241
208
|
orderBy: 'last_direct_message_at',
|
|
242
209
|
orderDirection: 'asc'
|
|
@@ -292,7 +259,7 @@ export const MessageListing = (props: MessageListingParams) => {
|
|
|
292
259
|
titleAlign={'center'}
|
|
293
260
|
onActionLeft={goToBack}
|
|
294
261
|
showCall={false}
|
|
295
|
-
paddingTop={10}
|
|
262
|
+
paddingTop={Platform.OS === 'ios' ? 20 : 10}
|
|
296
263
|
btnStyle={{ paddingLeft: 0 }}
|
|
297
264
|
/>
|
|
298
265
|
<OrderListing
|
|
@@ -300,7 +267,7 @@ export const MessageListing = (props: MessageListingParams) => {
|
|
|
300
267
|
setSelectedOrderId={setSelectedOrderId}
|
|
301
268
|
setOrderList={setOrderListStatus}
|
|
302
269
|
setOpenMessges={setOpenMessges}
|
|
303
|
-
|
|
270
|
+
franchiseId={props.franchiseId}
|
|
304
271
|
/>
|
|
305
272
|
{openMessages && seletedOrder && (
|
|
306
273
|
<OModal
|