mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
fixed adding events new icon add archive view fixed sync between contentView & archiveview new help view new eventlistview new addeventbutton fixed widgets
67 lines
1.6 KiB
Swift
67 lines
1.6 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
|
|
@State var hey: UUID = UUID()
|
|
init(viewModel: EventViewModel) {
|
|
self.viewModel = viewModel
|
|
}
|
|
var body: some View {
|
|
NavigationStack {
|
|
ZStack {
|
|
backgroundGradient
|
|
if viewModel.events.filter({$0.complete}).isEmpty {
|
|
HelpView(showAddEvent: $showAddEvent)
|
|
} else {
|
|
ScrollView {
|
|
ForEach(viewModel.events.filter({$0.complete})) { event in
|
|
EventListView(viewModel: viewModel, event: event)
|
|
}
|
|
.padding(.horizontal)
|
|
.id(hey)
|
|
.onReceive(viewModel.objectWillChange) {
|
|
hey = UUID()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.scrollContentBackground(.hidden)
|
|
.toolbar {
|
|
ToolbarItem(placement: .topBarTrailing) {
|
|
AddEventButton(showingAddEventView: $showAddEvent)
|
|
}
|
|
}
|
|
}
|
|
.sheet(isPresented: $showAddEvent) {
|
|
AddEventView(
|
|
viewModel: viewModel,
|
|
eventName: $viewModel.editableTemplate.name,
|
|
eventComplete: $viewModel.editableTemplate.complete,
|
|
eventCompleteDesc: $viewModel.editableTemplate.completeDesc,
|
|
eventSymbol: $viewModel.editableTemplate.symbol,
|
|
eventColor: $viewModel.editableTemplate.color.colorBind,
|
|
eventNotes: $viewModel.editableTemplate.notes,
|
|
eventDate: $viewModel.editableTemplate.date,
|
|
eventTime: $viewModel.editableTemplate.time,
|
|
eventRecurrence: $viewModel.editableTemplate.recurrence,
|
|
adding: true
|
|
)
|
|
.presentationDragIndicator(.visible)
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
ArchiveView(viewModel: dummyEventViewModel())
|
|
}
|
|
|
|
|