ProzillaOS/packages/apps/text-editor/components/overrides/MarkdownImage.tsx
2024-06-16 21:46:44 +02:00

28 lines
No EOL
637 B
TypeScript

import { useMemo } from "react";
import { MarkdownProps } from "../TextEditor";
import { sanitizeProps } from "../../../../features/apps/text-editor/_utils/sanitizeProps";
import styles from "../TextEditor.module.css";
interface MarkdownImageProps extends MarkdownProps {
src: string;
alt: string
}
export function MarkdownImage({ alt, src, ...props }: MarkdownImageProps) {
const source = useMemo(() => {
if (src.startsWith("public")) {
return src.replace(/^public\//g, "/");
}
return src;
}, [src]);
sanitizeProps(props);
return <img
{...props}
src={source}
className={styles.MarkdownImage}
alt={alt}
/>;
}