// // irisApp.swift // iris // // Created by Kenneth on 06/01/2026. // import SwiftUI @main struct irisApp: App { @Environment(\.scenePhase) private var scenePhase @StateObject private var ble: BlePeripheralManager @StateObject private var orchestrator: ContextOrchestrator @StateObject private var spotifyAuth: SpotifyAuthManager init() { let bleManager = BlePeripheralManager() bleManager.start() let spotify = SpotifyAuthManager() _ble = StateObject(wrappedValue: bleManager) _spotifyAuth = StateObject(wrappedValue: spotify) _orchestrator = StateObject(wrappedValue: ContextOrchestrator(ble: bleManager, spotifyAuth: spotify)) } var body: some Scene { WindowGroup { ContentView() .environmentObject(ble) .environmentObject(orchestrator) .environmentObject(spotifyAuth) .onOpenURL { url in if url.scheme == "iris-spotify-auth" { spotifyAuth.handleCallback(url: url) } } .onChange(of: scenePhase) { phase in if phase == .active || phase == .background { ble.start() } } } } }