Tool Call Card Alignment
Nucleic-Session: FFDE42E0-22AB-4478-B2E2-FF69B2753CEE Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
@@ -124,13 +124,26 @@ struct MessageBubble: View {
|
||||
}
|
||||
}
|
||||
|
||||
/// The agent's reasoning, set apart from its prose by a quiet left rule and a `sparkles` glyph,
|
||||
/// italic and muted — the phone echo of the Mac's `thinkingRow`. Renders nothing for an
|
||||
/// empty/redacted thinking block (matching the desktop), so a placeholder row never shows.
|
||||
struct ThinkingRow: View {
|
||||
let text: String
|
||||
var body: some View {
|
||||
Text(text)
|
||||
.font(.callout.italic())
|
||||
.foregroundStyle(.secondary)
|
||||
let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
if !trimmed.isEmpty {
|
||||
HStack(alignment: .top, spacing: 8) {
|
||||
Rectangle().fill(.quaternary).frame(width: 2).cornerRadius(1)
|
||||
HStack(alignment: .firstTextBaseline, spacing: 6) {
|
||||
Image(systemName: "sparkles").font(.caption2).foregroundStyle(.tertiary)
|
||||
Text(trimmed)
|
||||
.font(.callout.italic()).foregroundStyle(.secondary)
|
||||
.lineSpacing(4)
|
||||
.textSelection(.enabled)
|
||||
}
|
||||
}
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user