diff --git a/frontend/src/components/chat/ChatMessage.tsx b/frontend/src/components/chat/ChatMessage.tsx index ba353f7..98d1bdb 100644 --- a/frontend/src/components/chat/ChatMessage.tsx +++ b/frontend/src/components/chat/ChatMessage.tsx @@ -78,6 +78,7 @@ export function ChatMessage({ }`} >
+{children}); @@ -193,7 +215,7 @@ const markdownComponents: Record= { }, th({ children }: { children?: React.ReactNode }) { return ( - + {children} ); @@ -271,14 +293,14 @@ function CollapsibleSection({ ? { wrapper: "mt-6 mb-4 scroll-mt-4", button: - "w-full flex items-center gap-2 px-3 py-3 rounded-xl bg-gradient-to-r from-blue-100 via-blue-50 to-transparent dark:from-blue-900/40 dark:via-blue-950/20 dark:to-transparent hover:from-blue-200 dark:hover:from-blue-900/60 transition-all text-left group border-b-2 border-blue-200 dark:border-blue-800", + "w-full flex items-center gap-2 px-3 py-3 rounded-xl bg-gradient-to-r rtl:bg-gradient-to-l from-blue-100 via-blue-50 to-transparent dark:from-blue-900/40 dark:via-blue-950/20 dark:to-transparent hover:from-blue-200 dark:hover:from-blue-900/60 transition-all text-start group border-b-2 border-blue-200 dark:border-blue-800", text: "text-xl font-bold text-foreground group-hover:text-blue-800 dark:group-hover:text-blue-300 transition-colors", icon: "w-5 h-5 text-blue-600", } : { wrapper: "mt-5 mb-3 scroll-mt-4", button: - "w-full flex items-center gap-2 px-3 py-2.5 rounded-lg bg-gradient-to-r from-blue-50 via-blue-50/50 to-transparent dark:from-blue-950/30 dark:via-blue-950/15 dark:to-transparent hover:from-blue-100 dark:hover:from-blue-950/50 transition-all text-left group", + "w-full flex items-center gap-2 px-3 py-2.5 rounded-lg bg-gradient-to-r rtl:bg-gradient-to-l from-blue-50 via-blue-50/50 to-transparent dark:from-blue-950/30 dark:via-blue-950/15 dark:to-transparent hover:from-blue-100 dark:hover:from-blue-950/50 transition-all text-start group", text: "text-lg font-semibold text-foreground group-hover:text-blue-700 dark:group-hover:text-blue-300 transition-colors", icon: "w-5 h-5 text-blue-500", }; @@ -295,19 +317,19 @@ function CollapsibleSection({ > {!isCollapsed && section.content && ( -+>(new Map()); const sections = useMemo(() => parseIntoSections(content), [content]); + const direction = useMemo(() => detectTextDirection(content), [content]); // Track changes between versions useEffect(() => { @@ -414,7 +437,7 @@ export function ReportMarkdownRenderer({ if (!content) return null; return ( - +{/* Table of Contents */} {toc.length > 3 && (