ordering-ui-react-native 0.21.16 → 0.21.17-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -6
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/PaymentOptionsWebView/index.tsx +1 -0
- package/src/components/StripeMethodForm/index.tsx +4 -4
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/types/index.tsx +2 -1
- package/src/utils/index.tsx +2 -2
- package/themes/business/index.tsx +4 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -2
- package/themes/business/src/components/BusinessController/index.tsx +19 -17
- package/themes/business/src/components/BusinessProductList/AccordionDropdown.tsx +63 -0
- package/themes/business/src/components/BusinessProductList/IterateCategories.tsx +108 -0
- package/themes/business/src/components/BusinessProductList/ProductList.tsx +196 -0
- package/themes/business/src/components/BusinessProductList/index.tsx +196 -0
- package/themes/business/src/components/BusinessProductList/styles.tsx +10 -0
- package/themes/business/src/components/Chat/index.tsx +41 -13
- package/themes/business/src/components/DriverMap/index.tsx +4 -3
- package/themes/business/src/components/DriverSchedule/index.tsx +5 -5
- package/themes/business/src/components/FloatingButton/index.tsx +34 -31
- package/themes/business/src/components/Home/index.tsx +5 -1
- package/themes/business/src/components/MapView/index.tsx +11 -7
- package/themes/business/src/components/MessagesOption/index.tsx +22 -94
- package/themes/business/src/components/NewOrderNotification/index.tsx +163 -113
- package/themes/business/src/components/OrderDetails/Business.tsx +50 -2
- package/themes/business/src/components/OrderDetails/Delivery.tsx +23 -11
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +60 -53
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +54 -23
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +220 -0
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +6 -1
- package/themes/business/src/components/OrderSummary/index.tsx +240 -76
- package/themes/business/src/components/OrdersListManager/index.tsx +7 -2
- package/themes/business/src/components/OrdersListManager/utils.tsx +1 -1
- package/themes/business/src/components/OrdersOption/index.tsx +125 -48
- 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 +41 -38
- package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -0
- package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +1 -1
- package/themes/business/src/components/PreviousOrders/index.tsx +194 -220
- package/themes/business/src/components/PreviousOrders/styles.tsx +10 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +279 -0
- package/themes/business/src/components/PrinterSettings/styles.tsx +17 -0
- package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/SearchBar/index.tsx +2 -1
- package/themes/business/src/components/Sessions/index.tsx +187 -0
- package/themes/business/src/components/Sessions/styles.tsx +20 -0
- package/themes/business/src/components/StoresList/index.tsx +5 -3
- package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
- package/themes/business/src/components/UserProfileForm/index.tsx +98 -43
- package/themes/business/src/components/WebsocketStatus/index.tsx +171 -0
- package/themes/business/src/components/WebsocketStatus/styles.tsx +28 -0
- package/themes/business/src/components/shared/OInput.tsx +2 -0
- package/themes/business/src/hooks/useLocation.tsx +5 -4
- package/themes/business/src/types/index.tsx +21 -1
- 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/LoginForm/index.tsx +124 -96
- 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/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +9 -4
- package/themes/original/src/components/AddressDetails/index.tsx +20 -10
- package/themes/original/src/components/AddressForm/index.tsx +10 -6
- package/themes/original/src/components/AddressForm/styles.tsx +1 -1
- package/themes/original/src/components/AddressList/index.tsx +4 -7
- package/themes/original/src/components/AddressList/styles.tsx +4 -4
- package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/styles.tsx +1 -1
- package/themes/original/src/components/BusinessController/index.tsx +20 -12
- package/themes/original/src/components/BusinessController/styles.tsx +8 -7
- package/themes/original/src/components/BusinessInformation/styles.tsx +2 -2
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +11 -7
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +317 -0
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +96 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +1 -1
- package/themes/original/src/components/BusinessListingSearch/index.tsx +56 -361
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +1 -1
- package/themes/original/src/components/BusinessPreorder/index.tsx +2 -3
- package/themes/original/src/components/BusinessProductsCategories/index.tsx +1 -1
- package/themes/original/src/components/BusinessProductsList/index.tsx +3 -3
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +51 -20
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +3 -4
- package/themes/original/src/components/BusinessReviews/index.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +5 -5
- package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +24 -404
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +32 -9
- package/themes/original/src/components/CartContent/index.tsx +96 -58
- package/themes/original/src/components/CartStoresListing/styles.tsx +2 -2
- package/themes/original/src/components/Checkout/index.tsx +190 -66
- package/themes/original/src/components/Checkout/styles.tsx +17 -0
- package/themes/original/src/components/CitiesControl/styles.tsx +1 -1
- package/themes/original/src/components/DatePicker/index.tsx +33 -0
- package/themes/original/src/components/DatePicker/styles.tsx +20 -0
- package/themes/original/src/components/Favorite/index.tsx +4 -9
- package/themes/original/src/components/Favorite/styles.tsx +0 -2
- package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
- package/themes/original/src/components/GPSButton/index.tsx +1 -1
- package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
- package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +8 -3
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +36 -3
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +1 -1
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +67 -4
- package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +1 -1
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +2 -2
- package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +1 -1
- package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
- package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +83 -0
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
- package/themes/original/src/components/GoogleMap/index.tsx +6 -5
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +2 -2
- package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +2 -1
- package/themes/original/src/components/LastOrder/index.tsx +2 -1
- package/themes/original/src/components/LastOrders/index.tsx +2 -1
- package/themes/original/src/components/LoginForm/Otp/index.tsx +4 -16
- package/themes/original/src/components/Messages/index.tsx +9 -4
- package/themes/original/src/components/Messages/styles.tsx +1 -1
- package/themes/original/src/components/MomentOption/index.tsx +3 -3
- package/themes/original/src/components/MultiCart/index.tsx +1 -1
- package/themes/original/src/components/MultiCheckout/index.tsx +208 -21
- package/themes/original/src/components/MultiCheckout/styles.tsx +17 -0
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -15
- package/themes/original/src/components/MyOrders/index.tsx +24 -29
- package/themes/original/src/components/NavBar/index.tsx +3 -1
- package/themes/original/src/components/NetworkError/index.tsx +2 -3
- package/themes/original/src/components/NetworkError/styles.tsx +2 -2
- package/themes/original/src/components/Notifications/index.tsx +4 -8
- package/themes/original/src/components/Notifications/styles.tsx +0 -1
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +1 -1
- package/themes/original/src/components/OrderDetails/index.tsx +716 -668
- package/themes/original/src/components/OrderDetails/styles.tsx +24 -8
- package/themes/original/src/components/OrderProgress/index.tsx +28 -6
- package/themes/original/src/components/OrderProgress/styles.tsx +1 -1
- package/themes/original/src/components/OrderSummary/index.tsx +3 -1
- package/themes/original/src/components/OrderTypeSelector/index.tsx +5 -6
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +1 -1
- package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +1 -1
- package/themes/original/src/components/OrdersOption/index.tsx +3 -5
- package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
- package/themes/original/src/components/PageBanner/index.tsx +3 -0
- package/themes/original/src/components/PaymentOptionCard/index.tsx +4 -2
- package/themes/original/src/components/PaymentOptionStripe/styles.tsx +3 -0
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +72 -6
- package/themes/original/src/components/PhoneInputNumber/index.tsx +15 -1
- package/themes/original/src/components/ProductForm/ActionButton.tsx +120 -0
- package/themes/original/src/components/ProductForm/ExtraOptions.tsx +56 -0
- package/themes/original/src/components/ProductForm/index.tsx +74 -165
- package/themes/original/src/components/ProductItemAccordion/index.tsx +54 -44
- package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +123 -82
- package/themes/original/src/components/ProductOptionSubOption/styles.tsx +6 -1
- package/themes/original/src/components/ProfessionalProfile/styles.tsx +3 -3
- package/themes/original/src/components/Promotions/index.tsx +4 -4
- package/themes/original/src/components/Promotions/styles.tsx +0 -2
- package/themes/original/src/components/ReviewDriver/styles.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/styles.tsx +1 -1
- package/themes/original/src/components/ReviewProducts/styles.tsx +1 -1
- package/themes/original/src/components/ServiceForm/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/styles.tsx +4 -4
- package/themes/original/src/components/SingleOrderCard/index.tsx +5 -4
- package/themes/original/src/components/SingleProductCard/index.tsx +2 -2
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +17 -36
- package/themes/original/src/components/StripeElementsForm/index.tsx +9 -4
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +170 -0
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +86 -0
- package/themes/original/src/components/UpsellingProducts/index.tsx +15 -199
- package/themes/original/src/components/UpsellingProducts/styles.tsx +19 -0
- package/themes/original/src/components/UserFormDetails/index.tsx +54 -8
- package/themes/original/src/components/UserFormDetails/styles.tsx +7 -0
- package/themes/original/src/components/UserProfile/index.tsx +3 -2
- package/themes/original/src/components/UserProfileForm/index.tsx +30 -36
- package/themes/original/src/components/UserVerification/index.tsx +3 -1
- package/themes/original/src/components/WalletTransactions/styles.tsx +1 -0
- package/themes/original/src/components/Wallets/index.tsx +8 -9
- package/themes/original/src/components/Wallets/styles.tsx +1 -1
- package/themes/original/src/components/WebsocketStatus/index.tsx +172 -0
- package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
- package/themes/original/src/components/shared/HeaderTitle.tsx +1 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -5
- package/themes/original/src/components/shared/OInput.tsx +1 -4
- package/themes/original/src/components/shared/OModal.tsx +12 -14
- package/themes/original/src/layouts/Container.tsx +5 -3
- package/themes/original/src/types/index.tsx +2 -0
- package/themes/original/src/utils/index.tsx +124 -0
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
- package/src/navigators/BottomNavigator.tsx +0 -117
- package/src/navigators/CheckoutNavigator.tsx +0 -66
- package/src/navigators/HomeNavigator.tsx +0 -202
- package/src/navigators/NavigationRef.tsx +0 -7
- package/src/navigators/RootNavigator.tsx +0 -269
- package/src/pages/Account.tsx +0 -34
- package/src/pages/AddressForm.tsx +0 -62
- package/src/pages/AddressList.tsx +0 -24
- package/src/pages/BusinessProductsList.tsx +0 -81
- package/src/pages/BusinessesListing.tsx +0 -43
- package/src/pages/CartList.tsx +0 -49
- package/src/pages/Checkout.tsx +0 -101
- package/src/pages/ForgotPassword.tsx +0 -24
- package/src/pages/Help.tsx +0 -23
- package/src/pages/HelpAccountAndPayment.tsx +0 -23
- package/src/pages/HelpGuide.tsx +0 -23
- package/src/pages/HelpOrder.tsx +0 -23
- package/src/pages/Home.tsx +0 -36
- package/src/pages/IntroductoryTutorial.tsx +0 -170
- package/src/pages/Login.tsx +0 -47
- package/src/pages/MomentOption.tsx +0 -30
- package/src/pages/MultiCheckout.tsx +0 -31
- package/src/pages/MultiOrdersDetails.tsx +0 -27
- package/src/pages/MyOrders.tsx +0 -40
- package/src/pages/NetworkError.tsx +0 -24
- package/src/pages/NotFound.tsx +0 -22
- package/src/pages/OrderDetails.tsx +0 -25
- package/src/pages/ProductDetails.tsx +0 -55
- package/src/pages/Profile.tsx +0 -36
- package/src/pages/ReviewDriver.tsx +0 -30
- package/src/pages/ReviewOrder.tsx +0 -32
- package/src/pages/ReviewProducts.tsx +0 -30
- package/src/pages/Sessions.tsx +0 -22
- package/src/pages/Signup.tsx +0 -53
- package/src/pages/SpinnerLoader.tsx +0 -10
- package/src/pages/Splash.tsx +0 -21
|
@@ -61,9 +61,14 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
61
61
|
const [, { showToast }] = useToast();
|
|
62
62
|
const [{ parsePrice, parseNumber }] = useUtils();
|
|
63
63
|
const [{ configs }] = useConfig();
|
|
64
|
+
|
|
64
65
|
const { order } = props.order
|
|
65
66
|
|
|
67
|
+
const hideTimer = configs?.hidden_driver_eta_time?.value === '1'
|
|
66
68
|
const isAllowedDriverRejectOrder = configs?.allow_driver_reject_order?.value === '1'
|
|
69
|
+
const isHideRejectButtons = configs?.reject_orders_enabled && configs?.reject_orders_enabled?.value !== '1'
|
|
70
|
+
const isEnabledOrderNotReady = configs?.order_not_ready_enabled?.value === '1'
|
|
71
|
+
const isEnabledFailedPickupDriver = configs?.failed_pickup_by_driver_enabled?.value === '1'
|
|
67
72
|
const theme = useTheme();
|
|
68
73
|
const [, t] = useLanguage();
|
|
69
74
|
const [session] = useSession();
|
|
@@ -88,9 +93,9 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
88
93
|
const logisticOrderStatus = [4, 6, 7]
|
|
89
94
|
|
|
90
95
|
const showFloatButtonsPickUp: any = {
|
|
91
|
-
8:
|
|
96
|
+
8: !isHideRejectButtons,
|
|
92
97
|
3: true,
|
|
93
|
-
18:
|
|
98
|
+
18: !isHideRejectButtons,
|
|
94
99
|
};
|
|
95
100
|
|
|
96
101
|
const showFloatButtonsAcceptOrReject: any = {
|
|
@@ -113,6 +118,10 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
113
118
|
readMessages && readMessages();
|
|
114
119
|
};
|
|
115
120
|
|
|
121
|
+
const goToPermissionPage = () => {
|
|
122
|
+
navigation.navigate('RequestPermissions')
|
|
123
|
+
}
|
|
124
|
+
|
|
116
125
|
const handleOpenMapView = async () => {
|
|
117
126
|
if (!isGrantedPermissions) {
|
|
118
127
|
navigation.navigate('RequestPermissions')
|
|
@@ -387,7 +396,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
387
396
|
}, [props.order?.loading]);
|
|
388
397
|
|
|
389
398
|
useEffect(() => {
|
|
390
|
-
if (
|
|
399
|
+
if (order?.driver_id === null && session?.user?.level === 4) {
|
|
391
400
|
setAlertState({
|
|
392
401
|
open: true,
|
|
393
402
|
content: [
|
|
@@ -476,13 +485,13 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
476
485
|
textStyle={{ color: theme.colors.primary }}
|
|
477
486
|
text={t('ARRIVED_TO_BUSINESS', 'Arrived to bussiness')}
|
|
478
487
|
onClick={() =>
|
|
479
|
-
handleChangeOrderStatus && handleChangeOrderStatus(3)
|
|
488
|
+
handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(3) : goToPermissionPage()
|
|
480
489
|
}
|
|
481
490
|
imgLeftStyle={{ tintColor: theme.colors.backArrow }}
|
|
482
491
|
/>
|
|
483
492
|
</Pickup>
|
|
484
493
|
)}
|
|
485
|
-
{order?.status === 3 && order?.delivery_type === 1 && (
|
|
494
|
+
{order?.status === 3 && order?.delivery_type === 1 && !isHideRejectButtons && isEnabledOrderNotReady && (
|
|
486
495
|
<View style={{ paddingVertical: 20, marginBottom: 20 }}>
|
|
487
496
|
<OButton
|
|
488
497
|
style={styles.btnPickUp}
|
|
@@ -568,7 +577,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
568
577
|
btnText={t('PICKUP_FAILED', 'Pickup failed')}
|
|
569
578
|
isSecondaryBtn={false}
|
|
570
579
|
secondButtonClick={() =>
|
|
571
|
-
handleChangeOrderStatus && handleChangeOrderStatus(9)
|
|
580
|
+
handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(9) : goToPermissionPage()
|
|
572
581
|
}
|
|
573
582
|
firstButtonClick={() =>
|
|
574
583
|
handleViewActionOrder && handleViewActionOrder('pickupFailed')
|
|
@@ -577,7 +586,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
577
586
|
secondButton={true}
|
|
578
587
|
firstColorCustom={theme.colors.red}
|
|
579
588
|
secondColorCustom={theme.colors.green}
|
|
580
|
-
widthButton={'45%'}
|
|
589
|
+
widthButton={isHideRejectButtons || !isEnabledFailedPickupDriver ? '100%' : '45%'}
|
|
590
|
+
isHideRejectButtons={isHideRejectButtons || !isEnabledFailedPickupDriver}
|
|
581
591
|
/>
|
|
582
592
|
)}
|
|
583
593
|
{(validStatusComplete.includes(order?.status)) && (
|
|
@@ -587,7 +597,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
587
597
|
btnText={t('DELIVERY_FAILED', 'Delivery Failed')}
|
|
588
598
|
isSecondaryBtn={false}
|
|
589
599
|
secondButtonClick={() =>
|
|
590
|
-
handleChangeOrderStatus && handleChangeOrderStatus(11)
|
|
600
|
+
handleChangeOrderStatus && isGrantedPermissions ? handleChangeOrderStatus(11) : goToPermissionPage()
|
|
591
601
|
}
|
|
592
602
|
firstButtonClick={() =>
|
|
593
603
|
handleViewActionOrder && handleViewActionOrder('deliveryFailed')
|
|
@@ -596,7 +606,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
596
606
|
secondButton={true}
|
|
597
607
|
firstColorCustom={theme.colors.red}
|
|
598
608
|
secondColorCustom={theme.colors.green}
|
|
599
|
-
widthButton={'45%'}
|
|
609
|
+
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
610
|
+
isHideRejectButtons={isHideRejectButtons}
|
|
600
611
|
/>
|
|
601
612
|
</>
|
|
602
613
|
)}
|
|
@@ -604,13 +615,14 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
604
615
|
<FloatingButton
|
|
605
616
|
btnText={t('REJECT', 'Reject')}
|
|
606
617
|
isSecondaryBtn={false}
|
|
607
|
-
secondButtonClick={() => (order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status))) ? handleAcceptLogisticOrder(order) : handleViewActionOrder('accept')}
|
|
618
|
+
secondButtonClick={() => hideTimer ? handleChangeOrderStatus && handleChangeOrderStatus(8) : (order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status))) ? handleAcceptLogisticOrder(order) : handleViewActionOrder('accept')}
|
|
608
619
|
firstButtonClick={() => order?.isLogistic && (order?.order_group || logisticOrderStatus.includes(order?.status)) ? handleRejectLogisticOrder() : handleViewActionOrder('reject')}
|
|
609
620
|
secondBtnText={t('ACCEPT', 'Accept')}
|
|
610
621
|
secondButton={true}
|
|
611
622
|
firstColorCustom={theme.colors.red}
|
|
612
623
|
secondColorCustom={theme.colors.green}
|
|
613
|
-
widthButton={'45%'}
|
|
624
|
+
widthButton={isHideRejectButtons ? '100%' : '45%'}
|
|
625
|
+
isHideRejectButtons={isHideRejectButtons}
|
|
614
626
|
/>
|
|
615
627
|
)}
|
|
616
628
|
</>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react'
|
|
2
2
|
|
|
3
3
|
import { Platform, StyleSheet, View, TouchableOpacity, ScrollView } from 'react-native';
|
|
4
|
+
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
4
5
|
|
|
5
6
|
import { OButton, OText, OLink, OModal } from '../shared'
|
|
6
7
|
import {
|
|
@@ -53,6 +54,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
53
54
|
const WIDTH_SCREEN = orientationState?.dimensions?.width
|
|
54
55
|
|
|
55
56
|
const [openReviewModal, setOpenReviewModal] = useState(false)
|
|
57
|
+
const [showCustomFields, setShowCustomFields] = useState<boolean>(false);
|
|
56
58
|
|
|
57
59
|
const [isReadMore, setIsReadMore] = useState({
|
|
58
60
|
customerAddress: false,
|
|
@@ -111,6 +113,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
111
113
|
}
|
|
112
114
|
|
|
113
115
|
const containsOnlyNumbers = (str: string) => {
|
|
116
|
+
str = str?.replace('+', '');
|
|
114
117
|
return /^\d+$/.test(str);
|
|
115
118
|
}
|
|
116
119
|
|
|
@@ -133,27 +136,36 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
133
136
|
|
|
134
137
|
{order?.metafields?.length > 0 && (
|
|
135
138
|
<OrderBusiness>
|
|
136
|
-
<
|
|
137
|
-
{
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
139
|
+
<TouchableOpacity onPress={() => setShowCustomFields((prev: boolean) => !prev)} style={{ flexDirection: 'row', width: '100%', justifyContent: 'space-between', alignItems: 'flex-start' }}>
|
|
140
|
+
<OText style={{ marginBottom: 5 }} size={16} weight="600">
|
|
141
|
+
{t('CUSTOM_FIELDS', 'Custom fields')}
|
|
142
|
+
</OText>
|
|
143
|
+
<AntDesignIcon
|
|
144
|
+
name={showCustomFields ? 'up' : 'down'}
|
|
145
|
+
size={14}
|
|
146
|
+
/>
|
|
147
|
+
</TouchableOpacity>
|
|
148
|
+
{showCustomFields && (
|
|
149
|
+
<>
|
|
150
|
+
{order.metafields.map((field: any) => (
|
|
151
|
+
<View
|
|
152
|
+
key={field.id}
|
|
153
|
+
style={{
|
|
154
|
+
width: '100%',
|
|
155
|
+
flexDirection: 'row',
|
|
156
|
+
marginBottom: 5
|
|
157
|
+
}}
|
|
158
|
+
>
|
|
159
|
+
<OText style={{ width: '50%' }}>
|
|
160
|
+
{field.key}
|
|
161
|
+
</OText>
|
|
162
|
+
<OText style={{ width: '45%', textAlign: 'right' }}>
|
|
163
|
+
{field.value}
|
|
164
|
+
</OText>
|
|
165
|
+
</View>
|
|
166
|
+
))}
|
|
167
|
+
</>
|
|
168
|
+
)}
|
|
157
169
|
</OrderBusiness>
|
|
158
170
|
)}
|
|
159
171
|
|
|
@@ -183,7 +195,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
183
195
|
<OLink
|
|
184
196
|
PressStyle={styles.linkWithIcons}
|
|
185
197
|
url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.cellphone : 'invalid'}`}
|
|
186
|
-
shorcut={`${order?.business?.cellphone}`}
|
|
198
|
+
shorcut={`${(!!order?.business?.country_phone_code && !order?.business?.cellphone?.includes('+')) ? '+' + order?.business?.country_phone_code : ''}${order?.business?.cellphone}`}
|
|
187
199
|
TextStyle={styles.textLink}
|
|
188
200
|
/>
|
|
189
201
|
</View>
|
|
@@ -193,8 +205,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
193
205
|
<View style={styles.linkWithIcons}>
|
|
194
206
|
<OLink
|
|
195
207
|
PressStyle={styles.linkWithIcons}
|
|
196
|
-
url={`tel:${containsOnlyNumbers(order?.business?.
|
|
197
|
-
shorcut={order?.business?.phone}
|
|
208
|
+
url={`tel:${containsOnlyNumbers(order?.business?.phone) ? order?.business?.phone : 'invalid'}`}
|
|
209
|
+
shorcut={`${(!!order?.business?.country_phone_code && !order?.business?.phone?.includes('+')) ? '+' + order?.business?.country_phone_code : ''}${order?.business?.phone}`}
|
|
198
210
|
TextStyle={styles.textLink}
|
|
199
211
|
/>
|
|
200
212
|
</View>
|
|
@@ -207,8 +219,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
207
219
|
<OLink
|
|
208
220
|
PressStyle={styles.linkWithIcons}
|
|
209
221
|
url={Platform.select({
|
|
210
|
-
ios: `maps:0,0?q=${order?.business?.address}`,
|
|
211
|
-
android: `geo:0,0?q=${order?.business?.address}`,
|
|
222
|
+
ios: `maps:0,0?q=${order?.business?.address}@${order?.business?.location?.lat},${order?.business?.location?.lng}`,
|
|
223
|
+
android: `geo:0,0?q=${order?.business?.address}@${order?.business?.location?.lat},${order?.business?.location?.lng}`,
|
|
212
224
|
})}
|
|
213
225
|
numberOfLines={2}
|
|
214
226
|
shorcut={order?.business?.address}
|
|
@@ -227,8 +239,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
227
239
|
<OLink
|
|
228
240
|
PressStyle={styles.linkWithIcons}
|
|
229
241
|
url={Platform.select({
|
|
230
|
-
ios: `maps:0,0?q=${order?.business?.address_notes}`,
|
|
231
|
-
android: `geo:0,0?q=${order?.business?.address_notes}`,
|
|
242
|
+
ios: `maps:0,0?q=${order?.business?.address_notes}@${order?.business?.location?.lat},${order?.business?.location?.lng}`,
|
|
243
|
+
android: `geo:0,0?q=${order?.business?.address_notes}@${order?.business?.location?.lat},${order?.business?.location?.lng}`,
|
|
232
244
|
})}
|
|
233
245
|
shorcut={order?.business?.address_notes}
|
|
234
246
|
TextStyle={styles.textLink}
|
|
@@ -325,7 +337,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
325
337
|
<OLink
|
|
326
338
|
PressStyle={styles.linkWithIcons}
|
|
327
339
|
url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.cellphone) ? order?.customer?.cellphone : 'invalid'}`}
|
|
328
|
-
shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''}
|
|
340
|
+
shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''}${order?.customer?.cellphone}`}
|
|
329
341
|
TextStyle={styles.textLink}
|
|
330
342
|
/>
|
|
331
343
|
</View>
|
|
@@ -335,8 +347,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
335
347
|
<View style={styles.linkWithIcons}>
|
|
336
348
|
<OLink
|
|
337
349
|
PressStyle={styles.linkWithIcons}
|
|
338
|
-
url={`tel:${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
|
|
339
|
-
shorcut={order?.customer?.phone}
|
|
350
|
+
url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
|
|
351
|
+
shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''}${order?.customer?.phone}`}
|
|
340
352
|
TextStyle={styles.textLink}
|
|
341
353
|
/>
|
|
342
354
|
</View>
|
|
@@ -348,8 +360,8 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
348
360
|
<OLink
|
|
349
361
|
PressStyle={{ ...styles.linkWithIcons, marginBottom: 0 }}
|
|
350
362
|
url={Platform.select({
|
|
351
|
-
ios: `maps:0,0?q=${order?.customer?.address}`,
|
|
352
|
-
android: `geo:0,0?q=${order?.customer?.address}`,
|
|
363
|
+
ios: `maps:0,0?q=${order?.customer?.address}@${order?.customer?.location?.lat},${order?.customer?.location?.lng}`,
|
|
364
|
+
android: `geo:0,0?q=${order?.customer?.address}@${order?.customer?.location?.lat},${order?.customer?.location?.lng}`,
|
|
353
365
|
})}
|
|
354
366
|
onTextLayout={e => onTextLayout(e, 'customerAddress')}
|
|
355
367
|
numberOfLines={isReadMore.customerAddress ? 20 : 2}
|
|
@@ -396,23 +408,13 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
396
408
|
{t('ON_BEHALF_OF', 'On behalf of')}{': '} {order?.on_behalf_of}
|
|
397
409
|
</OText>
|
|
398
410
|
)}
|
|
399
|
-
{(
|
|
411
|
+
{(order?.delivery_option !== undefined && order?.delivery_type === 1) && (
|
|
400
412
|
<View style={{ marginTop: 10 }}>
|
|
401
413
|
{order?.delivery_option !== undefined && order?.delivery_type === 1 && (
|
|
402
414
|
<OText>
|
|
403
415
|
{t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
|
|
404
416
|
</OText>
|
|
405
417
|
)}
|
|
406
|
-
{!!order?.comment && (
|
|
407
|
-
<>
|
|
408
|
-
<OText weight='500' style={{ marginBottom: 5 }}>
|
|
409
|
-
{t('ORDER_COMMENT', 'Order Comment')}
|
|
410
|
-
</OText>
|
|
411
|
-
<OText style={{ fontStyle: 'italic', opacity: 0.6, marginBottom: 20 }}>
|
|
412
|
-
{order?.comment}
|
|
413
|
-
</OText>
|
|
414
|
-
</>
|
|
415
|
-
)}
|
|
416
418
|
</View>
|
|
417
419
|
)}
|
|
418
420
|
{!order?.user_review && pastOrderStatuses.includes(order?.status) && (
|
|
@@ -427,10 +429,16 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
427
429
|
</OrderCustomer>
|
|
428
430
|
|
|
429
431
|
<OrderProducts>
|
|
430
|
-
<OText style={{ marginBottom:
|
|
432
|
+
<OText style={{ marginBottom: 10 }} size={16} weight="600">
|
|
431
433
|
{t('ORDER_DETAILS', 'Order Details')}
|
|
432
434
|
</OText>
|
|
433
435
|
|
|
436
|
+
{!!order?.comment && (
|
|
437
|
+
<OText>
|
|
438
|
+
{`${t('ORDER_COMMENT', 'Order Comment')}: ${order?.comment}`}
|
|
439
|
+
</OText>
|
|
440
|
+
)}
|
|
441
|
+
|
|
434
442
|
{order?.products?.length > 0 &&
|
|
435
443
|
order?.products.map((product: any, i: number) => (
|
|
436
444
|
<ProductItemAccordion
|
|
@@ -549,7 +557,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
549
557
|
))
|
|
550
558
|
}
|
|
551
559
|
{
|
|
552
|
-
typeof order?.summary?.delivery_price === 'number' && (
|
|
560
|
+
typeof order?.summary?.delivery_price === 'number' && order.delivery_type !== 2 && (
|
|
553
561
|
<Table>
|
|
554
562
|
<OText mBottom={4}>
|
|
555
563
|
{t('DELIVERY_FEE', 'Delivery Fee')}
|
|
@@ -576,7 +584,7 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
576
584
|
</Table>
|
|
577
585
|
))
|
|
578
586
|
}
|
|
579
|
-
{(order?.summary?.driver_tip > 0 || order?.driver_tip > 0) && (
|
|
587
|
+
{(order?.summary?.driver_tip > 0 || order?.driver_tip > 0) && order.delivery_type !== 2 && (
|
|
580
588
|
<Table>
|
|
581
589
|
<OText mBottom={4}>
|
|
582
590
|
{t('DRIVER_TIP', 'Driver tip')}
|
|
@@ -634,13 +642,12 @@ export const OrderContentComponent = (props: OrderContent) => {
|
|
|
634
642
|
<OText>
|
|
635
643
|
{event?.wallet_event
|
|
636
644
|
? walletName[event?.wallet_event?.wallet?.type]?.name
|
|
637
|
-
:
|
|
645
|
+
: event?.paymethod?.gateway
|
|
646
|
+
? t(event?.paymethod?.gateway?.toUpperCase(), event?.paymethod?.name)
|
|
647
|
+
: order?.paymethod?.id === event?.paymethod_id
|
|
648
|
+
? t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)
|
|
649
|
+
: ''}
|
|
638
650
|
</OText>
|
|
639
|
-
{/* {event?.data?.charge_id && (
|
|
640
|
-
<OText>
|
|
641
|
-
{`${t('CODE', 'Code')}: ${event?.data?.charge_id}`}
|
|
642
|
-
</OText>
|
|
643
|
-
)} */}
|
|
644
651
|
</View>
|
|
645
652
|
<OText>
|
|
646
653
|
{(event?.paymethod?.gateway === 'cash' && order?.cash)
|
|
@@ -49,7 +49,8 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
49
49
|
} = props
|
|
50
50
|
const theme = useTheme();
|
|
51
51
|
const [, t] = useLanguage();
|
|
52
|
-
const [{ parseDate }] = useUtils();
|
|
52
|
+
const [{ parseDate, parsePrice }] = useUtils();
|
|
53
|
+
const paymethodsLength = order?.payment_events?.filter((item: any) => item.event === 'payment')?.length
|
|
53
54
|
|
|
54
55
|
const styles = StyleSheet.create({
|
|
55
56
|
icons: {
|
|
@@ -120,6 +121,30 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
120
121
|
? t('CURBSIDE', 'Curbside')
|
|
121
122
|
: t('DRIVER_THRU', 'Driver thru')
|
|
122
123
|
|
|
124
|
+
const handlePaymethodsListString = () => {
|
|
125
|
+
const paymethodsList = order?.payment_events?.filter((item: any) => item.event === 'payment').map((paymethod: any) => {
|
|
126
|
+
return paymethod?.wallet_event
|
|
127
|
+
? walletName[paymethod?.wallet_event?.wallet?.type]?.name
|
|
128
|
+
: paymethod?.paymethod?.gateway && paymethod?.paymethod?.gateway === 'cash' && order?.cash > 0
|
|
129
|
+
? `${t(paymethod?.paymethod?.gateway?.toUpperCase(), paymethod?.paymethod?.name)} (${t('CASH_CHANGE_OF', 'Change of :amount:').replace(':amount:', parsePrice(order?.cash))})`
|
|
130
|
+
: paymethod?.paymethod?.gateway
|
|
131
|
+
? t(paymethod?.paymethod?.gateway?.toUpperCase(), paymethod?.paymethod?.name)
|
|
132
|
+
: t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)
|
|
133
|
+
})
|
|
134
|
+
return paymethodsList.join(', ')
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const deliveryDate = () => {
|
|
138
|
+
const dateString = order?.delivery_datetime_utc ?? order?.delivery_datetime
|
|
139
|
+
const currentDate = new Date();
|
|
140
|
+
const receivedDate: any = new Date(order?.delivery_datetime);
|
|
141
|
+
|
|
142
|
+
const formattedDate = receivedDate <= currentDate
|
|
143
|
+
? `${t('ASAP_ABBREVIATION', 'ASAP')}(${parseDate(dateString, { utc: !!order?.delivery_datetime_utc })})`
|
|
144
|
+
: parseDate(dateString, { utc: !!order?.delivery_datetime_utc })
|
|
145
|
+
return formattedDate
|
|
146
|
+
}
|
|
147
|
+
|
|
123
148
|
return (
|
|
124
149
|
<>
|
|
125
150
|
{!props.isCustomView && (
|
|
@@ -182,16 +207,12 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
182
207
|
<OrderHeader>
|
|
183
208
|
{!props.isCustomView ? (
|
|
184
209
|
<OText size={13} style={{ marginBottom: 5 }}>
|
|
185
|
-
{
|
|
186
|
-
? parseDate(order?.delivery_datetime_utc)
|
|
187
|
-
: parseDate(order?.delivery_datetime, { utc: false })}
|
|
210
|
+
{deliveryDate()}
|
|
188
211
|
</OText>
|
|
189
212
|
) : (
|
|
190
213
|
<Header style={{ alignItems: 'center' }}>
|
|
191
214
|
<OText size={13} style={{ marginBottom: 5 }}>
|
|
192
|
-
{
|
|
193
|
-
? parseDate(order?.delivery_datetime_utc)
|
|
194
|
-
: parseDate(order?.delivery_datetime, { utc: false })}
|
|
215
|
+
{deliveryDate()}
|
|
195
216
|
</OText>
|
|
196
217
|
|
|
197
218
|
{(!order?.isLogistic || (!logisticOrderStatus?.includes(order?.status) && !order?.order_group)) && (
|
|
@@ -263,6 +284,12 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
263
284
|
)}
|
|
264
285
|
</>
|
|
265
286
|
</OText>
|
|
287
|
+
{order?.external_id && (
|
|
288
|
+
<OText size={13}>
|
|
289
|
+
<OText size={13} weight='bold'>{`${t('EXTERNAL_ID', 'External ID :')} `}</OText>
|
|
290
|
+
{order?.external_id}
|
|
291
|
+
</OText>
|
|
292
|
+
)}
|
|
266
293
|
{!order?.isLogistic && !!order?.delivery_type && (!order?.order_group_id || !logisticOrderStatus?.includes(order?.status)) && (
|
|
267
294
|
<>
|
|
268
295
|
<OText size={13}>
|
|
@@ -275,23 +302,27 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
|
|
|
275
302
|
{t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
|
|
276
303
|
</OText>
|
|
277
304
|
)}
|
|
278
|
-
|
|
279
|
-
<
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
305
|
+
<OText>
|
|
306
|
+
<OText size={13} weight='bold'>
|
|
307
|
+
{`${t(paymethodsLength > 1 ? 'PAYMENT_METHODS' : 'PAYMENT_METHOD', paymethodsLength > 1 ? 'Payment methods' : 'Payment method')}: `}
|
|
308
|
+
</OText>
|
|
309
|
+
{order?.payment_events?.length > 0 ? (
|
|
310
|
+
<OText size={13}>{`${handlePaymethodsListString()}`}</OText>
|
|
311
|
+
) : (
|
|
312
|
+
<OText size={13}>{t(order?.paymethod?.gateway?.toUpperCase(), order?.paymethod?.name)}</OText>
|
|
313
|
+
)}
|
|
314
|
+
</OText>
|
|
315
|
+
{order?.spot_number && (
|
|
316
|
+
<OText size={13}>
|
|
317
|
+
<OText size={13} weight='bold'>
|
|
318
|
+
{`${order?.delivery_type === 3
|
|
319
|
+
? t('EATIN_SPOT_NUMBER', 'Table number')
|
|
320
|
+
: order?.delivery_type === 5
|
|
321
|
+
? t('DRIVE_THRU_SPOT_NUMBER', 'Drive thru lane')
|
|
322
|
+
: t('CURBSIDE_SPOT_NUMBER', 'Spot number')}: `}
|
|
293
323
|
</OText>
|
|
294
|
-
|
|
324
|
+
{order.spot_number}
|
|
325
|
+
</OText>
|
|
295
326
|
)}
|
|
296
327
|
</>
|
|
297
328
|
)}
|