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
+8 -8
View File
@@ -27,7 +27,7 @@ let tabLabels: [TaskTab: String] = [
.changes: "Changes",
.files: "Files",
.terminal: "Terminal",
.inbox: "Inbox",
.questions: "Questions",
.reviews: "Reviews",
.workflow: "Workflow",
.project: "Project",
@@ -211,8 +211,8 @@ private struct TaskPane: View {
for item in fresh {
seen.insert(item.id)
}
if store.focus.tab == .transcript && !store.paneFocus.drafting && fresh.contains(where: { $0.kind == .question && $0.taskId == store.selectedTaskId }) {
store.focusTab(.inbox)
if store.focus.tab == .transcript && !store.paneFocus.drafting && fresh.contains(where: { $0.taskId == store.selectedTaskId }) {
store.focusTab(.questions)
}
}
}
@@ -231,8 +231,8 @@ private struct TaskPane: View {
FilesView()
case .terminal:
TerminalTab()
case .inbox:
InboxView()
case .questions:
QuestionsView()
case .reviews:
ReviewsView()
case .workflow:
@@ -370,11 +370,11 @@ private struct TabStrip: View {
var reviewing: Bool
func count(_ t: TaskTab) -> Int {
t == .inbox ? waiting : t == .reviews && !reviewing ? findings : 0
t == .questions ? waiting : t == .reviews && !reviewing ? findings : 0
}
func badge(_ t: TaskTab) -> TabBadge {
count(t) > 0 ? .count(count(t), t == .inbox ? "inbox items" : "open findings in the latest review") : .none
count(t) > 0 ? .count(count(t), t == .questions ? "open questions" :"open findings in the latest review") : .none
}
}
@@ -398,7 +398,7 @@ private struct TabStrip: View {
}
switch t {
case .board: return team
case .inbox: return waiting > 0
case .questions: return waiting > 0
case .reviews: return hasReviews
case .workflow: return workflow
default: return true