| 
					
				 | 
			
			
				@@ -20,6 +20,7 @@ import { useChatContext } from '@/app/components/base/chat/chat/context' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import VideoGallery from '@/app/components/base/video-gallery' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import AudioGallery from '@/app/components/base/audio-gallery' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import SVGRenderer from '@/app/components/base/svg-gallery' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Button from '@/app/components/base/button' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Available language https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_HLJS.MD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const capitalizationLanguageNameMap: Record<string, string> = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -240,6 +241,22 @@ const Link = ({ node, ...props }: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const MarkdownButton = ({ node }: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { onSend } = useChatContext() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const variant = node.properties.dataVariant 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const message = node.properties.dataMessage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const size = node.properties.dataSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return <Button variant={variant} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    size={size} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    className={cn('!h-8 !px-3 select-none')} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClick={() => onSend?.(message)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <span className='text-[13px]'>{node.children[0].value}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </Button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MarkdownButton.displayName = 'MarkdownButton' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export function Markdown(props: { content: string; className?: string }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const latexContent = preprocessLaTeX(props.content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -271,6 +288,7 @@ export function Markdown(props: { content: string; className?: string }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           audio: AudioBlock, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           a: Link, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           p: Paragraph, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          button: MarkdownButton, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         linkTarget='_blank' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       > 
			 |