28de93263b
- Add App.kt root composable with state-based routing (Login -> Schedule -> EventDetail) driven by AuthViewModel.state - Update MainActivity (Android), MainViewController (iOS), and Main.kt (Desktop) to host App() with their platform OAuthClient - Add iOS Xcode source files (MyIceApp.swift, ContentView.swift) and Info.plist with myice:// URL scheme - Delete Placeholder.kt - Add kotlinx-coroutines-swing to desktopMain to provide Dispatchers.Main for viewModelScope (app crashed on desktop without it)