Files
NearFuture/MacNearFuture/Views/ContentViewMac.swift
2025-06-13 22:00:28 +01:00

82 lines
1.6 KiB
Swift

//
// ContentView.swift
// MacNearFuture
//
// Created by neon443 on 21/05/2025.
//
import SwiftUI
struct ContentView: View {
@StateObject var viewModel: EventViewModel
@StateObject var settingsModel: SettingsViewModel
@State private var showAddEventView: Bool = false
var body: some View {
NavigationSplitView {
List {
NavigationLink {
HomeView(
viewModel: viewModel,
settingsModel: settingsModel
)
} label: {
Image(systemName: "house")
Text("Home")
}
NavigationLink {
ArchiveView(
viewModel: viewModel,
settingsModel: settingsModel
)
} label: {
Image(systemName: "tray.full")
Text("Archive")
}
NavigationLink {
SettingsView(
viewModel: viewModel,
settingsModel: settingsModel
)
} label: {
Image(systemName: "gear")
Text("Settings")
}
}
} detail: {
Text("Welcome to Near Future")
}
.tint(settingsModel.settings.tint.color)
.frame(minWidth: 450, minHeight: 550)
.containerBackground(.regularMaterial, for: .window)
.sheet(isPresented: $settingsModel.settings.showWhatsNew) {
WhatsNewView(settingsModel: settingsModel)
.presentationSizing(.form)
}
.sheet(isPresented: $showAddEventView) {
AddEventView(
viewModel: viewModel,
event: $viewModel.editableTemplate,
adding: true
)
.presentationSizing(.page)
}
.toolbar {
Button() {
showAddEventView.toggle()
} label: {
Image(systemName: "plus")
Text("New")
}
}
}
}
#Preview {
ContentView(
viewModel: dummyEventViewModel(),
settingsModel: dummySettingsViewModel()
)
}