forked from sagnik/Project_Velocity
43 lines
1.7 KiB
Swift
43 lines
1.7 KiB
Swift
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()
|
|
}
|