Spaces:
Configuration error
Configuration error
import ReactMarkdown from 'react-markdown'; | |
import { FC, useEffect, useState } from 'react'; | |
interface Props { | |
code: string; | |
editable?: boolean; | |
onChange?: (value: string) => void; | |
} | |
export const MarkdownBlock: FC<Props> = ({ | |
code, | |
editable = false, | |
onChange = () => {}, | |
}) => { | |
const [copyText, setCopyText] = useState<string>('Copy'); | |
useEffect(() => { | |
const timeout = setTimeout(() => { | |
setCopyText('Copy'); | |
}, 2000); | |
return () => clearTimeout(timeout); | |
}, [copyText]); | |
return ( | |
<div className="relative"> | |
<button | |
className="absolute right-0 top-0 z-10 rounded bg-[#1A1B26] p-1 text-xs text-white hover:bg-[#2D2E3A] active:bg-[#2D2E3A]" | |
onClick={() => { | |
navigator.clipboard.writeText(code); | |
setCopyText('Copied!'); | |
}} | |
> | |
{copyText} | |
</button> | |
<div className="p-4 h-500px bg-[#1A1B26] text-white overflow-scroll rounded-md"> | |
<ReactMarkdown className="font-normal">{code}</ReactMarkdown> | |
</div> | |
</div> | |
); | |
}; | |