reviewing is work
This commit is contained in:
+2
-2
File diff suppressed because one or more lines are too long
@@ -125,6 +125,11 @@ final class ChatModel {
|
|||||||
builder.open && session?.state == .running
|
builder.open && session?.state == .running
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var reviewing: Bool {
|
||||||
|
let state = taskId.flatMap { store.findTask($0) }?.state
|
||||||
|
return state == .reviewing || state == .reviewPending
|
||||||
|
}
|
||||||
|
|
||||||
var subagents: Bool {
|
var subagents: Bool {
|
||||||
(session?.subagents ?? 0) > 0
|
(session?.subagents ?? 0) > 0
|
||||||
}
|
}
|
||||||
@@ -742,6 +747,7 @@ private struct TranscriptScroll: View {
|
|||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
let running = model.running
|
let running = model.running
|
||||||
|
let active = running || model.reviewing
|
||||||
ScrollView {
|
ScrollView {
|
||||||
VStack(alignment: .leading, spacing: 0) {
|
VStack(alignment: .leading, spacing: 0) {
|
||||||
if model.key == nil {
|
if model.key == nil {
|
||||||
@@ -845,8 +851,8 @@ private struct TranscriptScroll: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.overlay {
|
.overlay {
|
||||||
Rectangle().stroke(running ? accent : .clear, lineWidth: 1)
|
Rectangle().stroke(active ? accent : .clear, lineWidth: 1)
|
||||||
.animation(.easeInOut(duration: 0.3), value: running)
|
.animation(.easeInOut(duration: 0.3), value: active)
|
||||||
}
|
}
|
||||||
.overlay(alignment: .topTrailing) {
|
.overlay(alignment: .topTrailing) {
|
||||||
AttentionBar(model: model)
|
AttentionBar(model: model)
|
||||||
@@ -1581,6 +1587,7 @@ private struct SnapshotRow: View {
|
|||||||
let showReview: () -> Void
|
let showReview: () -> Void
|
||||||
@Environment(Store.self) private var store
|
@Environment(Store.self) private var store
|
||||||
@Environment(Overlays.self) private var overlays
|
@Environment(Overlays.self) private var overlays
|
||||||
|
@Environment(\.paneAccent) private var accent
|
||||||
@ViewState private var forking = false
|
@ViewState private var forking = false
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
@@ -1658,7 +1665,7 @@ private struct SnapshotRow: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.buttonStyle(SmallLinkButtonStyle(color: n > 0 ? Palette.warn : Palette.accent, fill: review?.state == .running ? Palette.accentTint : .clear))
|
.buttonStyle(SmallLinkButtonStyle(color: n > 0 ? Palette.warn : Palette.accent, border: review?.state == .running ? accent : Palette.border))
|
||||||
.disabled(review == nil || review?.state == .running)
|
.disabled(review == nil || review?.state == .running)
|
||||||
.help(review?.state == .running ? "Review in progress" : review == nil ? "Not reviewed" : "Scroll to the review of snapshot \(snap.n)")
|
.help(review?.state == .running ? "Review in progress" : review == nil ? "Not reviewed" : "Scroll to the review of snapshot \(snap.n)")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -403,7 +403,6 @@ private struct WebButton: View {
|
|||||||
struct SmallLinkButtonStyle: ButtonStyle {
|
struct SmallLinkButtonStyle: ButtonStyle {
|
||||||
var color = Palette.accent
|
var color = Palette.accent
|
||||||
var border = Palette.border
|
var border = Palette.border
|
||||||
var fill = Color.clear
|
|
||||||
@Environment(\.isEnabled) private var enabled
|
@Environment(\.isEnabled) private var enabled
|
||||||
|
|
||||||
func makeBody(configuration: ButtonStyleConfiguration) -> some View {
|
func makeBody(configuration: ButtonStyleConfiguration) -> some View {
|
||||||
@@ -411,7 +410,6 @@ struct SmallLinkButtonStyle: ButtonStyle {
|
|||||||
.font(Fonts.font(11))
|
.font(Fonts.font(11))
|
||||||
.foregroundStyle(color)
|
.foregroundStyle(color)
|
||||||
.padding(.horizontal, 6)
|
.padding(.horizontal, 6)
|
||||||
.background(fill, in: RoundedRectangle(cornerRadius: 4))
|
|
||||||
.overlay(RoundedRectangle(cornerRadius: 4).stroke(border))
|
.overlay(RoundedRectangle(cornerRadius: 4).stroke(border))
|
||||||
.opacity(enabled ? 1 : 0.45)
|
.opacity(enabled ? 1 : 0.45)
|
||||||
.contentShape(Rectangle())
|
.contentShape(Rectangle())
|
||||||
|
|||||||
Reference in New Issue
Block a user