Files
FamilyMealPlanner/MealMood/ViewModels/TagViewModel.swift
T
alexandrev-tibco e593453abd Version casi lista
2026-02-17 13:34:02 +01:00

34 lines
985 B
Swift

import SwiftUI
import SwiftData
@MainActor
final class TagViewModel: ObservableObject {
@Published var editingTag: Tag?
@Published var maxPerWeek: Int? = nil
@Published var noConsecutive: Bool = false
@Published var noDuplicateInDay: Bool = false
@Published var mealTypeRestriction: String? = nil
@Published var useMaxLimit: Bool = true
func loadTag(_ tag: Tag) {
editingTag = tag
maxPerWeek = tag.maxPerWeek
noConsecutive = tag.noConsecutive
noDuplicateInDay = tag.noDuplicateInDay
mealTypeRestriction = tag.mealTypeRestriction
useMaxLimit = tag.maxPerWeek != nil
}
func save() {
guard let tag = editingTag else { return }
tag.maxPerWeek = useMaxLimit ? (maxPerWeek ?? 3) : nil
tag.noConsecutive = noConsecutive
tag.noDuplicateInDay = noDuplicateInDay
tag.mealTypeRestriction = mealTypeRestriction
}
func reset() {
editingTag = nil
}
}