diff options
Diffstat (limited to 'iosApp/iosApp/Details/DetailsView.swift')
-rw-r--r-- | iosApp/iosApp/Details/DetailsView.swift | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/iosApp/iosApp/Details/DetailsView.swift b/iosApp/iosApp/Details/DetailsView.swift index 8e2a6b5..25c8611 100644 --- a/iosApp/iosApp/Details/DetailsView.swift +++ b/iosApp/iosApp/Details/DetailsView.swift @@ -23,29 +23,33 @@ struct DetailsView: View { @Binding var isPresented: Bool @State var action: DeviceRow.Action - var id: Int32 + var id: Int32? - init(isPresented: Binding<Bool>, action: DeviceRow.Action, forId id: Int32) { + init(isPresented: Binding<Bool>, action: DeviceRow.Action, forId id: Int32?) { self._isPresented = isPresented self.action = action self.id = id - detailsViewModel.fetchUnit(id: id) + if let id = id { + self.detailsViewModel.fetchUnit(id: id) + } } var body: some View { NavigationView { VStack { - if let unit = detailsViewModel.unit { - switch action { - case .details: - UnitInformationView(unit: unit) - case .reports: - UnitReportsView(unit: unit) - case .commands: - UnitCommandsView(unit: unit) + if id != nil { + if let unit = detailsViewModel.unit { + switch action { + case .details: + UnitInformationView(unit: unit) + case .reports: + UnitReportsView(unit: unit) + case .commands: + UnitCommandsView(unit: unit) + } + } else { + LoadingView() } - } else { - LoadingView() } } .navigationBarTitleView( |