Files
meetingnotes/notetaker/ViewModels/MeetingListViewModel.swift
T

35 lines
916 B
Swift

import Foundation
import SwiftUI
@MainActor
class MeetingListViewModel: ObservableObject {
@Published var meetings: [Meeting] = []
@Published var isLoading = false
@Published var errorMessage: String?
init() {
loadMeetings()
}
func loadMeetings() {
isLoading = true
errorMessage = nil
DispatchQueue.main.async { [weak self] in
self?.meetings = LocalStorageManager.shared.loadMeetings()
self?.isLoading = false
}
}
func deleteMeeting(_ meeting: Meeting) {
meetings.removeAll { $0.id == meeting.id }
_ = LocalStorageManager.shared.deleteMeeting(meeting)
}
func createNewMeeting() -> Meeting {
let newMeeting = Meeting()
meetings.insert(newMeeting, at: 0)
_ = LocalStorageManager.shared.saveMeeting(newMeeting)
return newMeeting
}
}