sanitize output

This commit is contained in:
Philipinho
2026-02-06 17:56:28 -08:00
parent 7dcf5006d3
commit 37f349f040
@@ -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" />}