diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-02-08 21:48:00 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-02-08 21:48:00 -0600 |
commit | b92214eb057fb0cad1fb8f02ad1e1660abe5a19c (patch) | |
tree | b9e455c391bee6b95c884c16241ce8cde597afa3 /iosApp/iosApp/Details/DetailsView.swift | |
parent | 4f0129a70bafeca1d9e565ba2076213eb183c779 (diff) | |
download | etbsa-trackermap-mobile-b92214eb057fb0cad1fb8f02ad1e1660abe5a19c.tar.gz etbsa-trackermap-mobile-b92214eb057fb0cad1fb8f02ad1e1660abe5a19c.tar.bz2 etbsa-trackermap-mobile-b92214eb057fb0cad1fb8f02ad1e1660abe5a19c.zip |
- Fixed DetailsView.
- Refactored details sheet into UnitsView.
- A lot of logic moved into view models.
- Implemented unit details in UnitMapView.
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( |