gh-somegeekintn-SimDirs/SimDirs/ContentView.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(selection: $state.selection) {
Divider()
switch state.base {
case .placeholder:
Text("Placeholder")
case let .device(_, item):
ForEach(item.visibleChildren) {
SourceItemGroup(item: $0, selection: $state.selection)
}
case let .runtime(_, item):
ForEach(item.visibleChildren) {
SourceItemGroup(item: $0, selection: $state.selection)
}
}
}
.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)
}
}