added email templates

This commit is contained in:
Piyush Gupta
2023-09-19 21:15:27 +05:30
parent be5f741ec7
commit 91cb8d8503
4 changed files with 298 additions and 33 deletions

View File

@@ -11,23 +11,31 @@ interface CodeBlockProps {
children: React.ReactNode;
language: string;
customCodeClass?: string;
showCopyToClipboard?: boolean;
}
const CodeBlock: React.FC<CodeBlockProps> = ({ children, language, customCodeClass = "" }) => {
const CodeBlock: React.FC<CodeBlockProps> = ({
children,
language,
customCodeClass = "",
showCopyToClipboard = true,
}) => {
useEffect(() => {
Prism.highlightAll();
}, [children]);
return (
<div className="group relative mt-4 rounded-md text-sm text-slate-200">
<DocumentDuplicateIcon
className="absolute right-4 top-4 z-20 h-5 w-5 cursor-pointer text-slate-600 opacity-0 transition-all duration-150 group-hover:opacity-60"
onClick={() => {
const childText = children?.toString() || "";
navigator.clipboard.writeText(childText);
toast.success("Copied to clipboard");
}}
/>
{showCopyToClipboard && (
<DocumentDuplicateIcon
className="absolute right-4 top-4 z-20 h-5 w-5 cursor-pointer text-slate-600 opacity-0 transition-all duration-150 group-hover:opacity-60"
onClick={() => {
const childText = children?.toString() || "";
navigator.clipboard.writeText(childText);
toast.success("Copied to clipboard");
}}
/>
)}
<pre>
<code className={cn(`language-${language} whitespace-pre-wrap`, customCodeClass)}>{children}</code>
</pre>