mirror of
https://github.com/docmost/docmost.git
synced 2026-05-07 06:23:06 +08:00
sanitize output
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { Loader, Paper, Text } from "@mantine/core";
|
import { Loader, Paper, Text } from "@mantine/core";
|
||||||
|
import DOMPurify from "dompurify";
|
||||||
import { marked } from "marked";
|
import { marked } from "marked";
|
||||||
import { memo } from "react";
|
import { memo } from "react";
|
||||||
import classes from "./ai-menu.module.css";
|
import classes from "./ai-menu.module.css";
|
||||||
@@ -13,12 +14,12 @@ const ResultPreview = memo(({ output, isLoading }: ResultPreviewProps) => {
|
|||||||
const parsedOutput = `${marked.parse(output)}`;
|
const parsedOutput = `${marked.parse(output)}`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Paper p="sm" mb={4} withBorder>
|
<Paper p="sm" mb={4} shadow="lg" withBorder>
|
||||||
<Text size="sm">
|
<Text size="sm" component="div">
|
||||||
{parsedOutput && (
|
{parsedOutput && (
|
||||||
<div
|
<div
|
||||||
className={classes.resultPreviewWrapper}
|
className={classes.resultPreviewWrapper}
|
||||||
dangerouslySetInnerHTML={{ __html: parsedOutput }}
|
dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(parsedOutput) }}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{isLoading && <Loader size={12} ml="xs" display="inline-block" />}
|
{isLoading && <Loader size={12} ml="xs" display="inline-block" />}
|
||||||
|
|||||||
Reference in New Issue
Block a user