fix: wire markdown variant renderer
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user