import { useEffect, useRef } from 'react';
import { useLongContent } from './hooks';
export const MaybeLongContent = ({
content,
path,
render,
}: {
content: string;
path?: string;
render: (content: string) => JSX.Element;
}) => {
const { error, data } = useLongContent(content, path);
if (error) {
return
Error loading content: {error.message}
;
}
if (!data) {
return Loading output area....
;
}
return {render(data.content)}
;
};
export const DangerousHTML = ({ content, ...rest }: { content: string }) => {
const ref = useRef(null);
useEffect(() => {
if (!content || !ref.current) return;
const el = document.createRange().createContextualFragment(content);
ref.current.innerHTML = '';
ref.current.appendChild(el);
}, [content, ref]);
return ;
};