aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Details/DetailsView.swift
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-02-08 21:48:00 -0600
committerIván Ávalos <avalos@disroot.org>2022-02-08 21:48:00 -0600
commitb92214eb057fb0cad1fb8f02ad1e1660abe5a19c (patch)
treeb9e455c391bee6b95c884c16241ce8cde597afa3 /iosApp/iosApp/Details/DetailsView.swift
parent4f0129a70bafeca1d9e565ba2076213eb183c779 (diff)
downloadetbsa-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.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(