Resolve Trunk Promotion Conflict

Nucleic-Session: 20A52F7E-A10D-4B59-B650-D3FD6BC3B46B
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-03 16:32:14 -07:00
co-authored by Nucleic
parent 23baade658
commit f39fd16800
@@ -162,8 +162,22 @@ struct PairingIntroView: View {
private var pairingStatus: some View { private var pairingStatus: some View {
switch store.connectivity { switch store.connectivity {
case .connecting, .reconnecting: case .connecting, .reconnecting:
Label("Connecting to your Mac…", systemImage: "arrow.triangle.2.circlepath") // A first tailnet pairing with no auth key detours through a browser login
.font(.footnote).foregroundStyle(.secondary) // that can take minutes — and this intro is the ONLY screen an unpaired phone
// has (no Settings tab yet), so the way back to the login page must live here.
if let loginURL = store.tailnetLoginURL {
VStack(spacing: 6) {
Label("Approve this iPhone in your browser to join your tailnet.",
systemImage: "person.crop.circle.badge.checkmark")
.font(.footnote).foregroundStyle(.secondary)
.multilineTextAlignment(.center).padding(.horizontal, 32)
Link("Open the Tailscale login page", destination: loginURL)
.font(.footnote.weight(.medium))
}
} else {
Label("Connecting to your Mac…", systemImage: "arrow.triangle.2.circlepath")
.font(.footnote).foregroundStyle(.secondary)
}
case .hostOffline: case .hostOffline:
Label("Can't reach your Mac. Make sure it's on the same Wi‑Fi and remote access is on.", Label("Can't reach your Mac. Make sure it's on the same Wi‑Fi and remote access is on.",
systemImage: "wifi.exclamationmark") systemImage: "wifi.exclamationmark")