Skip to content

Commit 87cc3ab

Browse files
committed
Hide "View order" options from screen and ellipsis menu
1 parent 21d797a commit 87cc3ab

File tree

4 files changed

+12
-5
lines changed

4 files changed

+12
-5
lines changed

WooCommerce/Classes/Extensions/Booking+Helpers.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ extension Booking {
1919
.joined(separator: "")
2020
}
2121

22+
var isOrderValid: Bool {
23+
return orderID != 0
24+
}
25+
2226
private enum Localization {
2327
static let guest = NSLocalizedString(
2428
"bookings.guest",

WooCommerce/Classes/ViewModels/Booking Details/BookingDetailsViewModel.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ final class BookingDetailsViewModel: ObservableObject {
2727

2828
@Published private(set) var navigationTitle = ""
2929
@Published private(set) var sections: [Section] = []
30+
@Published private(set) var isViewOrderAvailable = true
3031
@Published var notice: Notice?
3132

3233
var bookingAttendanceStatus: BookingAttendanceStatus {
@@ -83,6 +84,7 @@ private extension BookingDetailsViewModel {
8384

8485
func updateDisplayProperties(from booking: Booking) {
8586
navigationTitle = Self.navigationTitle(for: booking)
87+
isViewOrderAvailable = booking.isOrderValid
8688

8789
headerContent.update(with: booking)
8890

WooCommerce/Classes/ViewModels/Booking Details/PaymentContent.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ extension BookingDetailsViewModel {
2828

2929
actions = [
3030
.markAsPaid,
31-
.issueRefund,
32-
.viewOrder
33-
]
31+
.issueRefund
32+
] + (booking.isOrderValid ? [.viewOrder] : [])
3433
}
3534
}
3635
}

WooCommerce/Classes/ViewRelated/Bookings/Booking Details/BookingDetailsView.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,10 @@ struct BookingDetailsView: View {
6363
Button(Localization.markAsPaid) {
6464
print("On mark as paid tap")
6565
}
66-
Button(Localization.viewOrder) {
67-
viewModel.navigateToOrderDetails()
66+
if viewModel.isViewOrderAvailable {
67+
Button(Localization.viewOrder) {
68+
viewModel.navigateToOrderDetails()
69+
}
6870
}
6971
Button(Localization.cancelBookingAction, role: .destructive) {
7072
print("On cancel booking tap")

0 commit comments

Comments
 (0)