Files
NearFuture/NearFuture/Views/Archive/ArchiveView.swift
neon443 5ec16dd67a fix editing events on mac and ios
toolbar label()s instead of buton("label")s
fix event add/delete/tick animation
fix event complete progress on ios and mac and that it just spazzed out
browsing true for symbols browsing (not picking)
2025-06-15 21:18:58 +01:00

68 lines
1.5 KiB
Swift

//
// ArchiveView.swift
// NearFuture
//
// Created by neon443 on 25/04/2025.
//
import SwiftUI
struct ArchiveView: View {
@ObservedObject var viewModel: EventViewModel
@State var showAddEvent: Bool = false
var filteredEvents: [Event] {
let filteredEvents = viewModel.events.filter({$0.complete})
return filteredEvents.reversed()
}
var body: some View {
NavigationStack {
ZStack {
backgroundGradient
if viewModel.events.filter({$0.complete}).isEmpty {
HelpView(showAddEvent: $showAddEvent)
} else {
ScrollView {
ForEach(filteredEvents) { event in
NavigationLink() {
EditEventView(
viewModel: viewModel,
event: Binding(
get: { event },
set: { newValue in
viewModel.editEvent(newValue)
}
)
)
} label: {
EventListView(viewModel: viewModel, event: event)
.id(event.complete)
}
.transition(.moveAndFadeReversed)
}
.padding(.horizontal)
}
.animation(.default, value: filteredEvents)
}
}
.transition(.opacity)
.scrollContentBackground(.hidden)
.toolbar {
ToolbarItem(placement: .primaryAction) {
AddEventButton(showingAddEventView: $showAddEvent)
}
}
.navigationTitle("Archive")
.modifier(navigationInlineLarge())
}
.sheet(isPresented: $showAddEvent) {
AddEventView(
viewModel: viewModel
)
}
}
}
#Preview {
ArchiveView(viewModel: dummyEventViewModel())
}