ordering-ui-react-native 0.17.71 → 0.17.72-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/BusinessInformation/index.tsx +10 -9
- 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 +3 -2
- 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 +28 -24
- package/themes/business/src/components/BusinessController/index.tsx +0 -1
- package/themes/business/src/components/Chat/index.tsx +149 -118
- package/themes/business/src/components/DriverMap/index.tsx +17 -6
- package/themes/business/src/components/DriverSchedule/index.tsx +45 -8
- 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/MessagesOption/index.tsx +20 -93
- 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 +103 -39
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +61 -60
- 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 +114 -123
- package/themes/business/src/components/OrdersOption/index.tsx +17 -15
- package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
- package/themes/business/src/components/PreviousMessages/index.tsx +97 -55
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +17 -12
- package/themes/business/src/components/PreviousOrders/OrderList.tsx +88 -0
- package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
- package/themes/business/src/components/PreviousOrders/index.tsx +186 -114
- package/themes/business/src/components/PreviousOrders/styles.tsx +1 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
- package/themes/business/src/components/ReviewCustomer/index.tsx +18 -13
- package/themes/business/src/components/StoresList/index.tsx +3 -4
- package/themes/business/src/components/UserProfileForm/index.tsx +14 -15
- package/themes/business/src/components/shared/OLink.tsx +11 -3
- package/themes/business/src/components/shared/OModal.tsx +16 -9
- package/themes/business/src/components/shared/OText.tsx +6 -1
- package/themes/business/src/types/index.tsx +25 -10
- 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 +1 -1
- package/themes/original/src/components/AddressDetails/index.tsx +19 -3
- package/themes/original/src/components/AddressForm/index.tsx +61 -39
- package/themes/original/src/components/AddressList/index.tsx +25 -24
- 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 +80 -66
- package/themes/original/src/components/BusinessController/styles.tsx +12 -5
- 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 +139 -85
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +15 -20
- package/themes/original/src/components/BusinessListingSearch/index.tsx +349 -339
- 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 +15 -7
- 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 +684 -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/Original/index.tsx +69 -38
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +0 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +77 -79
- 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 +356 -124
- package/themes/original/src/components/CitiesControl/index.tsx +1 -1
- 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 +2 -6
- package/themes/original/src/components/FavoriteList/index.tsx +1 -35
- package/themes/original/src/components/FloatingButton/index.tsx +10 -13
- package/themes/original/src/components/GPSButton/index.tsx +6 -4
- 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 +60 -5
- package/themes/original/src/components/Help/index.tsx +2 -2
- 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 +91 -25
- package/themes/original/src/components/LoginForm/index.tsx +64 -34
- package/themes/original/src/components/LottieAnimation/index.tsx +88 -63
- package/themes/original/src/components/MessageListing/index.tsx +16 -42
- package/themes/original/src/components/Messages/index.tsx +14 -7
- package/themes/original/src/components/MomentOption/index.tsx +193 -90
- package/themes/original/src/components/MomentSelector/index.tsx +1 -1
- package/themes/original/src/components/MultiCart/index.tsx +41 -54
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +162 -50
- package/themes/original/src/components/MultiCheckout/index.tsx +329 -100
- 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 +54 -21
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
- package/themes/original/src/components/MyOrders/index.tsx +40 -29
- package/themes/original/src/components/NavBar/index.tsx +20 -17
- package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
- package/themes/original/src/components/Notifications/index.tsx +42 -52
- 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 +21 -5
- package/themes/original/src/components/OrderDetails/index.tsx +191 -363
- 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 +30 -56
- package/themes/original/src/components/OrderSummary/index.tsx +88 -59
- package/themes/original/src/components/OrderTypeSelector/index.tsx +2 -1
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
- package/themes/original/src/components/OrdersOption/index.tsx +68 -87
- package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
- package/themes/original/src/components/PageBanner/index.tsx +98 -38
- package/themes/original/src/components/PageBanner/styles.tsx +0 -10
- 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 +78 -35
- package/themes/original/src/components/PhoneInputNumber/index.tsx +18 -4
- package/themes/original/src/components/ProductForm/index.tsx +104 -29
- package/themes/original/src/components/ProductForm/styles.tsx +5 -5
- package/themes/original/src/components/ProductItemAccordion/index.tsx +12 -9
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +20 -18
- package/themes/original/src/components/ProductOptionSubOption/styles.tsx +5 -9
- 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 +2 -2
- package/themes/original/src/components/Promotions/styles.tsx +3 -1
- package/themes/original/src/components/ReviewProducts/index.tsx +16 -7
- package/themes/original/src/components/ScheduleAccordion/index.tsx +3 -3
- 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 +43 -27
- package/themes/original/src/components/SingleOrderCard/index.tsx +102 -63
- package/themes/original/src/components/SingleOrderCard/styles.tsx +1 -1
- package/themes/original/src/components/SingleProductCard/index.tsx +72 -31
- package/themes/original/src/components/SingleProductCard/styles.tsx +20 -4
- package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
- package/themes/original/src/components/StripeCardsList/index.tsx +49 -5
- package/themes/original/src/components/StripeElementsForm/index.tsx +48 -34
- package/themes/original/src/components/StripeElementsForm/naked.tsx +12 -1
- 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 +3 -1
- 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 +17 -21
- package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/original/src/components/UserVerification/index.tsx +55 -50
- 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 +66 -30
- package/themes/original/src/components/Wallets/styles.tsx +3 -4
- 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/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,49 +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 minute = order?.eta_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 returnedDate = moment(deliveryTime).add(minute, 'minutes').format('hh:mm A')
|
|
117
|
-
return returnedDate
|
|
118
|
-
}
|
|
119
|
-
|
|
120
83
|
const handleGoToOrder = (index: string) => {
|
|
121
84
|
navigation && navigation.navigate(index)
|
|
122
85
|
}
|
|
@@ -124,7 +87,15 @@ const OrderProgressUI = (props: any) => {
|
|
|
124
87
|
useEffect(() => {
|
|
125
88
|
if (orderList?.orders.length > 0) {
|
|
126
89
|
const sortedOrders = orderList.orders.sort((a: any, b: any) => a.id > b.id ? -1 : 1)
|
|
127
|
-
|
|
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)
|
|
128
99
|
}
|
|
129
100
|
}, [orderList?.orders])
|
|
130
101
|
|
|
@@ -157,11 +128,11 @@ const OrderProgressUI = (props: any) => {
|
|
|
157
128
|
<View style={styles.logoWrapper}>
|
|
158
129
|
<FastImage
|
|
159
130
|
style={{ width: 50, height: 50 }}
|
|
160
|
-
source={{
|
|
131
|
+
source={orderList?.orders.length === 1 ? {
|
|
161
132
|
uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
|
|
162
133
|
priority: FastImage.priority.normal,
|
|
163
|
-
}}
|
|
164
|
-
resizeMode={FastImage.resizeMode.
|
|
134
|
+
} : theme.images.logos.logotype}
|
|
135
|
+
resizeMode={FastImage.resizeMode.contain}
|
|
165
136
|
/>
|
|
166
137
|
</View>
|
|
167
138
|
<View style={{
|
|
@@ -175,8 +146,7 @@ const OrderProgressUI = (props: any) => {
|
|
|
175
146
|
fontWeight: 'bold',
|
|
176
147
|
marginBottom: 3
|
|
177
148
|
}}
|
|
178
|
-
>{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
|
|
179
|
-
<OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
|
|
149
|
+
>{statusToShow.includes(lastOrder?.status) ? t('ORDER_IN_PROGRESS', 'Order in progress') : t('ORDER', 'Order')}</OText>
|
|
180
150
|
<TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
|
|
181
151
|
<View style={styles.navigationButton}>
|
|
182
152
|
<OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
|
|
@@ -192,18 +162,22 @@ const OrderProgressUI = (props: any) => {
|
|
|
192
162
|
</OrderInfoWrapper>
|
|
193
163
|
<View style={{ flex: 1 }}>
|
|
194
164
|
<ProgressContentWrapper>
|
|
195
|
-
<ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)
|
|
165
|
+
<ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${(getOrderStatus(lastOrder.status) as any).percentage * 100}%` : '0%' }} />
|
|
196
166
|
</ProgressContentWrapper>
|
|
197
167
|
<ProgressTextWrapper>
|
|
198
168
|
<OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
|
|
199
169
|
<TimeWrapper>
|
|
200
|
-
<OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
|
|
170
|
+
<OText size={11}>{lastOrder?.delivery_type === 1 ? t('ESTIMATED_DELIVERY', 'Estimated delivery') : t('ESTIMATED_TIME', 'Estimated time')}</OText>
|
|
201
171
|
<OText size={11}>
|
|
202
172
|
{lastOrder?.delivery_datetime_utc
|
|
203
|
-
? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: '
|
|
173
|
+
? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: configs?.general_hour_format?.value || 'HH:mm' })
|
|
204
174
|
: parseTime(lastOrder?.delivery_datetime, { utc: false })}
|
|
205
175
|
-
|
|
206
|
-
{
|
|
176
|
+
{statusToShow.includes(lastOrder?.status) ? (
|
|
177
|
+
<OrderEta order={lastOrder} outputFormat={configs?.general_hour_format?.value || 'HH:mm'} />
|
|
178
|
+
) : (
|
|
179
|
+
parseDate(lastOrder?.reporting_data?.at[`status:${lastOrder.status}`], { outputFormat: configs?.general_hour_format?.value })
|
|
180
|
+
)}
|
|
207
181
|
</OText>
|
|
208
182
|
</TimeWrapper>
|
|
209
183
|
</ProgressTextWrapper>
|
|
@@ -230,7 +204,7 @@ export const OrderProgress = (props: any) => {
|
|
|
230
204
|
useDefualtSessionManager: true,
|
|
231
205
|
paginationSettings: {
|
|
232
206
|
initialPage: 1,
|
|
233
|
-
pageSize:
|
|
207
|
+
pageSize: 10,
|
|
234
208
|
controlType: 'infinity'
|
|
235
209
|
}
|
|
236
210
|
}
|
|
@@ -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,8 +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;
|
|
61
|
+
const hideCartComments = !validationFields?.fields?.checkout?.comments?.enabled
|
|
62
|
+
|
|
63
|
+
const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
|
|
64
|
+
|
|
65
|
+
const walletName: any = {
|
|
66
|
+
cash: {
|
|
67
|
+
name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
|
|
68
|
+
},
|
|
69
|
+
credit_point: {
|
|
70
|
+
name: t('PAY_WITH_CREDITS_POINTS_WALLET', 'Pay with Credit Points Wallet'),
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const getIncludedTaxes = () => {
|
|
75
|
+
if (cart?.taxes === null || !cart?.taxes) {
|
|
76
|
+
return cart?.business?.tax_type === 1 ? cart?.tax : 0
|
|
77
|
+
} else {
|
|
78
|
+
return cart?.taxes.reduce((taxIncluded: number, tax: any) => {
|
|
79
|
+
return taxIncluded + (tax.type === 1 ? tax.summary?.tax : 0)
|
|
80
|
+
}, 0)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const clearAmount = (value: any) => parseFloat((Math.trunc(value * 100) / 100).toFixed(configs.format_number_decimal_length?.value ?? 2))
|
|
85
|
+
const loyaltyRewardValue = clearAmount((cart?.subtotal + getIncludedTaxes()) * loyaltyRewardRate)
|
|
53
86
|
|
|
54
87
|
const handleDeleteClick = (product: any) => {
|
|
55
88
|
removeProduct(product, cart)
|
|
@@ -67,41 +100,20 @@ const OrderSummaryUI = (props: any) => {
|
|
|
67
100
|
})
|
|
68
101
|
}
|
|
69
102
|
|
|
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
103
|
const getIncludedTaxesDiscounts = () => {
|
|
81
104
|
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
105
|
}
|
|
83
106
|
|
|
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
|
-
}
|
|
107
|
+
const OfferAlert = ({ offerId }: any) => {
|
|
108
|
+
return (
|
|
109
|
+
<OAlert
|
|
110
|
+
title={t('OFFER', 'Offer')}
|
|
111
|
+
message={t('QUESTION_DELETE_OFFER', 'Are you sure that you want to delete the offer?')}
|
|
112
|
+
onAccept={() => handleRemoveOfferClick(offerId)}
|
|
113
|
+
>
|
|
114
|
+
<AntIcon style={{ marginLeft: 3 }} name='closecircle' size={16} color={theme.colors.primary} />
|
|
115
|
+
</OAlert>
|
|
116
|
+
)
|
|
105
117
|
}
|
|
106
118
|
|
|
107
119
|
return (
|
|
@@ -121,6 +133,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
121
133
|
onDeleteProduct={handleDeleteClick}
|
|
122
134
|
onEditProduct={handleEditProduct}
|
|
123
135
|
isFromCheckout={isFromCheckout}
|
|
136
|
+
isDisabledEdit={!cart?.business_id}
|
|
124
137
|
/>
|
|
125
138
|
))}
|
|
126
139
|
</OSProductList>
|
|
@@ -156,9 +169,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
156
169
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_1' })}>
|
|
157
170
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
158
171
|
</TouchableOpacity>
|
|
159
|
-
|
|
160
|
-
<
|
|
161
|
-
|
|
172
|
+
{!!offer?.id && (
|
|
173
|
+
<OfferAlert offerId={offer?.id} />
|
|
174
|
+
)}
|
|
162
175
|
</OSRow>
|
|
163
176
|
<OText size={12}>
|
|
164
177
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -166,7 +179,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
166
179
|
</OSTable>
|
|
167
180
|
))
|
|
168
181
|
}
|
|
169
|
-
|
|
182
|
+
{cart?.business_id && (
|
|
183
|
+
<Divider />
|
|
184
|
+
)}
|
|
170
185
|
{cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
|
|
171
186
|
<OSTable>
|
|
172
187
|
<OText size={12} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
|
|
@@ -194,8 +209,8 @@ const OrderSummaryUI = (props: any) => {
|
|
|
194
209
|
))
|
|
195
210
|
}
|
|
196
211
|
{
|
|
197
|
-
cart?.fees?.length > 0 && cart?.fees?.filter((fee: any) => !(fee.fixed === 0 && fee.percentage === 0)).map((fee: any) => (
|
|
198
|
-
<OSTable key={fee?.id}>
|
|
212
|
+
cart?.fees?.length > 0 && cart?.fees?.filter((fee: any) => !(fee.fixed === 0 && fee.percentage === 0)).map((fee: any, i: number) => (
|
|
213
|
+
<OSTable key={fee?.id + i}>
|
|
199
214
|
<OSRow>
|
|
200
215
|
<OText size={12} numberOfLines={1}>
|
|
201
216
|
{fee.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}{' '}
|
|
@@ -220,9 +235,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
220
235
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_3' })}>
|
|
221
236
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
222
237
|
</TouchableOpacity>
|
|
223
|
-
|
|
224
|
-
<
|
|
225
|
-
|
|
238
|
+
{!!offer?.id && (
|
|
239
|
+
<OfferAlert offerId={offer?.id} />
|
|
240
|
+
)}
|
|
226
241
|
</OSRow>
|
|
227
242
|
<OText size={12}>
|
|
228
243
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -230,10 +245,10 @@ const OrderSummaryUI = (props: any) => {
|
|
|
230
245
|
</OSTable>
|
|
231
246
|
))
|
|
232
247
|
}
|
|
233
|
-
{orderState?.options?.type === 1 &&
|
|
248
|
+
{orderState?.options?.type === 1 && !hideDeliveryFee && (
|
|
234
249
|
<OSTable>
|
|
235
250
|
<OText size={12}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
|
|
236
|
-
<OText size={12}>{parsePrice(cart?.
|
|
251
|
+
<OText size={12}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
|
|
237
252
|
</OSTable>
|
|
238
253
|
)}
|
|
239
254
|
{
|
|
@@ -247,9 +262,9 @@ const OrderSummaryUI = (props: any) => {
|
|
|
247
262
|
<TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_2' })}>
|
|
248
263
|
<AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
|
|
249
264
|
</TouchableOpacity>
|
|
250
|
-
|
|
251
|
-
<
|
|
252
|
-
|
|
265
|
+
{!!offer?.id && (
|
|
266
|
+
<OfferAlert offerId={offer?.id} />
|
|
267
|
+
)}
|
|
253
268
|
</OSRow>
|
|
254
269
|
<OText size={12}>
|
|
255
270
|
- {parsePrice(offer?.summary?.discount)}
|
|
@@ -279,7 +294,7 @@ const OrderSummaryUI = (props: any) => {
|
|
|
279
294
|
<OText size={12}>-{parsePrice(event.amount, { isTruncable: true })}</OText>
|
|
280
295
|
</OSTable>
|
|
281
296
|
))}
|
|
282
|
-
{isCouponEnabled && !isCartPending && (
|
|
297
|
+
{isCouponEnabled && !isCartPending && cart?.business_id && (
|
|
283
298
|
<View>
|
|
284
299
|
<View style={{ paddingVertical: 5 }}>
|
|
285
300
|
<CouponControl
|
|
@@ -299,9 +314,16 @@ const OrderSummaryUI = (props: any) => {
|
|
|
299
314
|
{parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
|
|
300
315
|
</OText>
|
|
301
316
|
</OSTable>
|
|
317
|
+
{!!loyaltyRewardValue && (
|
|
318
|
+
<OSTable style={{ justifyContent: 'flex-end' }}>
|
|
319
|
+
<OText size={12} color={theme.colors.textNormal}>
|
|
320
|
+
{t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue)}
|
|
321
|
+
</OText>
|
|
322
|
+
</OSTable>
|
|
323
|
+
)}
|
|
302
324
|
</View>
|
|
303
325
|
)}
|
|
304
|
-
{cart?.status !== 2 && (
|
|
326
|
+
{cart?.business_id && cart?.status !== 2 && !hideCartComments && (
|
|
305
327
|
<OSTable>
|
|
306
328
|
<View style={{ width: '100%', marginTop: 20 }}>
|
|
307
329
|
<OText size={12}>{t('COMMENTS', 'Comments')}</OText>
|
|
@@ -336,6 +358,21 @@ const OrderSummaryUI = (props: any) => {
|
|
|
336
358
|
)}
|
|
337
359
|
</OSBill>
|
|
338
360
|
)}
|
|
361
|
+
{cateringTypes.includes(orderState?.options?.type) && maxDate && cart?.business && (
|
|
362
|
+
<View>
|
|
363
|
+
<MomentOption
|
|
364
|
+
maxDate={maxDate}
|
|
365
|
+
cateringPreorder
|
|
366
|
+
isCart
|
|
367
|
+
preorderSlotInterval={preorderSlotInterval}
|
|
368
|
+
preorderLeadTime={preorderLeadTime}
|
|
369
|
+
preorderTimeRange={preorderTimeRange}
|
|
370
|
+
preorderMaximumDays={preorderMaximumDays}
|
|
371
|
+
preorderMinimumDays={preorderMinimumDays}
|
|
372
|
+
business={cart?.business}
|
|
373
|
+
/>
|
|
374
|
+
</View>
|
|
375
|
+
)}
|
|
339
376
|
<OModal
|
|
340
377
|
open={openTaxModal.open}
|
|
341
378
|
onClose={() => setOpenTaxModal({ open: false, data: null, type: '' })}
|
|
@@ -349,14 +386,6 @@ const OrderSummaryUI = (props: any) => {
|
|
|
349
386
|
products={cart?.products}
|
|
350
387
|
/>
|
|
351
388
|
</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
389
|
</>
|
|
361
390
|
)}
|
|
362
391
|
</OSContainer>
|
|
@@ -96,10 +96,11 @@ 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'}
|
|
103
|
+
titleStyle={{ fontSize: 14 }}
|
|
103
104
|
noMargin
|
|
104
105
|
/>
|
|
105
106
|
{
|
|
@@ -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 />
|