1→// 2→// Enums.swift 3→// KortexOS 4→// 5→// Sistema operacional pessoal baseado na metodologia ZAIROS 6→// 7→ 8→import SwiftUI 9→ 10→// MARK: - Ritual Categories 11→ 12→enum RitualCategory: String, Codable, CaseIterable { 13→ case activation = "Ativação" 14→ case body = "Corpo" 15→ case mind = "Mente" 16→ case spirit = "Espírito" 17→ 18→ var icon: String { 19→ switch self { 20→ case .activation: return "sunrise" 21→ case .body: return "figure.run" 22→ case .mind: return "brain" 23→ case .spirit: return "sparkles" 24→ } 25→ } 26→ 27→ var color: Color { 28→ switch self { 29→ case .activation: return .orange 30→ case .body: return .red 31→ case .mind: return .blue 32→ case .spirit: return .purple 33→ } 34→ } 35→} 36→ 37→// MARK: - Goal Timeframe 38→ 39→enum GoalTimeframe: String, Codable, CaseIterable { 40→ case vision = "5-10 Anos" 41→ case mediumTerm = "1-3 Anos" 42→ case shortTerm = "6-12 Meses" 43→ case immediate = "2-4 Semanas" 44→ case daily = "Hoje" 45→ 46→ var sortOrder: Int { 47→ switch self { 48→ case .vision: return 0 49→ case .mediumTerm: return 1 50→ case .shortTerm: return 2 51→ case .immediate: return 3 52→ case .daily: return 4 53→ } 54→ } 55→ 56→ var icon: String { 57→ switch self { 58→ case .vision: return "mountain.2" 59→ case .mediumTerm: return "calendar.badge.clock" 60→ case .shortTerm: return "calendar" 61→ case .immediate: return "clock" 62→ case .daily: return "sun.max" 63→ } 64→ } 65→ 66→ var description: String { 67→ switch self { 68→ case .vision: return "Visão de longo prazo" 69→ case .mediumTerm: return "Objetivos de médio prazo" 70→ case .shortTerm: return "Metas de curto prazo" 71→ case .immediate: return "Próximas semanas" 72→ case .daily: return "Tarefas de hoje" 73→ } 74→ } 75→} 76→ 77→// MARK: - Goal Status 78→ 79→enum GoalStatus: String, Codable, CaseIterable { 80→ case notStarted = "Não Iniciado" 81→ case inProgress = "Em Progresso" 82→ case completed = "Concluído" 83→ case onHold = "Em Pausa" 84→ 85→ var icon: String { 86→ switch self { 87→ case .notStarted: return "circle" 88→ case .inProgress: return "circle.lefthalf.filled" 89→ case .completed: return "checkmark.circle.fill" 90→ case .onHold: return "pause.circle" 91→ } 92→ } 93→ 94→ var color: Color { 95→ switch self { 96→ case .notStarted: return .gray 97→ case .inProgress: return .blue 98→ case .completed: return .green 99→ case .onHold: return .orange 100→ } 101→ } 102→} 103→ 104→// MARK: - Progress Level (Gamification) 105→ 106→enum ProgressLevel: String, Codable, CaseIterable { 107→ case apprentice = "Aprendiz" 108→ case warrior = "Guerreiro" 109→ case master = "Mestre" 110→ case architect = "Arquiteto" 111→ 112→ var icon: String { 113→ switch self { 114→ case .apprentice: return "leaf" 115→ case .warrior: return "flame" 116→ case .master: return "star" 117→ case .architect: return "crown" 118→ } 119→ } 120→ 121→ var color: Color { 122→ switch self { 123→ case .apprentice: return .green 124→ case .warrior: return .orange 125→ case .master: return .blue 126→ case .architect: return .purple 127→ } 128→ } 129→ 130→ var minimumStreak: Int { 131→ switch self { 132→ case .apprentice: return 0 133→ case .warrior: return 31 134→ case .master: return 91 135→ case .architect: return 181 136→ } 137→ } 138→ 139→ var description: String { 140→ switch self { 141→ case .apprentice: return "Início da jornada (0-30 dias)" 142→ case .warrior: return "Disciplina em formação (31-90 dias)" 143→ case .master: return "Maestria emergente (91-180 dias)" 144→ case .architect: return "Arquiteto da realidade (181+ dias)" 145→ } 146→ } 147→ 148→ static func level(forStreak streak: Int) -> ProgressLevel { 149→ if streak >= 181 { return .architect } 150→ if streak >= 91 { return .master } 151→ if streak >= 31 { return .warrior } 152→ return .apprentice 153→ } 154→} 155→ 156→// MARK: - Clarity Level (Journal) 157→ 158→enum ClarityLevel: Int, Codable, CaseIterable { 159→ case foggy = 1 160→ case cloudy = 2 161→ case partial = 3 162→ case clear = 4 163→ case crystal = 5 164→ 165→ var description: String { 166→ switch self { 167→ case .foggy: return "Nebuloso" 168→ case .cloudy: return "Nublado" 169→ case .partial: return "Parcial" 170→ case .clear: return "Claro" 171→ case .crystal: return "Cristalino" 172→ } 173→ } 174→ 175→ var icon: String { 176→ switch self { 177→ case .foggy: return "cloud.fog" 178→ case .cloudy: return "cloud" 179→ case .partial: return "cloud.sun" 180→ case .clear: return "sun.max" 181→ case .crystal: return "sparkles" 182→ } 183→ } 184→ 185→ var color: Color { 186→ switch self { 187→ case .foggy: return .gray 188→ case .cloudy: return .secondary 189→ case .partial: return .orange 190→ case .clear: return .blue 191→ case .crystal: return .purple 192→ } 193→ } 194→} 195→ 196→// MARK: - Journal Prompt Tags 197→ 198→enum JournalTag: String, Codable, CaseIterable { 199→ case libertacao = "libertação" 200→ case clareza = "clareza" 201→ case missao = "missão" 202→ case disciplina = "disciplina" 203→ case presenca = "presença" 204→ case gratidao = "gratidão" 205→ case reflexao = "reflexão" 206→ 207→ var displayName: String { 208→ return "#\(rawValue)" 209→ } 210→ 211→ var color: Color { 212→ switch self { 213→ case .libertacao: return .orange 214→ case .clareza: return .blue 215→ case .missao: return .purple 216→ case .disciplina: return .red 217→ case .presenca: return .green 218→ case .gratidao: return .yellow 219→ case .reflexao: return .gray 220→ } 221→ } 222→} 223→ Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.