1→// 2→// Planner2026App.swift 3→// Planner2026-iOS 4→// 5→// AI-first task planner with GPS and Apple Sign In 6→// 7→ 8→import SwiftUI 9→ 10→@main 11→struct Planner2026App: App { 12→ @StateObject private var authService = AuthenticationService() 13→ @StateObject private var dataManager = DataManager.shared 14→ @StateObject private var locationService = LocationService() 15→ @StateObject private var claudeService = ClaudeService.shared 16→ 17→ // Notification settings from AppStorage 18→ @AppStorage("wakeReminderEnabled") private var wakeReminderEnabled = true 19→ @AppStorage("walkingReminderEnabled") private var walkingReminderEnabled = true 20→ @AppStorage("eveningReminderEnabled") private var eveningReminderEnabled = true 21→ @AppStorage("streakWarningEnabled") private var streakWarningEnabled = true 22→ 23→ var body: some Scene { 24→ WindowGroup { 25→ ContentView() 26→ .environmentObject(authService) 27→ .environmentObject(dataManager) 28→ .environmentObject(locationService) 29→ .environmentObject(claudeService) 30→ .onAppear { 31→ HapticManager.prepare() 32→ setupAPIKey() 33→ setupNotifications() 34→ } 35→ .onReceive(NotificationCenter.default.publisher(for: UIApplication.willResignActiveNotification)) { _ in 36→ dataManager.saveAllData() 37→ } 38→ .onReceive(NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)) { _ in 39→ dataManager.saveAllData() 40→ } 41→ } 42→ } 43→ 44→ private func setupAPIKey() { 45→ // API key should be configured by user in Settings 46→ // Do not hardcode API keys - users must enter their own key 47→ } 48→ 49→ private func setupNotifications() { 50→ Task { 51→ // Request notification authorization 52→ let granted = await NotificationService.shared.requestAuthorization() 53→ 54→ if granted { 55→ // Schedule enabled reminders 56→ if wakeReminderEnabled { 57→ NotificationService.shared.scheduleWakeReminder(at: 6, minute: 0) 58→ } 59→ if walkingReminderEnabled { 60→ NotificationService.shared.scheduleWalkingReminder(at: 6, minute: 30) 61→ } 62→ if eveningReminderEnabled { 63→ NotificationService.shared.scheduleEveningRoutineReminder() 64→ } 65→ if streakWarningEnabled { 66→ NotificationService.shared.scheduleStreakWarning() 67→ } 68→ } 69→ } 70→ } 71→} 72→ 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.