OnCue/OnCuePresenter Watch App/View/MainViewPresenter.swift
2024-07-10 13:25:36 +12:00

60 lines
2.0 KiB
Swift

//
// ContentView.swift
// OnCuePresenter Watch App
//
// Created by Pradyun Setti on 22/06/2024.
//
import SwiftUI
import SwiftData
struct MainViewPresenter: View {
@Environment(\.modelContext) private var modelContext
@Query private var items: [OCProject]
@AppStorage(Preferences.themeColour) var themeColor = Color.blue.toHex()!
@State private var newProjectName = ""
@State private var addNewProject = false
var body: some View {
NavigationSplitView {
List {
ForEach(items) { project in
NavigationLink {
CueCardViewPresenter(project: project)
} label: {
VStack(alignment: .leading) {
if (project.color == Color.clear.toHex()!) {
Text("\(project.name)")
.bold()
.font(.title2)
.foregroundStyle(Color(hex: themeColor) ?? .blue)
} else {
Text("\(project.name)")
.bold()
.font(.title2)
.foregroundStyle(Color(hex: project.color) ?? .white)
}
Text("\(project.cards?.count ?? 0) \(project.cards?.count ?? 0 == 1 ? "Card" : "Cards")")
} }
.padding(.vertical, 3)
}
}
.navigationTitle("Projects")
} detail: {
Text("Select an item")
}
}
}
#Preview {
let config = ModelConfiguration(isStoredInMemoryOnly: true)
let container = try! ModelContainer(for: OCProject.self, configurations: config)
container.mainContext.insert(PreviewData.project)
return MainViewPresenter()
.modelContainer(container)
}