diff --git a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift index 1f77503..2343df6 100644 --- a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift +++ b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift @@ -362,6 +362,18 @@ struct SessionDetailView: View { .textFieldStyle(.plain) .lineLimit(1...4) .padding(.vertical, 3) + // Stop the in-flight turn (the Mac's ⌘. / "Interrupt"). Shown only + // while running and at control scope; send stays at the far right so + // its position never shifts. Mirrors `interruptShortcut`. + if running && store.canControl { + Button { store.interrupt(sessionID) } label: { + Image(systemName: "stop.circle.fill") + .font(.title2) + .foregroundStyle(.red) + } + .disabled(!store.connectivity.isLive) + .accessibilityLabel("Stop") + } Button { store.sendInput(draft, to: sessionID) draft = ""