aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Details/DetailsView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'iosApp/iosApp/Details/DetailsView.swift')
-rw-r--r--iosApp/iosApp/Details/DetailsView.swift30
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(