ordering-ui-react-native 0.16.0 → 0.16.1-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 -4
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/ActiveOrders/index.tsx +61 -63
- package/src/components/ActiveOrders/styles.tsx +8 -14
- package/src/components/AddressForm/index.tsx +18 -2
- package/src/components/BusinessBasicInformation/index.tsx +11 -19
- package/src/components/BusinessController/index.tsx +10 -8
- package/src/components/BusinessInformation/index.tsx +22 -0
- package/src/components/BusinessTypeFilter/index.tsx +1 -2
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +2 -1
- package/src/components/DriverTips/index.tsx +11 -6
- package/src/components/LanguageSelector/index.tsx +21 -16
- package/src/components/LoginForm/index.tsx +120 -30
- package/src/components/LoginForm/styles.tsx +6 -0
- package/src/components/Messages/index.tsx +2 -2
- package/src/components/NotificationSetting/index.tsx +85 -0
- package/src/components/OrderDetails/index.tsx +7 -21
- package/src/components/OrdersOption/index.tsx +54 -56
- package/src/components/PaymentOptions/index.tsx +335 -365
- package/src/components/PaymentOptionsWebView/index.tsx +120 -121
- package/src/components/ReviewDriver/index.tsx +1 -1
- package/src/components/ReviewOrder/index.tsx +2 -1
- package/src/components/ReviewProducts/index.tsx +11 -0
- package/src/components/SignupForm/index.tsx +145 -61
- package/src/components/SingleProductReview/index.tsx +8 -5
- package/src/components/StripeElementsForm/index.tsx +25 -16
- package/src/components/StripeMethodForm/index.tsx +1 -2
- package/src/components/UserProfileForm/index.tsx +63 -6
- package/src/components/UserProfileForm/styles.tsx +8 -0
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/components/shared/OBottomPopup.tsx +6 -2
- package/src/components/shared/OModal.tsx +1 -1
- package/src/index.tsx +2 -0
- package/src/navigators/CheckoutNavigator.tsx +6 -0
- package/src/navigators/HomeNavigator.tsx +6 -0
- package/src/pages/BusinessesListing.tsx +7 -6
- package/src/pages/MultiCheckout.tsx +31 -0
- package/src/pages/MultiOrdersDetails.tsx +27 -0
- package/src/pages/OrderDetails.tsx +1 -1
- package/src/pages/ReviewDriver.tsx +2 -2
- package/src/pages/ReviewOrder.tsx +2 -2
- package/src/theme.json +0 -1
- package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
- package/src/types/index.tsx +15 -9
- package/src/utils/index.tsx +0 -1
- package/themes/business/index.tsx +4 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +1 -1
- package/themes/business/src/components/BusinessController/index.tsx +2 -2
- package/themes/business/src/components/Chat/index.tsx +42 -34
- package/themes/business/src/components/DriverMap/index.tsx +12 -8
- package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
- package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
- package/themes/business/src/components/LoginForm/index.tsx +111 -74
- package/themes/business/src/components/MapView/index.tsx +1 -1
- package/themes/business/src/components/MessagesOption/index.tsx +11 -1
- package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
- package/themes/business/src/components/OrderDetails/Delivery.tsx +3 -3
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -18
- package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
- package/themes/business/src/components/OrdersOption/index.tsx +65 -21
- 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/index.tsx +21 -23
- package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
- package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
- package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
- package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
- 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/OModal.tsx +41 -38
- package/themes/business/src/types/index.tsx +14 -9
- package/themes/business/src/utils/index.tsx +10 -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/BusinessMenu/index.tsx +2 -1
- package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
- package/themes/kiosk/src/components/CategoriesMenu/index.tsx +1 -0
- package/themes/kiosk/src/components/Checkout/index.tsx +18 -3
- package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
- package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
- package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
- package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
- package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderDetails/index.tsx +2 -2
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +1 -1
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/kiosk/src/types/index.d.ts +2 -0
- package/themes/original/index.tsx +22 -0
- package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
- package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
- package/themes/original/src/components/AddressForm/index.tsx +137 -134
- package/themes/original/src/components/AddressList/index.tsx +2 -2
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +302 -160
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
- package/themes/original/src/components/BusinessController/index.tsx +179 -96
- package/themes/original/src/components/BusinessController/styles.tsx +5 -0
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
- package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
- package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
- package/themes/original/src/components/BusinessListingSearch/index.tsx +106 -126
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +18 -13
- package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
- package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
- package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
- package/themes/original/src/components/BusinessProductsList/index.tsx +66 -73
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +289 -178
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
- package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
- package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
- package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
- package/themes/original/src/components/BusinessesListing/index.tsx +102 -464
- package/themes/original/src/components/Cart/index.tsx +82 -37
- package/themes/original/src/components/Cart/styles.tsx +4 -0
- package/themes/original/src/components/CartContent/index.tsx +22 -16
- package/themes/original/src/components/Checkout/index.tsx +107 -67
- package/themes/original/src/components/Checkout/styles.tsx +0 -1
- package/themes/original/src/components/DriverTips/index.tsx +11 -6
- package/themes/original/src/components/Favorite/index.tsx +92 -0
- package/themes/original/src/components/Favorite/styles.tsx +22 -0
- package/themes/original/src/components/FavoriteList/index.tsx +317 -0
- package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
- package/themes/original/src/components/GPSButton/index.tsx +25 -17
- package/themes/original/src/components/GoogleMap/index.tsx +21 -12
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
- package/themes/original/src/components/HelpGuide/index.tsx +8 -3
- package/themes/original/src/components/HelpOrder/index.tsx +8 -3
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
- package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -2
- package/themes/original/src/components/LoginForm/index.tsx +86 -43
- package/themes/original/src/components/Messages/index.tsx +17 -17
- package/themes/original/src/components/MomentSelector/index.tsx +197 -0
- package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
- package/themes/original/src/components/MultiCheckout/index.tsx +304 -0
- package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
- package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +262 -0
- package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
- package/themes/original/src/components/MyOrders/index.tsx +132 -27
- package/themes/original/src/components/MyOrders/styles.tsx +8 -1
- package/themes/original/src/components/NavBar/index.tsx +11 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
- package/themes/original/src/components/OrderDetails/index.tsx +136 -57
- package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
- package/themes/original/src/components/OrderItAgain/index.tsx +73 -0
- package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
- package/themes/original/src/components/OrderProgress/index.tsx +8 -2
- package/themes/original/src/components/OrderSummary/index.tsx +2 -35
- package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
- package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +140 -0
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -0
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
- package/themes/original/src/components/OrdersOption/index.tsx +143 -47
- package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +15 -23
- package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
- package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
- package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
- package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
- package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
- package/themes/original/src/components/ProductForm/index.tsx +697 -649
- package/themes/original/src/components/ProductForm/styles.tsx +9 -7
- package/themes/original/src/components/ProductItemAccordion/index.tsx +38 -25
- package/themes/original/src/components/ProductOption/index.tsx +1 -1
- package/themes/original/src/components/ProfessionalFilter/index.tsx +128 -0
- package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
- package/themes/original/src/components/ProfessionalProfile/index.tsx +298 -0
- package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
- package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
- package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
- package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
- package/themes/original/src/components/SearchBar/index.tsx +13 -5
- package/themes/original/src/components/ServiceForm/index.tsx +608 -0
- package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
- package/themes/original/src/components/SignupForm/index.tsx +307 -159
- package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
- package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
- package/themes/original/src/components/SingleProductCard/index.tsx +215 -95
- package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
- package/themes/original/src/components/SingleProductReview/index.tsx +30 -3
- package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
- package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
- package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
- package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
- package/themes/original/src/components/UserDetails/index.tsx +32 -18
- package/themes/original/src/components/UserFormDetails/index.tsx +107 -73
- package/themes/original/src/components/UserProfile/index.tsx +4 -0
- package/themes/original/src/components/UserProfileForm/index.tsx +15 -10
- package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
- package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
- package/themes/original/src/components/Wallets/index.tsx +176 -162
- package/themes/original/src/components/Wallets/styles.tsx +10 -8
- package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
- package/themes/original/src/components/shared/OButton.tsx +10 -3
- package/themes/original/src/components/shared/OInput.tsx +3 -2
- package/themes/original/src/components/shared/OModal.tsx +4 -2
- package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
- package/themes/original/src/types/index.tsx +200 -47
- package/themes/original/src/utils/index.tsx +77 -0
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -4,6 +4,7 @@ import { OIcon, OButton, OText } from '../shared'
|
|
|
4
4
|
import { ImageStyle, TextStyle, View, Platform, TouchableOpacity } from 'react-native'
|
|
5
5
|
import { useConfig, useLanguage, useOrder } from 'ordering-components/native'
|
|
6
6
|
import { useTheme } from 'styled-components/native'
|
|
7
|
+
|
|
7
8
|
const Wrapper = styled.View`
|
|
8
9
|
background-color: ${(props: any) => props.theme.colors.white};
|
|
9
10
|
padding: 10px 0px 20px 0px;
|
|
@@ -65,28 +66,27 @@ const NavBar = (props: Props) => {
|
|
|
65
66
|
|
|
66
67
|
return (
|
|
67
68
|
<Wrapper style={{ paddingTop: props.paddingTop, ...props.style }}>
|
|
68
|
-
{(props?.onActionLeft) && (
|
|
69
|
+
{(props?.onActionLeft || props?.leftImg) && (
|
|
69
70
|
<OButton
|
|
70
|
-
imgLeftSrc={props.leftImg}
|
|
71
|
+
imgLeftSrc={props.leftImg || theme.images.general.arrow_left}
|
|
71
72
|
imgRightSrc={null}
|
|
72
73
|
style={{ ...btnBackArrow, ...props.btnStyle }}
|
|
73
74
|
onClick={props.onActionLeft}
|
|
74
|
-
imgLeftStyle={props.imgLeftStyle}
|
|
75
|
-
{...(!props.leftImg && { iconProps: { name: 'arrowleft', size: 28, color: props.btnStyle?.color } })}
|
|
75
|
+
imgLeftStyle= {props.imgLeftStyle}
|
|
76
76
|
/>)
|
|
77
77
|
}
|
|
78
78
|
<TitleTopWrapper>
|
|
79
79
|
{props.withIcon
|
|
80
80
|
? (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
<OIcon
|
|
82
|
+
url={props.icon}
|
|
83
|
+
style={{
|
|
84
|
+
borderColor: theme.colors.lightGray,
|
|
85
|
+
borderRadius: 20,
|
|
86
|
+
}}
|
|
87
|
+
width={60}
|
|
88
|
+
height={60}
|
|
89
|
+
/>
|
|
90
90
|
)
|
|
91
91
|
: null
|
|
92
92
|
}
|
|
@@ -134,7 +134,7 @@ const NavBar = (props: Props) => {
|
|
|
134
134
|
</View>
|
|
135
135
|
)}
|
|
136
136
|
|
|
137
|
-
{props.rightComponent}
|
|
137
|
+
{ props.rightComponent }
|
|
138
138
|
</Wrapper>
|
|
139
139
|
)
|
|
140
140
|
}
|
|
@@ -395,7 +395,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
395
395
|
</View>
|
|
396
396
|
</OSTable>
|
|
397
397
|
|
|
398
|
-
{order?.products?.length && (
|
|
398
|
+
{order?.products?.length > 0 && (
|
|
399
399
|
<>
|
|
400
400
|
<View
|
|
401
401
|
style={{
|
|
@@ -598,7 +598,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
598
598
|
<>
|
|
599
599
|
<Spinner visible={!order || Object.keys(order).length === 0} />
|
|
600
600
|
|
|
601
|
-
{order && Object.keys(order).length > 0 && (
|
|
601
|
+
{!!order && Object.keys(order).length > 0 && (
|
|
602
602
|
<>
|
|
603
603
|
<Container>
|
|
604
604
|
<NavBar
|
|
@@ -15,8 +15,6 @@ import { Container } from '../../layouts/Container'
|
|
|
15
15
|
import NavBar from '../NavBar'
|
|
16
16
|
import { LANDSCAPE, PORTRAIT, useDeviceOrientation } from '../../../../../src/hooks/DeviceOrientation'
|
|
17
17
|
import GridContainer from '../../layouts/GridContainer'
|
|
18
|
-
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
19
|
-
import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
|
|
20
18
|
|
|
21
19
|
const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
|
|
22
20
|
const {
|
|
@@ -29,7 +27,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
|
|
|
29
27
|
callback
|
|
30
28
|
} = props
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
const theme = useTheme();
|
|
33
31
|
const [, t] = useLanguage();
|
|
34
32
|
const [orientationState] = useDeviceOrientation();
|
|
35
33
|
const [orderState] = useOrder()
|
|
@@ -47,7 +45,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
|
|
|
47
45
|
}
|
|
48
46
|
|
|
49
47
|
useEffect(() => {
|
|
50
|
-
if
|
|
48
|
+
if(isCardCliked){
|
|
51
49
|
callback?.()
|
|
52
50
|
setIsCardClicked(false)
|
|
53
51
|
setIsLoadingCard(null)
|
|
@@ -85,13 +83,13 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
|
|
|
85
83
|
style={cardStyle}
|
|
86
84
|
isDisabled={isCardCliked}
|
|
87
85
|
isLoading={isLoadingCard === 'Eat In'}
|
|
88
|
-
title={t('EAT_IN',
|
|
86
|
+
title={t('EAT_IN','Eat In')}
|
|
89
87
|
description={t('EAT_IN_DESCRIPTION', 'We are very glad to have you here. Bon appetit!')}
|
|
90
88
|
bgImage={theme.images.general.eatIn}
|
|
91
|
-
|
|
89
|
+
icon={theme.images.general.pushPin}
|
|
92
90
|
callToActionText={t('START_MY_ORDER', 'Start my order')}
|
|
93
91
|
onClick={() => {
|
|
94
|
-
if
|
|
92
|
+
if(_eatIn?.value !== orderState?.options?.type){
|
|
95
93
|
handleChangeOrderType(_eatIn?.value);
|
|
96
94
|
setIsCardClicked(true)
|
|
97
95
|
setIsLoadingCard('Eat In')
|
|
@@ -108,15 +106,15 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
|
|
|
108
106
|
|
|
109
107
|
<OptionCard
|
|
110
108
|
style={cardStyle}
|
|
111
|
-
title={t('TAKE_OUT',
|
|
109
|
+
title={t('TAKE_OUT','Take out')}
|
|
112
110
|
isDisabled={isCardCliked}
|
|
113
111
|
isLoading={isLoadingCard === 'Take out'}
|
|
114
112
|
description={t('TAKE_OUT_DESCRIPTION', 'You are very welcome anytime you visit us!')}
|
|
115
113
|
bgImage={theme.images.general.takeOut}
|
|
116
|
-
|
|
114
|
+
icon={theme.images.general.shoppingCart}
|
|
117
115
|
callToActionText={t('START_MY_ORDER', 'Start my order')}
|
|
118
116
|
onClick={() => {
|
|
119
|
-
if
|
|
117
|
+
if(_takeOut?.value !== orderState?.options?.type){
|
|
120
118
|
handleChangeOrderType(_takeOut?.value);
|
|
121
119
|
setIsCardClicked(true)
|
|
122
120
|
setIsLoadingCard('Take out')
|
|
@@ -107,7 +107,7 @@ const PaymentOptionsUI = (props: any) => {
|
|
|
107
107
|
|
|
108
108
|
const handlePlaceOrder = () => {
|
|
109
109
|
if (!userErrors.length) {
|
|
110
|
-
handlerClickPlaceOrder && handlerClickPlaceOrder();
|
|
110
|
+
handlerClickPlaceOrder && handlerClickPlaceOrder(null, { on_behalf_of: props.customerName });
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
let stringError = '';
|
|
@@ -10,8 +10,6 @@ import {
|
|
|
10
10
|
|
|
11
11
|
import * as React from 'react';
|
|
12
12
|
import styled from 'styled-components/native';
|
|
13
|
-
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
14
|
-
import { Icon, IconProps } from 'react-native-vector-icons/Icon';
|
|
15
13
|
|
|
16
14
|
const StyledButton = styled.View<Props>`
|
|
17
15
|
background-color: ${(props: any) => props.theme.colors.primary};
|
|
@@ -79,19 +77,17 @@ interface Props {
|
|
|
79
77
|
isCircle?: boolean;
|
|
80
78
|
bgColor?: string;
|
|
81
79
|
borderColor?: string;
|
|
82
|
-
iconProps?: IconProps;
|
|
83
|
-
IconCustom?: React.FunctionComponent
|
|
84
80
|
}
|
|
85
81
|
|
|
86
82
|
const OButton = (props: Props): React.ReactElement => {
|
|
87
83
|
if (props.isDisabled) {
|
|
88
84
|
return (
|
|
89
85
|
<View style={props.parentStyle}>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
<StyledButtonDisabled style={props.style}>
|
|
87
|
+
<StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
|
|
88
|
+
{props.text}
|
|
89
|
+
</StyledTextDisabled>
|
|
90
|
+
</StyledButtonDisabled>
|
|
95
91
|
</View>
|
|
96
92
|
);
|
|
97
93
|
}
|
|
@@ -115,15 +111,6 @@ const OButton = (props: Props): React.ReactElement => {
|
|
|
115
111
|
{props.imgLeftSrc ? (
|
|
116
112
|
<StyledImage style={props.imgLeftStyle} source={props.imgLeftSrc} />
|
|
117
113
|
) : null}
|
|
118
|
-
{props.iconProps ? (
|
|
119
|
-
<>
|
|
120
|
-
{props?.IconCustom ? (
|
|
121
|
-
<props.IconCustom {...props.iconProps} />
|
|
122
|
-
) : (
|
|
123
|
-
<AntDesignIcon {...props.iconProps} />
|
|
124
|
-
)}
|
|
125
|
-
</>
|
|
126
|
-
) : null}
|
|
127
114
|
{props.text ? (
|
|
128
115
|
<StyledText style={props.textStyle}>{props.text}</StyledText>
|
|
129
116
|
) : null}
|
|
@@ -15,6 +15,8 @@ import { BusinessProductsListing } from './src/components/BusinessProductsListin
|
|
|
15
15
|
import { CartContent } from './src/components/CartContent';
|
|
16
16
|
import { BusinessCart } from './src/components/BusinessCart';
|
|
17
17
|
import { Checkout } from './src/components/Checkout';
|
|
18
|
+
import { Favorite } from './src/components/Favorite';
|
|
19
|
+
import { FavoriteList } from './src/components/FavoriteList';
|
|
18
20
|
import { FloatingButton } from './src/components/FloatingButton';
|
|
19
21
|
import { ForgotPasswordForm } from './src/components/ForgotPasswordForm';
|
|
20
22
|
import { MomentOption } from './src/components/MomentOption';
|
|
@@ -30,6 +32,7 @@ import { ReviewDriver } from './src/components/ReviewDriver';
|
|
|
30
32
|
import { UserProfile } from './src/components/UserProfile';
|
|
31
33
|
import { MessageListing } from './src/components/MessageListing';
|
|
32
34
|
import { Messages } from './src/components/Messages';
|
|
35
|
+
import { MyOrders } from './src/components/MyOrders';
|
|
33
36
|
import { Help } from './src/components/Help';
|
|
34
37
|
import { HelpAccountAndPayment } from './src/components/HelpAccountAndPayment';
|
|
35
38
|
import { HelpGuide } from './src/components/HelpGuide';
|
|
@@ -45,6 +48,8 @@ import { UpsellingProducts } from './src/components/UpsellingProducts';
|
|
|
45
48
|
import { UserVerification } from './src/components/UserVerification';
|
|
46
49
|
import { BusinessListingSearch } from './src/components/BusinessListingSearch';
|
|
47
50
|
import { LastOrders } from './src/components/LastOrders';
|
|
51
|
+
import { MultiCheckout } from './src/components/MultiCheckout'
|
|
52
|
+
import { MultiOrdersDetails } from './src/components/MultiOrdersDetails'
|
|
48
53
|
import NavBar from './src/components/NavBar';
|
|
49
54
|
import { BusinessTypeFilter } from './src/components/BusinessTypeFilter';
|
|
50
55
|
import { BusinessController } from './src/components/BusinessController';
|
|
@@ -54,16 +59,22 @@ import { PaymentOptions } from './src/components/PaymentOptions';
|
|
|
54
59
|
import { DriverTips } from './src/components/DriverTips';
|
|
55
60
|
import { UserDetails } from './src/components/UserDetails';
|
|
56
61
|
import { OrderSummary } from './src/components/OrderSummary';
|
|
62
|
+
import { OrderItAgain } from './src/components/OrderItAgain';
|
|
57
63
|
import { CartStoresListing } from './src/components/CartStoresListing';
|
|
58
64
|
import { PaymentOptionsWebView } from '../../src/components/PaymentOptionsWebView';
|
|
59
65
|
import { GoogleMap } from './src/components/GoogleMap';
|
|
60
66
|
import { SingleProductCard } from './src/components/SingleProductCard';
|
|
67
|
+
import { SingleOrderCard } from './src/components/SingleOrderCard';
|
|
61
68
|
import { UpsellingRedirect } from './src/components/BusinessProductsListing/UpsellingRedirect';
|
|
62
69
|
import { ProductItemAccordion } from './src/components/ProductItemAccordion';
|
|
63
70
|
import { BusinessItemAccordion } from './src/components/BusinessItemAccordion';
|
|
64
71
|
import { CouponControl } from './src/components/CouponControl';
|
|
65
72
|
import { TaxInformation } from './src/components/TaxInformation';
|
|
66
73
|
import { PlaceSpot } from './src/components/PlaceSpot';
|
|
74
|
+
import { ProfessionalFilter } from './src/components/ProfessionalFilter';
|
|
75
|
+
import { ProfessionalProfile } from './src/components/ProfessionalProfile';
|
|
76
|
+
import { ServiceForm } from './src/components/ServiceForm';
|
|
77
|
+
import { MomentSelector } from './src/components/MomentSelector';
|
|
67
78
|
import { Cart } from './src/components/Cart';
|
|
68
79
|
import { LanguageSelector } from './src/components/LanguageSelector';
|
|
69
80
|
import { PhoneInputNumber } from './src/components/PhoneInputNumber'
|
|
@@ -164,6 +175,8 @@ export {
|
|
|
164
175
|
CartContent,
|
|
165
176
|
BusinessCart,
|
|
166
177
|
Checkout,
|
|
178
|
+
Favorite,
|
|
179
|
+
FavoriteList,
|
|
167
180
|
ForgotPasswordForm,
|
|
168
181
|
MomentOption,
|
|
169
182
|
OrdersOption,
|
|
@@ -182,6 +195,8 @@ export {
|
|
|
182
195
|
HelpAccountAndPayment,
|
|
183
196
|
HelpGuide,
|
|
184
197
|
HelpOrder,
|
|
198
|
+
MultiCheckout,
|
|
199
|
+
MultiOrdersDetails,
|
|
185
200
|
NetworkError,
|
|
186
201
|
NotFoundSource,
|
|
187
202
|
OrderTypeSelector,
|
|
@@ -205,16 +220,22 @@ export {
|
|
|
205
220
|
DriverTips,
|
|
206
221
|
UserDetails,
|
|
207
222
|
OrderSummary,
|
|
223
|
+
OrderItAgain,
|
|
208
224
|
CartStoresListing,
|
|
209
225
|
PaymentOptionsWebView,
|
|
210
226
|
GoogleMap,
|
|
211
227
|
SingleProductCard,
|
|
228
|
+
SingleOrderCard,
|
|
212
229
|
UpsellingRedirect,
|
|
213
230
|
ProductItemAccordion,
|
|
214
231
|
BusinessItemAccordion,
|
|
215
232
|
CouponControl,
|
|
216
233
|
TaxInformation,
|
|
217
234
|
PlaceSpot,
|
|
235
|
+
ProfessionalFilter,
|
|
236
|
+
ServiceForm,
|
|
237
|
+
ProfessionalProfile,
|
|
238
|
+
MomentSelector,
|
|
218
239
|
Cart,
|
|
219
240
|
LanguageSelector,
|
|
220
241
|
PhoneInputNumber,
|
|
@@ -234,6 +255,7 @@ export {
|
|
|
234
255
|
UserFormDetailsUI,
|
|
235
256
|
WalletTransactionItem,
|
|
236
257
|
Promotions,
|
|
258
|
+
MyOrders,
|
|
237
259
|
ORDER_TYPES,
|
|
238
260
|
USER_TYPE,
|
|
239
261
|
|
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { OButton, OIcon, OText } from '../shared';
|
|
2
|
+
import { useConfig } from 'ordering-components/native';
|
|
4
3
|
import {
|
|
5
|
-
ActiveOrdersContainer
|
|
6
|
-
Card,
|
|
7
|
-
Map,
|
|
8
|
-
Information,
|
|
9
|
-
Logo,
|
|
10
|
-
OrderInformation,
|
|
11
|
-
BusinessInformation,
|
|
12
|
-
Price,
|
|
13
|
-
UnreadMessageCounter,
|
|
14
|
-
LoadMore
|
|
4
|
+
ActiveOrdersContainer
|
|
15
5
|
} from './styles';
|
|
16
|
-
import { View
|
|
6
|
+
import { View } from 'react-native';
|
|
17
7
|
|
|
18
8
|
import { ActiveOrdersParams } from '../../types';
|
|
19
|
-
import moment from 'moment';
|
|
20
9
|
import { useTheme } from 'styled-components/native';
|
|
10
|
+
import { SingleOrderCard } from '../SingleOrderCard';
|
|
21
11
|
|
|
22
12
|
export const ActiveOrders = (props: ActiveOrdersParams) => {
|
|
23
13
|
const {
|
|
@@ -27,111 +17,27 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
|
|
|
27
17
|
loadMoreOrders,
|
|
28
18
|
getOrderStatus,
|
|
29
19
|
isMessageView,
|
|
30
|
-
handleClickOrder
|
|
20
|
+
handleClickOrder,
|
|
21
|
+
handleUpdateOrderList
|
|
31
22
|
} = props;
|
|
32
23
|
|
|
33
24
|
const theme = useTheme();
|
|
34
25
|
const [{ configs }] = useConfig();
|
|
35
|
-
const [, t] = useLanguage();
|
|
36
|
-
const [{ parseDate, parsePrice, optimizeImage }] = useUtils();
|
|
37
|
-
|
|
38
|
-
const formatDate = (date: string, option?: any) => {
|
|
39
|
-
return option?.utc ? moment.utc(date).format('DD/MM/YY \u2022 h:m a') : moment(date).format('DD/MM/YY \u2022 h:m a');
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const handleClickCard = (uuid: string) => {
|
|
43
|
-
if (isMessageView) {
|
|
44
|
-
handleClickOrder(uuid)
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
onNavigationRedirect &&
|
|
48
|
-
onNavigationRedirect('OrderDetails', { orderId: uuid });
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const Order = ({ order, index }: { order: any; index: number }) => (
|
|
52
|
-
<React.Fragment>
|
|
53
|
-
<Card
|
|
54
|
-
isMiniCard={configs?.google_maps_api_key?.value}
|
|
55
|
-
onPress={() => handleClickCard(order?.uuid)}
|
|
56
|
-
activeOpacity={0.7}>
|
|
57
|
-
{/* {!!(configs?.google_maps_api_key?.value) && (
|
|
58
|
-
<Map>
|
|
59
|
-
<OIcon
|
|
60
|
-
url={getGoogleMapImage(order?.business?.location, configs?.google_maps_api_key?.value)}
|
|
61
|
-
height={100}
|
|
62
|
-
width={320}
|
|
63
|
-
style={{resizeMode: 'cover', borderTopRightRadius: 24, borderTopLeftRadius: 24}}
|
|
64
|
-
/>
|
|
65
|
-
</Map>
|
|
66
|
-
)} */}
|
|
67
|
-
<Information>
|
|
68
|
-
{!!order.business?.logo && (
|
|
69
|
-
<Logo>
|
|
70
|
-
<OIcon
|
|
71
|
-
url={optimizeImage(order.business?.logo, 'h_300,c_limit')}
|
|
72
|
-
style={styles.logo}
|
|
73
|
-
/>
|
|
74
|
-
</Logo>
|
|
75
|
-
)}
|
|
76
|
-
<OrderInformation>
|
|
77
|
-
<BusinessInformation>
|
|
78
|
-
<OText size={12} lineHeight={18} weight={600} numberOfLines={1} ellipsizeMode={'tail'}>
|
|
79
|
-
{order.business?.name}
|
|
80
|
-
</OText>
|
|
81
|
-
<View style={styles.orderNumber}>
|
|
82
|
-
<OText size={10} space color={theme.colors.textSecondary}>
|
|
83
|
-
{t('ORDER_NO', 'Order No') + '.'}
|
|
84
|
-
</OText>
|
|
85
|
-
<OText size={10} color={theme.colors.textSecondary}>
|
|
86
|
-
{order.id + ` \u2022 `}
|
|
87
|
-
</OText>
|
|
88
|
-
<OText size={10} color={theme.colors.textSecondary}>
|
|
89
|
-
{order?.delivery_datetime_utc
|
|
90
|
-
? formatDate(order?.delivery_datetime_utc)
|
|
91
|
-
: formatDate(order?.delivery_datetime, { utc: false })}
|
|
92
|
-
</OText>
|
|
93
|
-
</View>
|
|
94
|
-
{/* {order?.status !== 0 && ( */}
|
|
95
|
-
<OText
|
|
96
|
-
color={theme.colors.primary}
|
|
97
|
-
size={10}
|
|
98
|
-
lineHeight={15}
|
|
99
|
-
weight={400}
|
|
100
|
-
numberOfLines={2}>
|
|
101
|
-
{getOrderStatus(order.status)?.value}
|
|
102
|
-
</OText>
|
|
103
|
-
{/* )} */}
|
|
104
|
-
</BusinessInformation>
|
|
105
|
-
{isMessageView ? (
|
|
106
|
-
<>
|
|
107
|
-
{order?.unread_count > 0 && (
|
|
108
|
-
<UnreadMessageCounter>
|
|
109
|
-
<OText size={12} color={theme.colors.primary} lineHeight={18} >
|
|
110
|
-
{order?.unread_count}
|
|
111
|
-
</OText>
|
|
112
|
-
</UnreadMessageCounter>
|
|
113
|
-
)}
|
|
114
|
-
</>
|
|
115
|
-
) : (
|
|
116
|
-
<Price>
|
|
117
|
-
<OText size={12} lineHeight={18}>
|
|
118
|
-
{parsePrice(order?.summary?.total || order?.total)}
|
|
119
|
-
</OText>
|
|
120
|
-
</Price>
|
|
121
|
-
)}
|
|
122
|
-
|
|
123
|
-
</OrderInformation>
|
|
124
|
-
</Information>
|
|
125
|
-
</Card >
|
|
126
|
-
</React.Fragment >
|
|
127
|
-
);
|
|
128
26
|
|
|
129
27
|
return (
|
|
130
28
|
<>
|
|
131
29
|
<ActiveOrdersContainer isMiniCards={configs?.google_maps_api_key?.value}>
|
|
132
30
|
{orders.length > 0 &&
|
|
133
31
|
orders.map((order: any, index: any) => (
|
|
134
|
-
<
|
|
32
|
+
<SingleOrderCard
|
|
33
|
+
key={index}
|
|
34
|
+
order={order}
|
|
35
|
+
handleClickOrder={handleClickOrder}
|
|
36
|
+
isMessageView={isMessageView}
|
|
37
|
+
getOrderStatus={getOrderStatus}
|
|
38
|
+
onNavigationRedirect={onNavigationRedirect}
|
|
39
|
+
handleUpdateOrderList={handleUpdateOrderList}
|
|
40
|
+
/>
|
|
135
41
|
))}
|
|
136
42
|
</ActiveOrdersContainer>
|
|
137
43
|
<View
|
|
@@ -144,26 +50,3 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
|
|
|
144
50
|
</>
|
|
145
51
|
);
|
|
146
52
|
};
|
|
147
|
-
|
|
148
|
-
const styles = StyleSheet.create({
|
|
149
|
-
logo: {
|
|
150
|
-
borderRadius: 7.6,
|
|
151
|
-
width: 64,
|
|
152
|
-
height: 64,
|
|
153
|
-
},
|
|
154
|
-
orderNumber: {
|
|
155
|
-
flexDirection: 'row',
|
|
156
|
-
marginVertical: 3,
|
|
157
|
-
},
|
|
158
|
-
loadOrders: {
|
|
159
|
-
justifyContent: 'center',
|
|
160
|
-
alignItems: 'center',
|
|
161
|
-
minWidth: 230,
|
|
162
|
-
},
|
|
163
|
-
loadMoreButton: {
|
|
164
|
-
width: '100%',
|
|
165
|
-
marginLeft: 'auto',
|
|
166
|
-
marginRight: 'auto',
|
|
167
|
-
borderRadius: 7.6
|
|
168
|
-
},
|
|
169
|
-
});
|
|
@@ -3,57 +3,3 @@ import styled from 'styled-components/native'
|
|
|
3
3
|
export const ActiveOrdersContainer = styled.View`
|
|
4
4
|
margin-bottom: 20px;
|
|
5
5
|
`
|
|
6
|
-
|
|
7
|
-
export const Card = styled.TouchableOpacity`
|
|
8
|
-
`
|
|
9
|
-
|
|
10
|
-
export const Map = styled.View`
|
|
11
|
-
flex: 1;
|
|
12
|
-
height: 125px;
|
|
13
|
-
margin-bottom: 10px;
|
|
14
|
-
`
|
|
15
|
-
|
|
16
|
-
export const Information = styled.View`
|
|
17
|
-
flex-direction: row;
|
|
18
|
-
height: 100px;
|
|
19
|
-
align-items: center;
|
|
20
|
-
padding-vertical: 5px;
|
|
21
|
-
`
|
|
22
|
-
|
|
23
|
-
export const Logo = styled.View`
|
|
24
|
-
border-radius: 7.6px;
|
|
25
|
-
box-shadow: 0 1px 2px #0000001A;
|
|
26
|
-
`
|
|
27
|
-
|
|
28
|
-
export const OrderInformation = styled.View`
|
|
29
|
-
flex-direction: row;
|
|
30
|
-
justify-content: space-between;
|
|
31
|
-
flex: 1;
|
|
32
|
-
padding-left: 14px;
|
|
33
|
-
`
|
|
34
|
-
|
|
35
|
-
export const BusinessInformation = styled.View`
|
|
36
|
-
flex-basis: 65%;
|
|
37
|
-
`
|
|
38
|
-
|
|
39
|
-
export const Price = styled.View`
|
|
40
|
-
justify-content: space-between;
|
|
41
|
-
align-items: flex-end;
|
|
42
|
-
margin-left: 10px;
|
|
43
|
-
width: 30%;
|
|
44
|
-
`
|
|
45
|
-
|
|
46
|
-
export const UnreadMessageCounter = styled.View`
|
|
47
|
-
justify-content: center;
|
|
48
|
-
align-items: center;
|
|
49
|
-
margin-left: 10px;
|
|
50
|
-
width: 24px;
|
|
51
|
-
height: 24px;
|
|
52
|
-
border-radius: 7.6px;
|
|
53
|
-
background-color: ${(props: any) => props.theme.colors.primaryContrast};
|
|
54
|
-
`
|
|
55
|
-
export const LoadMore = styled.View`
|
|
56
|
-
flex-direction: row;
|
|
57
|
-
justify-content: center;
|
|
58
|
-
margin-top: 10px;
|
|
59
|
-
`
|