import SwiftUI struct RootView: View { @ObservedObject var controller: GameController var body: some View { Group { if controller.presentationStyle == .compact { CompactView(controller: controller) } else if !controller.isLoggedIn { LoginView(controller: controller) } else if controller.gameID != nil { GameBoardView(controller: controller) } else { SettingsView(controller: controller) } } .animation(.easeInOut(duration: 0.2), value: controller.presentationStyle) .animation(.easeInOut(duration: 0.2), value: controller.isLoggedIn) } }