25 lines
541 B
TypeScript
25 lines
541 B
TypeScript
import { memo } from "react";
|
|
import MarkdownRender from "markstream-react";
|
|
|
|
/** Render one assistant text part; final also settles interrupted streams. */
|
|
export const MessageMarkdown = memo(function MessageMarkdown({
|
|
content,
|
|
final,
|
|
}: {
|
|
content: string;
|
|
final: boolean;
|
|
}) {
|
|
return (
|
|
<div className="ai-markdown">
|
|
<MarkdownRender
|
|
content={content}
|
|
final={final}
|
|
fade={false}
|
|
htmlPolicy="escape"
|
|
renderCodeBlocksAsPre
|
|
batchRendering={false}
|
|
/>
|
|
</div>
|
|
);
|
|
});
|