import Markdown from 'react-markdown' import remarkGfm from 'remark-gfm' interface MarkdownContentProps { content: string | undefined | null className?: string } const styles = { h1: 'mb-6 text-3xl font-bold text-[var(--sea-ink)]', h2: 'mb-4 text-2xl font-bold text-[var(--sea-ink)]', h3: 'mb-3 text-xl font-bold text-[var(--sea-ink)]', p: 'demo-muted mb-4 leading-relaxed', a: 'hover:underline', ul: 'demo-muted mb-4 list-disc space-y-2 pl-6', ol: 'demo-muted mb-4 list-decimal space-y-2 pl-6', li: 'leading-relaxed', blockquote: 'demo-card my-4 border-l-4 border-l-[var(--lagoon-deep)] pl-4 italic', code: 'text-sm font-mono', pre: 'demo-code-block mb-4 overflow-x-auto', table: 'w-full border-collapse mb-4', th: 'border border-[var(--line)] bg-[var(--chip-bg)] p-2 text-left text-[var(--sea-ink)]', td: 'demo-muted border border-[var(--line)] p-2', img: 'max-w-full h-auto rounded-lg my-4', hr: 'my-8 border-[var(--line)]', strong: 'font-semibold text-[var(--sea-ink)]', } export function MarkdownContent({ content, className = '', }: MarkdownContentProps) { if (!content) return null return (
{children}
, a: ({ href, children }) => ( {children} ), ul: ({ children }) =>{children}), code: ({ className, children }) => { const isCodeBlock = className?.includes('language-') if (isCodeBlock) { return (
{children}
)
}
return {children}
},
pre: ({ children }) => <>{children}>,
table: ({ children }) => (