import SwiftUI /// Top-level router: Onboarding until we have a validated ServerProfile + API /// key, then Home. struct RootView: View { @Environment(AuthStore.self) private var auth var body: some View { ZStack { Palette.background.ignoresSafeArea() switch auth.state { case .needsOnboarding, .error: OnboardingFlow() .transition(.opacity) case .validating: ValidatingView() .transition(.opacity) case .authenticated: HomeView() .transition(.opacity) } } .animation(.easeInOut(duration: 0.25), value: auth.state) } } struct ValidatingView: View { var body: some View { VStack(spacing: 16) { Spacer() Logo(size: 80) ProgressView() .progressViewStyle(.circular) .tint(Palette.accent) Text("CONNECTING…") .font(Typography.navLabel) .tracking(2) .foregroundStyle(Palette.foregroundMuted) Spacer() } } }