spb/autoscholar
Public
1import { renderMath } from "@/lib/math";23/** Server component: plain text with inline/display TeX rendered through KaTeX; everything else escaped. */4export function MathText({5 text,6 as: Tag = "p",7 className = "",8}: {9 text: string;10 as?: "p" | "span" | "div" | "li";11 className?: string;12}) {13 const { html, hasMath } = renderMath(text);14 if (!hasMath) return <Tag className={className}>{text}</Tag>;15 // biome-ignore lint/security/noDangerouslySetInnerHtml: output of renderMath (escaped text + KaTeX markup)16 return <Tag className={className} dangerouslySetInnerHTML={{ __html: html }} />;17}18