ordering-ui-react-native 0.17.57 → 0.17.58-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/OrderCreating/index.tsx +1 -21
- package/src/components/PaymentOptionsWebView/index.tsx +29 -8
- package/src/components/PhoneInputNumber/index.tsx +6 -2
- package/src/components/StripeMethodForm/index.tsx +136 -102
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OToast.tsx +4 -4
- package/src/types/index.tsx +5 -0
- package/src/utils/index.tsx +5 -0
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
- package/themes/business/src/components/BusinessController/index.tsx +0 -1
- package/themes/business/src/components/Chat/index.tsx +125 -113
- package/themes/business/src/components/DriverMap/index.tsx +17 -6
- package/themes/business/src/components/DriverSchedule/index.tsx +42 -5
- package/themes/business/src/components/GoogleMap/index.tsx +58 -57
- package/themes/business/src/components/LoginForm/Otp/index.tsx +31 -3
- package/themes/business/src/components/LoginForm/index.tsx +15 -22
- package/themes/business/src/components/MapView/index.tsx +10 -10
- package/themes/business/src/components/NewOrderNotification/index.tsx +35 -21
- package/themes/business/src/components/NotFoundSource/index.tsx +2 -2
- package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
- package/themes/business/src/components/OrderDetails/Delivery.tsx +191 -6
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +93 -50
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +64 -63
- 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/OrderMessage/index.tsx +19 -18
- package/themes/business/src/components/OrderSummary/index.tsx +113 -121
- package/themes/business/src/components/OrdersOption/index.tsx +32 -75
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +249 -0
- package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
- package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
- 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 +30 -15
- package/themes/business/src/components/StoresList/index.tsx +3 -4
- package/themes/business/src/components/UserProfileForm/index.tsx +11 -13
- 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 +28 -12
- package/themes/business/src/utils/index.tsx +29 -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/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/Intro/index.tsx +16 -1
- package/themes/kiosk/src/components/LoginForm/index.tsx +7 -9
- 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 +2 -2
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +4 -0
- package/themes/original/src/components/AddressDetails/index.tsx +28 -10
- package/themes/original/src/components/AddressForm/index.tsx +68 -40
- package/themes/original/src/components/AddressList/index.tsx +27 -22
- package/themes/original/src/components/AddressList/styles.tsx +4 -2
- package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +153 -96
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +10 -12
- package/themes/original/src/components/BusinessController/index.tsx +122 -68
- package/themes/original/src/components/BusinessController/styles.tsx +23 -4
- package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
- package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
- package/themes/original/src/components/BusinessInformation/index.tsx +110 -108
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +15 -20
- package/themes/original/src/components/BusinessListingSearch/index.tsx +352 -326
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +0 -18
- package/themes/original/src/components/BusinessPreorder/index.tsx +103 -19
- package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -2
- package/themes/original/src/components/BusinessProductsList/index.tsx +25 -15
- package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
- package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +1 -1
- package/themes/original/src/components/BusinessProductsListing/index.tsx +683 -555
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -2
- package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +96 -91
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -4
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +77 -50
- package/themes/original/src/components/CartContent/index.tsx +117 -20
- package/themes/original/src/components/CartContent/styles.tsx +17 -7
- package/themes/original/src/components/Checkout/index.tsx +359 -171
- 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/CouponControl/index.tsx +10 -3
- package/themes/original/src/components/DriverTips/index.tsx +52 -34
- package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
- package/themes/original/src/components/Favorite/index.tsx +8 -9
- package/themes/original/src/components/Favorite/styles.tsx +1 -1
- package/themes/original/src/components/FavoriteList/index.tsx +51 -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 +6 -4
- package/themes/original/src/components/GPSButton/styles.ts +3 -3
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
- package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +191 -0
- package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
- package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
- package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
- package/themes/original/src/components/GoogleMap/index.tsx +15 -4
- package/themes/original/src/components/Help/index.tsx +8 -8
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +10 -31
- package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +5 -3
- package/themes/original/src/components/HelpGuide/index.tsx +6 -6
- package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
- package/themes/original/src/components/HelpOrder/index.tsx +6 -15
- package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
- package/themes/original/src/components/Home/index.tsx +13 -4
- package/themes/original/src/components/LastOrder/index.tsx +1 -34
- package/themes/original/src/components/LoginForm/Otp/index.tsx +55 -13
- package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
- package/themes/original/src/components/LoginForm/index.tsx +60 -35
- package/themes/original/src/components/LottieAnimation/index.tsx +89 -55
- package/themes/original/src/components/MessageListing/index.tsx +16 -42
- package/themes/original/src/components/Messages/index.tsx +32 -10
- package/themes/original/src/components/MomentOption/index.tsx +195 -90
- package/themes/original/src/components/MomentSelector/index.tsx +1 -1
- package/themes/original/src/components/MultiCart/index.tsx +50 -0
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +153 -49
- package/themes/original/src/components/MultiCheckout/index.tsx +308 -88
- package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
- package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +68 -21
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
- package/themes/original/src/components/MyOrders/index.tsx +65 -52
- package/themes/original/src/components/NavBar/index.tsx +18 -18
- package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
- package/themes/original/src/components/Notifications/index.tsx +46 -50
- package/themes/original/src/components/Notifications/styles.tsx +6 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +15 -3
- package/themes/original/src/components/OrderDetails/index.tsx +190 -358
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
- package/themes/original/src/components/OrderProgress/index.tsx +33 -59
- package/themes/original/src/components/OrderSummary/index.tsx +85 -57
- package/themes/original/src/components/OrderTypeSelector/index.tsx +1 -1
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +24 -19
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
- package/themes/original/src/components/OrdersOption/index.tsx +78 -67
- package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
- package/themes/original/src/components/PageBanner/index.tsx +106 -31
- package/themes/original/src/components/PageBanner/styles.tsx +4 -4
- package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -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 +68 -9
- package/themes/original/src/components/PhoneInputNumber/index.tsx +3 -3
- package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
- package/themes/original/src/components/ProductForm/index.tsx +109 -33
- package/themes/original/src/components/ProductForm/styles.tsx +5 -7
- package/themes/original/src/components/ProductItemAccordion/index.tsx +22 -19
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +24 -14
- package/themes/original/src/components/ProductOptionSubOption/styles.tsx +3 -4
- package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
- package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
- package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
- package/themes/original/src/components/Promotions/index.tsx +234 -220
- package/themes/original/src/components/Promotions/styles.tsx +10 -3
- package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
- package/themes/original/src/components/ReviewOrder/index.tsx +26 -9
- package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
- package/themes/original/src/components/ReviewProducts/index.tsx +23 -11
- 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 +66 -17
- 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 +44 -29
- package/themes/original/src/components/SingleOrderCard/index.tsx +130 -52
- package/themes/original/src/components/SingleOrderCard/styles.tsx +11 -2
- package/themes/original/src/components/SingleProductCard/index.tsx +71 -34
- package/themes/original/src/components/SingleProductCard/styles.tsx +21 -4
- package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
- package/themes/original/src/components/StripeCardsList/index.tsx +13 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +48 -34
- package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
- package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
- package/themes/original/src/components/UserDetails/index.tsx +8 -4
- package/themes/original/src/components/UserFormDetails/index.tsx +76 -7
- package/themes/original/src/components/UserFormDetails/styles.tsx +1 -1
- package/themes/original/src/components/UserProfile/index.tsx +88 -79
- package/themes/original/src/components/UserProfileForm/index.tsx +27 -29
- package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
- package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
- package/themes/original/src/components/Wallets/index.tsx +67 -24
- package/themes/original/src/components/Wallets/styles.tsx +3 -4
- package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
- package/themes/original/src/components/shared/OButton.tsx +6 -2
- package/themes/original/src/components/shared/OInput.tsx +6 -1
- package/themes/original/src/components/shared/OModal.tsx +3 -3
- package/themes/original/src/layouts/Container.tsx +1 -1
- package/themes/original/src/types/index.tsx +41 -11
- package/themes/original/src/utils/index.tsx +273 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -20,7 +20,8 @@ export const OrderItAgain = (props: OrderItAgainParams) => {
|
|
|
20
20
|
currentCart,
|
|
21
21
|
handleUpdateProducts,
|
|
22
22
|
navigation,
|
|
23
|
-
searchValue
|
|
23
|
+
searchValue,
|
|
24
|
+
businessSingleId
|
|
24
25
|
} = props
|
|
25
26
|
|
|
26
27
|
const [, t] = useLanguage()
|
|
@@ -65,6 +66,7 @@ export const OrderItAgain = (props: OrderItAgainParams) => {
|
|
|
65
66
|
handleUpdateProducts={handleUpdateProducts}
|
|
66
67
|
navigation={navigation}
|
|
67
68
|
isPreviously
|
|
69
|
+
businessSingleId={businessSingleId}
|
|
68
70
|
/>
|
|
69
71
|
</ProductWrapper>
|
|
70
72
|
))}
|
|
@@ -2,7 +2,8 @@ import React, { useEffect, useState } from 'react'
|
|
|
2
2
|
import {
|
|
3
3
|
OrderList,
|
|
4
4
|
useLanguage,
|
|
5
|
-
useUtils
|
|
5
|
+
useUtils,
|
|
6
|
+
useConfig
|
|
6
7
|
} from 'ordering-components/native'
|
|
7
8
|
import { useTheme } from 'styled-components/native';
|
|
8
9
|
import IconAntDesign from 'react-native-vector-icons/AntDesign'
|
|
@@ -12,6 +13,7 @@ import { NotFoundSource } from '../NotFoundSource'
|
|
|
12
13
|
import { View, StyleSheet, TouchableOpacity, Platform } from 'react-native'
|
|
13
14
|
import { Placeholder, Fade, PlaceholderLine } from "rn-placeholder";
|
|
14
15
|
import FastImage from 'react-native-fast-image'
|
|
16
|
+
import { OrderEta } from '../OrderDetails/OrderEta'
|
|
15
17
|
import {
|
|
16
18
|
ProgressContentWrapper,
|
|
17
19
|
ProgressBar,
|
|
@@ -20,6 +22,8 @@ import {
|
|
|
20
22
|
OrderInfoWrapper,
|
|
21
23
|
OrderProgressWrapper
|
|
22
24
|
} from './styles'
|
|
25
|
+
import { getOrderStatus } from '../../utils'
|
|
26
|
+
|
|
23
27
|
const OrderProgressUI = (props: any) => {
|
|
24
28
|
const {
|
|
25
29
|
orderList,
|
|
@@ -31,10 +35,12 @@ const OrderProgressUI = (props: any) => {
|
|
|
31
35
|
const theme = useTheme();
|
|
32
36
|
|
|
33
37
|
const [, t] = useLanguage()
|
|
34
|
-
const [{ optimizeImage,
|
|
38
|
+
const [{ optimizeImage, parseTime, parseDate }] = useUtils()
|
|
39
|
+
const [{ configs }] = useConfig()
|
|
35
40
|
const [lastOrder, setLastOrder] = useState<any>(null)
|
|
36
41
|
const imageFails = theme.images.general.emptyActiveOrders
|
|
37
42
|
const [initialLoaded, setInitialLoaded] = useState(false)
|
|
43
|
+
const statusToShow = [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23]
|
|
38
44
|
|
|
39
45
|
const styles = StyleSheet.create({
|
|
40
46
|
main: {
|
|
@@ -74,52 +80,6 @@ const OrderProgressUI = (props: any) => {
|
|
|
74
80
|
}
|
|
75
81
|
});
|
|
76
82
|
|
|
77
|
-
const getOrderStatus = (s: any) => {
|
|
78
|
-
const status = parseInt(s)
|
|
79
|
-
const orderStatus = [
|
|
80
|
-
{ key: 0, value: t('PENDING', theme?.defaultLanguages?.PENDING || 'Pending'), slug: 'PENDING', percentage: 25 },
|
|
81
|
-
{ key: 1, value: t('COMPLETED', theme?.defaultLanguages?.COMPLETED || 'Completed'), slug: 'COMPLETED', percentage: 100 },
|
|
82
|
-
{ key: 2, value: t('REJECTED', theme?.defaultLanguages?.REJECTED || 'Rejected'), slug: 'REJECTED', percentage: 0 },
|
|
83
|
-
{ key: 3, value: t('DRIVER_IN_BUSINESS', theme?.defaultLanguages?.DRIVER_IN_BUSINESS || 'Driver in business'), slug: 'DRIVER_IN_BUSINESS', percentage: 60 },
|
|
84
|
-
{ key: 4, value: t('PREPARATION_COMPLETED', theme?.defaultLanguages?.PREPARATION_COMPLETED || 'Preparation Completed'), slug: 'PREPARATION_COMPLETED', percentage: 70 },
|
|
85
|
-
{ key: 5, value: t('REJECTED_BY_BUSINESS', theme?.defaultLanguages?.REJECTED_BY_BUSINESS || 'Rejected by business'), slug: 'REJECTED_BY_BUSINESS', percentage: 0 },
|
|
86
|
-
{ key: 6, value: t('REJECTED_BY_DRIVER', theme?.defaultLanguages?.REJECTED_BY_DRIVER || 'Rejected by Driver'), slug: 'REJECTED_BY_DRIVER', percentage: 0 },
|
|
87
|
-
{ key: 7, value: t('ACCEPTED_BY_BUSINESS', theme?.defaultLanguages?.ACCEPTED_BY_BUSINESS || 'Accepted by business'), slug: 'ACCEPTED_BY_BUSINESS', percentage: 35 },
|
|
88
|
-
{ key: 8, value: t('ACCEPTED_BY_DRIVER', theme?.defaultLanguages?.ACCEPTED_BY_DRIVER || 'Accepted by driver'), slug: 'ACCEPTED_BY_DRIVER', percentage: 45 },
|
|
89
|
-
{ key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_COMPLETED_BY_DRIVER || 'Pick up completed by driver'), slug: 'PICK_UP_COMPLETED_BY_DRIVER', percentage: 80 },
|
|
90
|
-
{ key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_FAILED_BY_DRIVER || 'Pick up Failed by driver'), slug: 'PICK_UP_FAILED_BY_DRIVER', percentage: 0 },
|
|
91
|
-
{ key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_COMPLETED_BY_DRIVER || 'Delivery completed by driver'), slug: 'DELIVERY_COMPLETED_BY_DRIVER', percentage: 100 },
|
|
92
|
-
{ key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_FAILED_BY_DRIVER || 'Delivery Failed by driver'), slug: 'DELIVERY_FAILED_BY_DRIVER', percentage: 0 },
|
|
93
|
-
{ key: 13, value: t('PREORDER', theme?.defaultLanguages?.PREORDER || 'PreOrder'), slug: 'PREORDER', percentage: 0 },
|
|
94
|
-
{ key: 14, value: t('ORDER_NOT_READY', theme?.defaultLanguages?.ORDER_NOT_READY || 'Order not ready'), slug: 'ORDER_NOT_READY', percentage: 65 },
|
|
95
|
-
{ key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER || 'Order picked up completed by customer'), slug: 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', percentage: 100 },
|
|
96
|
-
{ key: 16, value: t('ORDER_STATUS_CANCELLED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_STATUS_CANCELLED_BY_CUSTOMER || 'Order cancelled by customer'), slug: 'ORDER_STATUS_CANCELLED_BY_CUSTOMER', percentage: 0 },
|
|
97
|
-
{ key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_NOT_PICKEDUP_BY_CUSTOMER || 'Order not picked up by customer'), slug: 'ORDER_NOT_PICKEDUP_BY_CUSTOMER', percentage: 0 },
|
|
98
|
-
{ key: 18, value: t('ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS || 'Driver almost arrived to business'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', percentage: 55 },
|
|
99
|
-
{ key: 19, value: t('ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER || 'Driver almost arrived to customer'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', percentage: 90 },
|
|
100
|
-
{ key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS || 'Customer almost arrived to business'), slug: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', percentage: 90 },
|
|
101
|
-
{ key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ARRIVED_BUSINESS || 'Customer arrived to business'), slug: 'ORDER_CUSTOMER_ARRIVED_BUSINESS', percentage: 95 },
|
|
102
|
-
{ key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', theme?.defaultLanguages?.ORDER_LOOKING_FOR_DRIVER || 'Looking for driver'), slug: 'ORDER_LOOKING_FOR_DRIVER', percentage: 35 },
|
|
103
|
-
{ key: 23, value: t('ORDER_DRIVER_ON_WAY', theme?.defaultLanguages?.ORDER_DRIVER_ON_WAY || 'Driver on way'), slug: 'ORDER_DRIVER_ON_WAY', percentage: 45 }
|
|
104
|
-
]
|
|
105
|
-
|
|
106
|
-
const objectStatus = orderStatus.find((o) => o.key === status)
|
|
107
|
-
|
|
108
|
-
return objectStatus && objectStatus
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const convertDiffToHours = (order: any) => {
|
|
112
|
-
const time = order.delivery_type === 1 ? order?.business?.delivery_time : order?.business?.pickup_time
|
|
113
|
-
const deliveryTime = order?.delivery_datetime_utc
|
|
114
|
-
? parseDate(order?.delivery_datetime_utc, { outputFormat: 'YYYY-MM-DD HH:mm' })
|
|
115
|
-
: parseDate(order?.delivery_datetime, { utc: false, outputFormat: 'YYYY-MM-DD HH:mm' })
|
|
116
|
-
const hour = time?.split(':')?.[0]
|
|
117
|
-
const minute = time?.split(':')?.[1]
|
|
118
|
-
const result = time ? (parseInt(hour, 10) * 60) + parseInt(minute, 10) : 0
|
|
119
|
-
const returnedDate = moment(deliveryTime).add(result, 'minutes').format('hh:mm A')
|
|
120
|
-
return returnedDate
|
|
121
|
-
}
|
|
122
|
-
|
|
123
83
|
const handleGoToOrder = (index: string) => {
|
|
124
84
|
navigation && navigation.navigate(index)
|
|
125
85
|
}
|
|
@@ -127,7 +87,15 @@ const OrderProgressUI = (props: any) => {
|
|
|
127
87
|
useEffect(() => {
|
|
128
88
|
if (orderList?.orders.length > 0) {
|
|
129
89
|
const sortedOrders = orderList.orders.sort((a: any, b: any) => a.id > b.id ? -1 : 1)
|
|
130
|
-
|
|
90
|
+
const orderInProgress = sortedOrders.find((order: any) => (statusToShow.includes(order.status)))
|
|
91
|
+
|
|
92
|
+
let _lastOrder = null
|
|
93
|
+
if (orderInProgress) {
|
|
94
|
+
_lastOrder = orderInProgress
|
|
95
|
+
} else {
|
|
96
|
+
_lastOrder = sortedOrders[0]
|
|
97
|
+
}
|
|
98
|
+
setLastOrder(_lastOrder)
|
|
131
99
|
}
|
|
132
100
|
}, [orderList?.orders])
|
|
133
101
|
|
|
@@ -160,11 +128,11 @@ const OrderProgressUI = (props: any) => {
|
|
|
160
128
|
<View style={styles.logoWrapper}>
|
|
161
129
|
<FastImage
|
|
162
130
|
style={{ width: 50, height: 50 }}
|
|
163
|
-
source={{
|
|
131
|
+
source={orderList?.orders.length === 1 ? {
|
|
164
132
|
uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
|
|
165
133
|
priority: FastImage.priority.normal,
|
|
166
|
-
}}
|
|
167
|
-
resizeMode={FastImage.resizeMode.
|
|
134
|
+
} : theme.images.logos.logotype}
|
|
135
|
+
resizeMode={FastImage.resizeMode.contain}
|
|
168
136
|
/>
|
|
169
137
|
</View>
|
|
170
138
|
<View style={{
|
|
@@ -178,8 +146,10 @@ const OrderProgressUI = (props: any) => {
|
|
|
178
146
|
fontWeight: 'bold',
|
|
179
147
|
marginBottom: 3
|
|
180
148
|
}}
|
|
181
|
-
>{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
|
|
182
|
-
|
|
149
|
+
>{statusToShow.includes(lastOrder?.status) ? t('ORDER_IN_PROGRESS', 'Order in progress') : t('ORDER', 'Order')}</OText>
|
|
150
|
+
{statusToShow.includes(lastOrder?.status) && (
|
|
151
|
+
<OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
|
|
152
|
+
)}
|
|
183
153
|
<TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
|
|
184
154
|
<View style={styles.navigationButton}>
|
|
185
155
|
<OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
|
|
@@ -195,18 +165,22 @@ const OrderProgressUI = (props: any) => {
|
|
|
195
165
|
</OrderInfoWrapper>
|
|
196
166
|
<View style={{ flex: 1 }}>
|
|
197
167
|
<ProgressContentWrapper>
|
|
198
|
-
<ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)
|
|
168
|
+
<ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${(getOrderStatus(lastOrder.status) as any).percentage * 100}%` : '0%' }} />
|
|
199
169
|
</ProgressContentWrapper>
|
|
200
170
|
<ProgressTextWrapper>
|
|
201
171
|
<OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
|
|
202
172
|
<TimeWrapper>
|
|
203
|
-
<OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
|
|
173
|
+
<OText size={11}>{lastOrder?.delivery_type === 1 ? t('ESTIMATED_DELIVERY', 'Estimated delivery') : t('ESTIMATED_TIME', 'Estimated time')}</OText>
|
|
204
174
|
<OText size={11}>
|
|
205
175
|
{lastOrder?.delivery_datetime_utc
|
|
206
|
-
? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: '
|
|
176
|
+
? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: configs?.general_hour_format?.value || 'HH:mm' })
|
|
207
177
|
: parseTime(lastOrder?.delivery_datetime, { utc: false })}
|
|
208
178
|
-
|
|
209
|
-
{
|
|
179
|
+
{statusToShow.includes(lastOrder?.status) ? (
|
|
180
|
+
<OrderEta order={lastOrder} outputFormat={configs?.general_hour_format?.value || 'HH:mm'} />
|
|
181
|
+
) : (
|
|
182
|
+
parseDate(lastOrder?.reporting_data?.at[`status:${lastOrder.status}`], { outputFormat: configs?.general_hour_format?.value })
|
|
183
|
+
)}
|
|
210
184
|
</OText>
|
|
211
185
|
</TimeWrapper>
|
|
212
186
|
</ProgressTextWrapper>
|
|
@@ -233,7 +207,7 @@ export const OrderProgress = (props: any) => {
|
|
|
233
207
|
useDefualtSessionManager: true,
|
|
234
208
|
paginationSettings: {
|
|
235
209
|
initialPage: 1,
|
|
236
|
-
pageSize:
|
|
210
|
+
pageSize: 10,
|
|
237
211
|
controlType: 'infinity'
|
|
238
212
|
}
|
|
239
213
|
}
|
|
@@ -20,12 +20,12 @@ import {
|
|
|
20
20
|
|
|
21
21
|
import { ProductItemAccordion } from '../ProductItemAccordion';
|
|
22
22
|
import { CouponControl } from '../CouponControl';
|
|
23
|
-
import { OInput, OModal, OText } from '../shared';
|
|
23
|
+
import { OInput, OModal, OText, OAlert } from '../shared';
|
|
24
24
|
import { verifyDecimals } from '../../utils';
|
|
25
25
|
import AntIcon from 'react-native-vector-icons/AntDesign'
|
|
26
26
|
import { TaxInformation } from '../TaxInformation';
|
|
27
27
|
import { TouchableOpacity } from 'react-native';
|
|
28
|
-
import {
|
|
28
|
+
import { MomentOption } from '../MomentOption';
|
|
29
29
|
|
|
30
30
|
const OrderSummaryUI = (props: any) => {
|
|
31
31
|
const {
|
|
@@ -38,7 +38,16 @@ const OrderSummaryUI = (props: any) => {
|
|
|
38
38
|
commentState,
|
|
39
39
|
handleChangeComment,
|
|
40
40
|
onNavigationRedirect,
|
|
41
|
-
handleRemoveOfferClick
|
|
41
|
+
handleRemoveOfferClick,
|
|
42
|
+
preorderSlotInterval,
|
|
43
|
+
preorderLeadTime,
|
|
44
|
+
preorderTimeRange,
|
|
45
|
+
preorderMaximumDays,
|
|
46
|
+
preorderMinimumDays,
|
|
47
|
+
cateringTypes,
|
|
48
|
+
hideDeliveryFee,
|
|
49
|
+
loyaltyRewardRate,
|
|
50
|
+
maxDate
|
|
42
51
|
} = props;
|
|
43
52
|
|
|
44
53
|
const theme = useTheme()
|
|
@@ -48,9 +57,32 @@ const OrderSummaryUI = (props: any) => {
|
|
|
48
57
|
const [{ parsePrice, parseNumber }] = useUtils();
|
|
49
58
|
const [validationFields] = useValidationFields();
|
|
50
59
|
const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null, type: '' })
|
|
51
|
-
const [confirm, setConfirm] = useState<any>({ open: false, content: null, handleOnAccept: null, id: null, title: null })
|
|
52
60
|
const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled;
|
|
53
61
|
|
|
62
|
+
const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
|
|
63
|
+
|
|
64
|
+
const walletName: any = {
|
|
65
|
+
cash: {
|
|
66
|
+
name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
|
|
67
|
+
},
|
|
68
|
+
credit_point: {
|
|
69
|
+
name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const getIncludedTaxes = () => {
|
|
74
|
+
if (cart?.taxes === null || !cart?.taxes) {
|
|
75
|
+
return cart?.business?.tax_type === 1 ? cart?.tax : 0
|
|
76
|
+
} else {
|
|
77
|
+
return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
78
|
+
return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
|
|
79
|
+
}, 0)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const clearAmount = (value: any) => parseFloat((Math.trunc(value * 100) / 100).toFixed(configs.format_number_decimal_length?.value ?? 2))
|
|
84
|
+
const loyaltyRewardValue = clearAmount((cart?.subtotal + getIncludedTaxes()) * loyaltyRewardRate)
|
|
85
|
+
|
|
54
86
|
const handleDeleteClick = (product: any) => {
|
|
55
87
|
removeProduct(product, cart)
|
|
56
88
|
}
|
|
@@ -67,41 +99,20 @@ const OrderSummaryUI = (props: any) => {
|
|
|
67
99
|
})
|
|
68
100
|
}
|
|
69
101
|
|
|
70
|
-
const getIncludedTaxes = () => {
|
|
71
|
-
if (cart?.taxes === null || !cart?.taxes) {
|
|
72
|
-
return cart.business.tax_type === 1 ? cart?.tax : 0
|
|
73
|
-
} else {
|
|
74
|
-
return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
75
|
-
return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
|
|
76
|
-
}, 0)
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
102
|
const getIncludedTaxesDiscounts = () => {
|
|
81
103
|
return cart?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
|
|
82
104
|
}
|
|
83
105
|
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
|
|
97
|
-
|
|
98
|
-
const walletName: any = {
|
|
99
|
-
cash: {
|
|
100
|
-
name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
|
|
101
|
-
},
|
|
102
|
-
credit_point: {
|
|
103
|
-
name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
|
|
104
|
-
}
|
|
106
|
+
const OfferAlert = ({ offerId }: any) => {
|
|
107
|
+
return (
|
|
108
|
+
<OAlert
|
|
109
|
+
title={t('OFFER', 'Offer')}
|
|
110
|
+
message={t('QUESTION_DELETE_OFFER', 'Are you sure that you want to delete the offer?')}
|
|
111
|
+
onAccept={() => handleRemoveOfferClick(offerId)}
|
|
112
|
+
>
|
|
113
|
+
<AntIcon style={{ marginLeft: 3 }} name='closecircle' size={16} color={theme.colors.primary} />
|
|
114
|
+
</OAlert>
|
|
115
|
+
)
|
|
105
116
|
}
|
|
106
117
|
|
|
107
118
|
return (
|
|
@@ -121,6 +132,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
121
132
|
onDeleteProduct={handleDeleteClick}
|
|
122
133
|
onEditProduct={handleEditProduct}
|
|
123
134
|
isFromCheckout={isFromCheckout}
|
|
135
|
+
isDisabledEdit={!cart?.business_id}
|
|
124
136
|
/>
|
|
125
137
|
))}
|
|
126
138
|
</OSProductList>
|
|
@@ -156,9 +168,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
156
168
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_1' })}>
|
|
157
169
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
158
170
|
</TouchableOpacity>
|
|
159
|
-
|
|
160
|
-
<
|
|
161
|
-
|
|
171
|
+
{!!offer?.id && (
|
|
172
|
+
<OfferAlert offerId={offer?.id} />
|
|
173
|
+
)}
|
|
162
174
|
</OSRow>
|
|
163
175
|
<OText size={12}>
|
|
164
176
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -166,7 +178,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
166
178
|
</OSTable>
|
|
167
179
|
))
|
|
168
180
|
}
|
|
169
|
-
|
|
181
|
+
{cart?.business_id && (
|
|
182
|
+
<Divider />
|
|
183
|
+
)}
|
|
170
184
|
{cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
|
|
171
185
|
<OSTable>
|
|
172
186
|
<OText size={12} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
|
|
@@ -220,9 +234,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
220
234
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_3' })}>
|
|
221
235
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
222
236
|
</TouchableOpacity>
|
|
223
|
-
|
|
224
|
-
<
|
|
225
|
-
|
|
237
|
+
{!!offer?.id && (
|
|
238
|
+
<OfferAlert offerId={offer?.id} />
|
|
239
|
+
)}
|
|
226
240
|
</OSRow>
|
|
227
241
|
<OText size={12}>
|
|
228
242
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -230,10 +244,10 @@ const OrderSummaryUI = (props: any) => {
|
|
|
230
244
|
</OSTable>
|
|
231
245
|
))
|
|
232
246
|
}
|
|
233
|
-
{orderState?.options?.type === 1 &&
|
|
247
|
+
{orderState?.options?.type === 1 && !hideDeliveryFee && (
|
|
234
248
|
<OSTable>
|
|
235
249
|
<OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
|
|
236
|
-
<OText size={12}>{parsePrice(cart?.
|
|
250
|
+
<OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
|
|
237
251
|
</OSTable>
|
|
238
252
|
)}
|
|
239
253
|
{
|
|
@@ -247,9 +261,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
247
261
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_2' })}>
|
|
248
262
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
249
263
|
</TouchableOpacity>
|
|
250
|
-
|
|
251
|
-
<
|
|
252
|
-
|
|
264
|
+
{!!offer?.id && (
|
|
265
|
+
<OfferAlert offerId={offer?.id} />
|
|
266
|
+
)}
|
|
253
267
|
</OSRow>
|
|
254
268
|
<OText size={12}>
|
|
255
269
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -279,7 +293,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
279
293
|
<OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
|
|
280
294
|
</OSTable>
|
|
281
295
|
))}
|
|
282
|
-
{isCouponEnabled && !isCartPending && (
|
|
296
|
+
{isCouponEnabled && !isCartPending && cart?.business_id && (
|
|
283
297
|
<View>
|
|
284
298
|
<View style={{ paddingVertical: 5 }}>
|
|
285
299
|
<CouponControl
|
|
@@ -299,9 +313,16 @@ const OrderSummaryUI = (props: any) => {
|
|
|
299
313
|
{parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
|
|
300
314
|
</OText>
|
|
301
315
|
</OSTable>
|
|
316
|
+
{!!loyaltyRewardValue && (
|
|
317
|
+
<OSTable style={{ justifyContent: 'flex-end' }}>
|
|
318
|
+
<OText size={12} color={theme.colors.textNormal}>
|
|
319
|
+
{t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue)}
|
|
320
|
+
</OText>
|
|
321
|
+
</OSTable>
|
|
322
|
+
)}
|
|
302
323
|
</View>
|
|
303
324
|
)}
|
|
304
|
-
{cart?.status !== 2 && (
|
|
325
|
+
{cart?.business_id && cart?.status !== 2 && (
|
|
305
326
|
<OSTable>
|
|
306
327
|
<View style={{ width: '100%', marginTop: 20 }}>
|
|
307
328
|
<OText size={12}>{t('COMMENTS', 'Comments')}</OText>
|
|
@@ -336,6 +357,21 @@ const OrderSummaryUI = (props: any) => {
|
|
|
336
357
|
)}
|
|
337
358
|
</OSBill>
|
|
338
359
|
)}
|
|
360
|
+
{cateringTypes.includes(orderState?.options?.type) && maxDate && cart?.business && (
|
|
361
|
+
<View>
|
|
362
|
+
<MomentOption
|
|
363
|
+
maxDate={maxDate}
|
|
364
|
+
cateringPreorder
|
|
365
|
+
isCart
|
|
366
|
+
preorderSlotInterval={preorderSlotInterval}
|
|
367
|
+
preorderLeadTime={preorderLeadTime}
|
|
368
|
+
preorderTimeRange={preorderTimeRange}
|
|
369
|
+
preorderMaximumDays={preorderMaximumDays}
|
|
370
|
+
preorderMinimumDays={preorderMinimumDays}
|
|
371
|
+
business={cart?.business}
|
|
372
|
+
/>
|
|
373
|
+
</View>
|
|
374
|
+
)}
|
|
339
375
|
<OModal
|
|
340
376
|
open={openTaxModal.open}
|
|
341
377
|
onClose={() => setOpenTaxModal({ open: false, data: null, type: '' })}
|
|
@@ -349,14 +385,6 @@ const OrderSummaryUI = (props: any) => {
|
|
|
349
385
|
products={cart?.products}
|
|
350
386
|
/>
|
|
351
387
|
</OModal>
|
|
352
|
-
<OAlert
|
|
353
|
-
open={confirm.open}
|
|
354
|
-
title={confirm.title}
|
|
355
|
-
content={confirm.content}
|
|
356
|
-
onAccept={confirm.handleOnAccept}
|
|
357
|
-
onCancel={() => setConfirm({ ...confirm, open: false, title: null })}
|
|
358
|
-
onClose={() => setConfirm({ ...confirm, open: false, title: null })}
|
|
359
|
-
/>
|
|
360
388
|
</>
|
|
361
389
|
)}
|
|
362
390
|
</OSContainer>
|
|
@@ -96,7 +96,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
|
|
|
96
96
|
<NavBar
|
|
97
97
|
onActionLeft={() => goToBack()}
|
|
98
98
|
btnStyle={{ paddingLeft: 0, width: 50 }}
|
|
99
|
-
paddingTop={0}
|
|
99
|
+
paddingTop={Platform.OS === 'ios' ? 10 : 0}
|
|
100
100
|
style={{ paddingBottom: 0 }}
|
|
101
101
|
title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
|
|
102
102
|
titleAlign={'center'}
|
|
@@ -16,24 +16,24 @@ const BusinessControllerList = ({ businesses, onBusinessClick, navigation, order
|
|
|
16
16
|
return (
|
|
17
17
|
<>
|
|
18
18
|
{businesses?.result?.map((business: any, i: number) => (
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
<View style={style} key={`${business.id}_` + i}>
|
|
20
|
+
<BusinessController
|
|
21
|
+
business={business}
|
|
22
|
+
isBusinessOpen={business.open}
|
|
23
|
+
handleCustomClick={() => onBusinessClick(business)}
|
|
24
|
+
orderType={orderState?.options?.type}
|
|
25
|
+
navigation={navigation}
|
|
26
|
+
businessHeader={business?.header}
|
|
27
|
+
businessFeatured={business?.featured}
|
|
28
|
+
businessLogo={business?.logo}
|
|
29
|
+
businessReviews={business?.reviews}
|
|
30
|
+
businessDeliveryPrice={business?.delivery_price}
|
|
31
|
+
businessDeliveryTime={business?.delivery_time}
|
|
32
|
+
businessPickupTime={business?.pickup_time}
|
|
33
|
+
businessDistance={business?.distance}
|
|
34
|
+
handleCustomUpdate={handleCustomUpdate}
|
|
35
|
+
/>
|
|
36
|
+
</View>
|
|
37
37
|
))}
|
|
38
38
|
</>
|
|
39
39
|
)
|
|
@@ -109,7 +109,12 @@ export const PreviousBusinessOrdered = (props: PreviousBusinessOrderedParams) =>
|
|
|
109
109
|
});
|
|
110
110
|
|
|
111
111
|
return (
|
|
112
|
-
<ScrollView
|
|
112
|
+
<ScrollView
|
|
113
|
+
horizontal={isBusinessesSearchList}
|
|
114
|
+
style={styles.container}
|
|
115
|
+
showsVerticalScrollIndicator={false}
|
|
116
|
+
showsHorizontalScrollIndicator={false}
|
|
117
|
+
>
|
|
113
118
|
{isBusinessesSearchList ? (
|
|
114
119
|
<>
|
|
115
120
|
{!businesses?.loading && (
|
|
@@ -23,21 +23,21 @@ export const PreviousProductsOrdered = (props: PreviousProductsOrderedParams) =>
|
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
const ProductList = (
|
|
26
|
+
const ProductList = () => {
|
|
27
27
|
return (
|
|
28
28
|
<>
|
|
29
|
-
{products?.map((product: any) => (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
{products?.filter((product : any) => product?.business?.available)?.map((product: any) => (
|
|
30
|
+
<SingleProductCard
|
|
31
|
+
key={product?.id}
|
|
32
|
+
isProductId
|
|
33
|
+
isSoldOut={(product.inventoried && !product.quantity)}
|
|
34
|
+
product={product}
|
|
35
|
+
businessId={product?.business?.id}
|
|
36
|
+
onProductClick={onProductClick}
|
|
37
|
+
style={{ width: windowWidth - (products?.length > 1 ? 120 : 80), marginRight: 20 }}
|
|
38
|
+
productAddedToCartLength={0}
|
|
39
|
+
handleUpdateProducts={handleUpdateProducts}
|
|
40
|
+
/>
|
|
41
41
|
))}
|
|
42
42
|
</>
|
|
43
43
|
)
|
|
@@ -45,7 +45,7 @@ export const PreviousProductsOrdered = (props: PreviousProductsOrderedParams) =>
|
|
|
45
45
|
return (
|
|
46
46
|
<ScrollView horizontal={isBusinessesSearchList} style={styles.container} showsVerticalScrollIndicator={false}>
|
|
47
47
|
{isBusinessesSearchList ? (
|
|
48
|
-
<ProductList
|
|
48
|
+
<ProductList />
|
|
49
49
|
) : (
|
|
50
50
|
<ListWrapper isBusinessesSearchList={isBusinessesSearchList}>
|
|
51
51
|
<ProductList />
|