Show task status in the composer bar instead of floating pills

This commit is contained in:
Ian Gulliver
2026-10-20 08:38:01 -07:00
parent baa048a89e
commit 289c58d778
6 changed files with 146 additions and 103 deletions
+32 -22
View File
@@ -336,32 +336,42 @@ struct ComposerView: View {
Thumbnails(key: draftKey)
editor
HStack(spacing: 8) {
if !chat.team {
Picker("", selection: Binding(get: { selected }, set: { v in
pick = v
modelChoices[modelKey] = v
})) {
ForEach(options, id: \.self) { m in
Text(m).tag(m)
HStack(spacing: 8) {
if !chat.team {
Picker("", selection: Binding(get: { selected }, set: { v in
pick = v
modelChoices[modelKey] = v
})) {
ForEach(options, id: \.self) { m in
Text(m).tag(m)
}
}
.labelsHidden()
.pickerStyle(.menu)
.fixedSize()
.help("Model for the next turn")
}
}
.frame(maxWidth: .infinity, alignment: .leading)
if let status = chat.status() {
StatusButton(status: status) {
chat.showStatus(status)
}
}
HStack(spacing: 8) {
Button("Interrupt") {
if let id = live?.id {
chat.interrupt(id, overlays)
}
}
.labelsHidden()
.pickerStyle(.menu)
.fixedSize()
.help("Model for the next turn")
}
Spacer()
Button("Interrupt") {
if let id = live?.id {
chat.interrupt(id, overlays)
.buttonStyle(WebButtonStyle(danger: true))
.disabled(sessionState != .running)
Button("Send") {
submit(modelState())
}
.buttonStyle(WebButtonStyle())
}
.buttonStyle(WebButtonStyle(danger: true))
.disabled(sessionState != .running)
Button("Send") {
submit(modelState())
}
.buttonStyle(WebButtonStyle())
.frame(maxWidth: .infinity, alignment: .trailing)
}
}
.padding(.horizontal, 16)