import SwiftUI // Root navigation controller. Switches between top-level app states driven by AppViewModel.route. struct AppRouter: View { @Environment(AppViewModel.self) private var appViewModel var body: some View { Group { switch appViewModel.route { case .onboarding: OnboardingView() case .login: BankSelectionView() case .lock: LockScreenView { appViewModel.unlock() } case .home: HomeView() } } .animation(.easeInOut(duration: 0.25), value: appViewModel.route) } } #Preview { AppRouter() .environment(AppViewModel()) }