fix(ui): align SSH target discovery row

This commit is contained in:
Peter Steinberger
2025-12-13 12:58:00 +00:00
parent ab402e1178
commit e9acb6fad5
2 changed files with 21 additions and 14 deletions

View File

@@ -6,13 +6,13 @@ struct MasterDiscoveryInlineList: View {
var body: some View { var body: some View {
VStack(alignment: .leading, spacing: 6) { VStack(alignment: .leading, spacing: 6) {
HStack(spacing: 6) { HStack(alignment: .firstTextBaseline, spacing: 6) {
Image(systemName: "dot.radiowaves.left.and.right") Image(systemName: "dot.radiowaves.left.and.right")
.font(.caption)
.foregroundStyle(.secondary) .foregroundStyle(.secondary)
Text(self.discovery.statusText) Text(self.discovery.statusText)
.font(.caption) .font(.caption)
.foregroundStyle(.secondary) .foregroundStyle(.secondary)
Spacer()
} }
if self.discovery.masters.isEmpty { if self.discovery.masters.isEmpty {

View File

@@ -175,30 +175,37 @@ struct OnboardingView: View {
.frame(width: 360) .frame(width: 360)
if self.state.connectionMode == .remote { if self.state.connectionMode == .remote {
let labelWidth: CGFloat = 90
let fieldWidth: CGFloat = 300
let contentLeading: CGFloat = labelWidth + 12
VStack(alignment: .leading, spacing: 8) { VStack(alignment: .leading, spacing: 8) {
LabeledContent("SSH target") { HStack(alignment: .center, spacing: 12) {
VStack(alignment: .leading, spacing: 8) { Text("SSH target")
TextField("user@host[:22]", text: self.$state.remoteTarget) .font(.callout.weight(.semibold))
.textFieldStyle(.roundedBorder) .frame(width: labelWidth, alignment: .leading)
.frame(width: 300) TextField("user@host[:22]", text: self.$state.remoteTarget)
MasterDiscoveryInlineList(discovery: self.masterDiscovery) { master in .textFieldStyle(.roundedBorder)
self.applyDiscoveredMaster(master) .frame(width: fieldWidth)
}
.frame(width: 360)
}
} }
MasterDiscoveryInlineList(discovery: self.masterDiscovery) { master in
self.applyDiscoveredMaster(master)
}
.frame(width: fieldWidth, alignment: .leading)
.padding(.leading, contentLeading)
DisclosureGroup("Advanced") { DisclosureGroup("Advanced") {
VStack(alignment: .leading, spacing: 8) { VStack(alignment: .leading, spacing: 8) {
LabeledContent("Identity file") { LabeledContent("Identity file") {
TextField("/Users/you/.ssh/id_ed25519", text: self.$state.remoteIdentity) TextField("/Users/you/.ssh/id_ed25519", text: self.$state.remoteIdentity)
.textFieldStyle(.roundedBorder) .textFieldStyle(.roundedBorder)
.frame(width: 300) .frame(width: fieldWidth)
} }
LabeledContent("Project root") { LabeledContent("Project root") {
TextField("/home/you/Projects/clawdis", text: self.$state.remoteProjectRoot) TextField("/home/you/Projects/clawdis", text: self.$state.remoteProjectRoot)
.textFieldStyle(.roundedBorder) .textFieldStyle(.roundedBorder)
.frame(width: 300) .frame(width: fieldWidth)
} }
} }
.padding(.top, 4) .padding(.top, 4)