import Foundation struct FeedbackStore { private static let rejectionKey = "com.mealmood.dishRejections" static func rejectionCounts() -> [UUID: Int] { guard let data = UserDefaults.standard.data(forKey: rejectionKey), let raw = try? JSONDecoder().decode([String: Int].self, from: data) else { return [:] } return Dictionary(raw.compactMap { k, v in UUID(uuidString: k).map { ($0, v) } }, uniquingKeysWith: { first, _ in first }) } static func recordRejection(for dishId: UUID) { var raw: [String: Int] if let data = UserDefaults.standard.data(forKey: rejectionKey), let decoded = try? JSONDecoder().decode([String: Int].self, from: data) { raw = decoded } else { raw = [:] } raw[dishId.uuidString, default: 0] += 1 if let encoded = try? JSONEncoder().encode(raw) { UserDefaults.standard.set(encoded, forKey: rejectionKey) } } }