fix(ui): align SSH target discovery row
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user