mirror of
https://github.com/somegeekintn/SimDirs.git
synced 2026-03-25 08:55:54 +00:00
59 lines
1.6 KiB
Swift
59 lines
1.6 KiB
Swift
//
|
|
// ContentView.swift
|
|
// SimDirs
|
|
//
|
|
// Created by Casey Fleser on 5/23/22.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct ContentView: View {
|
|
@ObservedObject var state : SourceState
|
|
|
|
init(model: SimModel) {
|
|
state = SourceState(model: model)
|
|
}
|
|
|
|
var body: some View {
|
|
VStack {
|
|
NavigationView {
|
|
List {
|
|
Divider()
|
|
|
|
switch state.filteredRoot {
|
|
case .placeholder:
|
|
Text("Placeholder")
|
|
|
|
case let .device(_, root):
|
|
ForEach(root.items) {
|
|
SourceItemGroup(selection: $state.selection, item: $0)
|
|
}
|
|
|
|
case let .runtime(_, root):
|
|
ForEach(root.items) {
|
|
SourceItemGroup(selection: $state.selection, item: $0)
|
|
}
|
|
}
|
|
}
|
|
.toolbar {
|
|
ToolbarItem { ToolbarMenu(state: state) }
|
|
}
|
|
.frame(minWidth: 200)
|
|
|
|
Image("Icon-256") // Initial View
|
|
}
|
|
.searchable(text: $state.filter.searchTerm, placement: .sidebar)
|
|
}
|
|
}
|
|
}
|
|
|
|
struct ContentView_Previews: PreviewProvider {
|
|
static var model = SimModel()
|
|
|
|
static var previews: some View {
|
|
ContentView(model: model)
|
|
.preferredColorScheme(.dark)
|
|
ContentView(model: model)
|
|
.preferredColorScheme(.light)
|
|
}
|
|
}
|