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..baec9f62a03 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") @@ -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) }