"use client"; import { cn } from "@/lib/cn"; import { useTranslate } from "@tolgee/react"; import { CopyIcon } from "lucide-react"; import Prism from "prismjs"; import "prismjs/themes/prism.css"; import React, { useEffect } from "react"; import toast from "react-hot-toast"; import "./style.css"; interface CodeBlockProps { children: React.ReactNode; language: string; customCodeClass?: string; customEditorClass?: string; showCopyToClipboard?: boolean; noMargin?: boolean; } export const CodeBlock = ({ children, language, customEditorClass = "", customCodeClass = "", showCopyToClipboard = true, noMargin = false, }: CodeBlockProps) => { const { t } = useTranslate(); useEffect(() => { Prism.highlightAll(); }, [children]); return (
{showCopyToClipboard && (
{ const childText = children?.toString() || ""; navigator.clipboard.writeText(childText); toast.success(t("common.copied_to_clipboard")); }} className="h-4 w-4" />
)}
        {children}
      
); };