"use client"; import * as React from "react"; import { CheckIcon } from "lucide-react"; import { Button } from "./button"; import { cn } from "../lib/utils"; import { Copy } from "lucide-react"; interface CodeBlockWithCopyProps { code: string; children: React.ReactNode; className?: string; } export function CodeBlockWithCopy({ code, children, className, }: CodeBlockWithCopyProps) { const [isCopied, setIsCopied] = React.useState(false); const copyToClipboard = async () => { try { await navigator.clipboard.writeText(code); setIsCopied(true); setTimeout(() => setIsCopied(false), 2000); } catch (err) { console.error("Failed to copy: ", err); } }; return (