From 785d7765e824cb7d16262abaee4432d763ffcf8b Mon Sep 17 00:00:00 2001 From: RafaelKayumov Date: Fri, 31 Oct 2025 15:06:39 +0300 Subject: [PATCH 1/2] Navigate to booking order from ellipsis menu --- .../Booking Details/BookingDetailsViewModel.swift | 8 ++++++++ .../Bookings/Booking Details/BookingDetailsView.swift | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel.swift b/WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel.swift index 307bef261fc..e26793b0ea5 100644 --- a/WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel.swift +++ b/WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel.swift @@ -327,6 +327,14 @@ extension BookingDetailsViewModel { } } +// MARK: Navigation + +extension BookingDetailsViewModel { + func navigateToOrderDetails() { + MainTabBarController.navigateToOrderDetails(with: booking.orderID, siteID: booking.siteID) + } +} + private extension BookingDetailsViewModel { static func navigationTitle(for booking: Booking) -> String { let titleFormat = NSLocalizedString( diff --git a/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift b/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift index a1064ecb958..67745d0416d 100644 --- a/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift +++ b/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift @@ -70,7 +70,7 @@ struct BookingDetailsView: View { print("On mark as paid tap") } Button(Localization.viewOrder) { - print("On view order tap") + viewModel.navigateToOrderDetails() } Button(Localization.cancelBookingAction, role: .destructive) { print("On cancel booking tap") From 9757fb52da763da031bcebae823e70d89ac57a06 Mon Sep 17 00:00:00 2001 From: RafaelKayumov Date: Fri, 31 Oct 2025 15:15:12 +0300 Subject: [PATCH 2/2] Apply navigation for CTA button --- .../Bookings/Booking Details/BookingDetailsView.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift b/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift index 67745d0416d..baec9f62a03 100644 --- a/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift +++ b/WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift @@ -223,7 +223,11 @@ private extension BookingDetailsView { VStack(alignment: .leading, spacing: Layout.contentVerticalPadding) { ForEach(content.actions) { action in Button { - /// On action tap + if action == .viewOrder { + viewModel.navigateToOrderDetails() + } else { + /// On action tap + } } label: { Text(action.buttonTitle) }