fix: wire markdown variant renderer

This commit is contained in:
Peter Steinberger
2026-01-16 09:19:20 +00:00
parent 4965727f39
commit 949fa1051f
3 changed files with 14 additions and 10 deletions

View File

@@ -43,12 +43,17 @@ private struct ChatMarkdownStyle: ViewModifier {
let textColor: Color let textColor: Color
func body(content: Content) -> some View { func body(content: Content) -> some View {
content Group {
.font(self.font) if self.variant == .compact {
.foregroundStyle(self.textColor) content.textual.structuredTextStyle(.default)
.textual.structuredTextStyle(self.variant == .compact ? .default : .gitHub) } else {
.textual.inlineStyle(self.inlineStyle) content.textual.structuredTextStyle(.gitHub)
.textual.textSelection(.enabled) }
}
.font(self.font)
.foregroundStyle(self.textColor)
.textual.inlineStyle(self.inlineStyle)
.textual.textSelection(.enabled)
} }
private var inlineStyle: InlineStyle { private var inlineStyle: InlineStyle {

View File

@@ -487,10 +487,11 @@ extension ChatTypingIndicatorBubble: @MainActor Equatable {
@MainActor @MainActor
struct ChatStreamingAssistantBubble: View { struct ChatStreamingAssistantBubble: View {
let text: String let text: String
let markdownVariant: ChatMarkdownVariant
var body: some View { var body: some View {
VStack(alignment: .leading, spacing: 10) { VStack(alignment: .leading, spacing: 10) {
ChatAssistantTextBody(text: self.text) ChatAssistantTextBody(text: self.text, markdownVariant: self.markdownVariant)
} }
.padding(12) .padding(12)
.background( .background(
@@ -594,8 +595,6 @@ private struct TypingDots: View {
} }
} }
@MainActor
@MainActor
private struct ChatAssistantTextBody: View { private struct ChatAssistantTextBody: View {
let text: String let text: String
let markdownVariant: ChatMarkdownVariant let markdownVariant: ChatMarkdownVariant

View File

@@ -179,7 +179,7 @@ public struct ClawdbotChatView: View {
} }
if let text = self.viewModel.streamingAssistantText, AssistantTextParser.hasVisibleContent(in: text) { if let text = self.viewModel.streamingAssistantText, AssistantTextParser.hasVisibleContent(in: text) {
ChatStreamingAssistantBubble(text: text) ChatStreamingAssistantBubble(text: text, markdownVariant: self.markdownVariant)
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading)
} }
} }