Questions tab, question bubbles, answer snapshots; errors to transcript

This commit is contained in:
Ian Gulliver
2026-10-18 15:06:06 -07:00
parent 1ef3594016
commit 10a80ccb22
31 changed files with 744 additions and 665 deletions
+5 -5
View File
@@ -55,7 +55,7 @@ private let shortcuts: [(String, [(String, String)])] = [
("name: title", "Create the task in the project whose name starts with name"),
("Esc", "Back from the workflow list to the task list"),
]),
("Composer and inbox answers", [
("Composer and answers", [
("Enter", "Send"),
("Shift+Enter", "New line"),
("Enter / Space", "Pick the focused choice"),
@@ -261,7 +261,7 @@ final class SwitcherModel {
private func go(_ taskId: String) {
close()
if store.inbox.contains(where: { $0.taskId == taskId }) {
store.focusTask(taskId, .inbox)
store.focusTask(taskId, .questions)
} else if let task = store.findTask(taskId), store.unreadSummary(task) {
store.composerFocus = taskId
store.openSummary(task)
@@ -408,14 +408,14 @@ private struct SwitcherRowView: View {
case .task(let project, let task, let count):
let ts = store.taskState(task)
let color = taskPalette[task.color]
StateDot(filled: ts.kind == .working || ts.kind == .merging ? Palette.ok : ts.kind == .answer ? Palette.warn : ts.kind == .error ? Palette.danger : nil)
StateDot(filled: ts.kind == .working || ts.kind == .merging ? Palette.ok : ts.kind == .answer ? Palette.warn : nil)
.help(ts.title)
Text(taskTitle(project, task, color))
.lineLimit(1)
.truncationMode(.tail)
.frame(maxWidth: .infinity, alignment: .leading)
if count > 0 {
Badge(count: count).help("inbox items")
Badge(count: count).help("open questions")
}
if store.unreadSummary(task) {
Text("new summary")
@@ -426,7 +426,7 @@ private struct SwitcherRowView: View {
}
Text(ts.label)
.font(Fonts.font(11))
.foregroundStyle(ts.kind == .answer ? Palette.warn : ts.kind == .error ? Palette.danger : Palette.muted)
.foregroundStyle(ts.kind == .answer ? Palette.warn : Palette.muted)
.help(ts.title)
case .project(let p):
StateDot(filled: nil)