File tree Expand file tree Collapse file tree 4 files changed +12
-5
lines changed
ViewModels/Booking Details
ViewRelated/Bookings/Booking Details Expand file tree Collapse file tree 4 files changed +12
-5
lines changed Original file line number Diff line number Diff 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 " ,
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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 " )
You can’t perform that action at this time.
0 commit comments