aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Units/UnitsView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'iosApp/iosApp/Units/UnitsView.swift')
-rw-r--r--iosApp/iosApp/Units/UnitsView.swift66
1 files changed, 46 insertions, 20 deletions
diff --git a/iosApp/iosApp/Units/UnitsView.swift b/iosApp/iosApp/Units/UnitsView.swift
index fd673a6..fc4952f 100644
--- a/iosApp/iosApp/Units/UnitsView.swift
+++ b/iosApp/iosApp/Units/UnitsView.swift
@@ -15,29 +15,55 @@ struct UnitsView: View {
var body: some View {
NavigationView {
- ZStack {
- switch unitsViewModel.unitsDisplayMode {
- case .list:
- DevicesView(unitsViewModel: unitsViewModel)
- case .map:
- MapView(unitsViewModel: unitsViewModel)
+ TabView(selection: $unitsViewModel.unitsDisplayMode, content: {
+ MapView(unitsViewModel: unitsViewModel)
+ .tabItem {
+ Image(systemName: "map")
+ Text("map")
+ }
+ .tag(UnitsViewModel.UnitsDisplayMode.map)
+ DevicesView(unitsViewModel: unitsViewModel)
+ .tabItem {
+ Image(systemName: "list.bullet")
+ Text("devices")
+ }
+ .tag(UnitsViewModel.UnitsDisplayMode.list)
+ })
+ .navigationTitle(getNavigationTitle(unitsViewModel.unitsDisplayMode))
+ .navigationBarTitleDisplayMode(.inline)
+ .navigationSearchBar {
+ SearchBar(NSLocalizedString("search", comment: ""),
+ text: $unitsViewModel.searchQuery,
+ isEditing: $unitsViewModel.isEditing,
+ onCommit: {})
+ .showsCancelButton(unitsViewModel.isEditing)
+ .onCancel {
+ unitsViewModel.searchQuery = ""
+ }
+ }
+ .navigationSearchBarHiddenWhenScrolling(false)
+ .toolbar {
+ ToolbarItem(placement: .navigationBarTrailing) {
+ Button(action: {}) {
+ Image(systemName: "square.stack.3d.up")
+ }
+ .visible(unitsViewModel.unitsDisplayMode == .map)
+ }
+ ToolbarItem(placement: .navigationBarTrailing) {
+ Button(action: {}) {
+ Image(systemName: "person")
+ }
+ }
}
- }
- .navigationBarTitleDisplayMode(.inline)
- .navigationSearchBar {
- searchBar()
- }
}
}
- private func searchBar () -> SearchBar {
- SearchBar(NSLocalizedString("search", comment: ""),
- text: $unitsViewModel.searchQuery,
- isEditing: $unitsViewModel.isEditing,
- onCommit: {})
- .showsCancelButton(unitsViewModel.isEditing)
- .onCancel {
- unitsViewModel.searchQuery = ""
- }
+ private func getNavigationTitle(_ unitDisplayMode: UnitsViewModel.UnitsDisplayMode) -> LocalizedStringKey {
+ switch unitDisplayMode {
+ case .list:
+ return "devices"
+ case .map:
+ return "map"
+ }
}
}