import SwiftUI struct ConfigurationGateView: View { var body: some View { ZStack { VelocityTheme.background.ignoresSafeArea() VStack(spacing: 24) { VStack(spacing: 10) { Text("Configure Velocity") .font(.system(size: 34, weight: .bold)) .foregroundStyle(VelocityTheme.foreground) Text("This iPad now expects a real runtime session. Add the production endpoint and operator credentials before live data can load.") .font(.system(size: 14)) .foregroundStyle(VelocityTheme.mutedFg) .multilineTextAlignment(.center) .frame(maxWidth: 700) } SessionConfigurationPanel( title: "Secure Session Setup", subtitle: "Runtime credentials replace the old build-time-only configuration path. Velocity saves secrets in Keychain and immediately tries a live refresh after saving.", primaryActionTitle: "Save and continue", allowsClearingStoredConfiguration: false ) .frame(maxWidth: 760) Text("Production note: this setup flow does not bypass backend TLS failures. If the configured endpoint is unhealthy, Velocity will save the session and report the live refresh error truthfully.") .font(.system(size: 11)) .foregroundStyle(VelocityTheme.mutedFg) .multilineTextAlignment(.center) .frame(maxWidth: 760) } .padding(28) } } } #Preview { ConfigurationGateView() }