Fix build errors: Self.kXxx refs and MainActor isolation

- Remove leftover Self. prefix on instance storage keys in save()
- Mark TaskViewModel and WorkoutViewModel @MainActor so init() can
  safely access AuthManager.shared without isolation violations

Co-Authored-By: Kutesir <tqwyy79vzn@privaterelay.appleid.com>
This commit is contained in:
Robin Kutesa
2026-06-01 01:38:19 +03:00
parent d424a2a814
commit 2f08e4a006
2 changed files with 6 additions and 4 deletions

View File

@@ -170,6 +170,7 @@ let exerciseSFSymbol: [String: String] = Dictionary(
)
// MARK: - Workout View Model
@MainActor
class WorkoutViewModel: ObservableObject {
@Published var programs: [WorkoutProgram]
@Published var schedule: [Int: UUID]
@@ -278,12 +279,12 @@ class WorkoutViewModel: ObservableObject {
private func save() {
if let data = try? JSONEncoder().encode(programs) {
UserDefaults.standard.set(data, forKey: Self.kPrograms)
UserDefaults.standard.set(data, forKey: kPrograms)
}
let schedDict = schedule.reduce(into: [String: String]()) { $0[String($1.key)] = $1.value.uuidString }
UserDefaults.standard.set(schedDict, forKey: Self.kSchedule)
UserDefaults.standard.set(activeProgramId.uuidString, forKey: Self.kActivePid)
UserDefaults.standard.set(workoutDates, forKey: Self.kWorkoutDates)
UserDefaults.standard.set(schedDict, forKey: kSchedule)
UserDefaults.standard.set(activeProgramId.uuidString, forKey: kActivePid)
UserDefaults.standard.set(workoutDates, forKey: kWorkoutDates)
}
func logWorkoutCompleted(on date: Date = Date()) {

View File

@@ -55,6 +55,7 @@ enum TaskColor: String, Codable {
}
// MARK: - Task View Model
@MainActor
class TaskViewModel: ObservableObject {
@Published var tasks: [TaskItem]