mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
move to contentview
add homeView respect show completed events in home archive view move inot contentview new mac icon remove mac icons from the variants
This commit is contained in:
33
MacNearFuture/Views/ArchiveView.swift
Normal file
33
MacNearFuture/Views/ArchiveView.swift
Normal file
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// ArchiveView.swift
|
||||
// MacNearFuture
|
||||
//
|
||||
// Created by neon443 on 28/05/2025.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ArchiveView: View {
|
||||
@StateObject var viewModel: EventViewModel
|
||||
@StateObject var settingsModel: SettingsViewModel
|
||||
|
||||
var filteredEvents: [Event] {
|
||||
return viewModel.events.filter { $0.complete }
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
ForEach(filteredEvents) { event in
|
||||
EventListView(viewModel: viewModel, event: event)
|
||||
}
|
||||
}
|
||||
.scrollContentBackground(.hidden)
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
ArchiveView(
|
||||
viewModel: dummyEventViewModel(),
|
||||
settingsModel: dummySettingsViewModel()
|
||||
)
|
||||
}
|
||||
@@ -8,16 +8,37 @@
|
||||
import SwiftUI
|
||||
|
||||
struct ContentView: View {
|
||||
@ObservedObject var viewModel: EventViewModel
|
||||
@ObservedObject var settingsModel: SettingsViewModel
|
||||
@StateObject var viewModel: EventViewModel
|
||||
@StateObject var settingsModel: SettingsViewModel
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
ForEach(viewModel.events) { event in
|
||||
EventListView(viewModel: viewModel, event: event)
|
||||
NavigationSplitView(preferredCompactColumn: .constant(.sidebar)) {
|
||||
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")
|
||||
}
|
||||
}
|
||||
} detail: {
|
||||
|
||||
}
|
||||
.scrollContentBackground(.hidden)
|
||||
.tint(settingsModel.settings.tint.color)
|
||||
.frame(minWidth: 450, minHeight: 550)
|
||||
.containerBackground(.ultraThinMaterial, for: .window)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
37
MacNearFuture/Views/HomeView.swift
Normal file
37
MacNearFuture/Views/HomeView.swift
Normal file
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// HomeView.swift
|
||||
// MacNearFuture
|
||||
//
|
||||
// Created by neon443 on 28/05/2025.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct HomeView: View {
|
||||
@StateObject var viewModel: EventViewModel
|
||||
@StateObject var settingsModel: SettingsViewModel
|
||||
|
||||
var filteredEvents: [Event] {
|
||||
switch settingsModel.settings.showCompletedInHome {
|
||||
case true:
|
||||
return viewModel.events
|
||||
case false:
|
||||
return viewModel.events.filter { !$0.complete }
|
||||
}
|
||||
}
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
ForEach(filteredEvents) { event in
|
||||
EventListView(viewModel: viewModel, event: event)
|
||||
}
|
||||
}
|
||||
.scrollContentBackground(.hidden)
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
HomeView(
|
||||
viewModel: dummyEventViewModel(),
|
||||
settingsModel: dummySettingsViewModel()
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user