Files
2026-02-26 21:24:20 -05:00

70 lines
1.5 KiB
Swift

import Foundation
// MARK: - Priority
enum Priority: String, CaseIterable, Identifiable {
case low
case medium
case high
var id: String { rawValue }
var displayName: String {
switch self {
case .low: return "Low"
case .medium: return "Medium"
case .high: return "High"
}
}
var colorHex: UInt {
switch self {
case .low: return 0x4CAF50 // green
case .medium: return 0xFF9800 // orange
case .high: return 0xF44336 // red
}
}
}
// MARK: - TodoFilter
enum TodoFilter: String, CaseIterable, Identifiable {
case all
case active
case done
var id: String { rawValue }
var displayName: String {
switch self {
case .all: return "All"
case .active: return "Active"
case .done: return "Done"
}
}
}
// MARK: - Categories
let todoCategories: [String] = ["Personal", "Work", "Shopping", "Health", "Learning"]
// MARK: - Todo
struct Todo: Identifiable, Equatable {
let id: Int64
var title: String
var completed: Bool
var category: String
var priority: Priority
var createdAt: Int64
static func == (lhs: Todo, rhs: Todo) -> Bool {
lhs.id == rhs.id
&& lhs.title == rhs.title
&& lhs.completed == rhs.completed
&& lhs.category == rhs.category
&& lhs.priority == rhs.priority
&& lhs.createdAt == rhs.createdAt
}
}