"use client"; import { useState } from "react"; import { Highlight } from "prism-react-renderer"; import { Check, Copy } from "lucide-react"; import { Button } from "@/components/ui/button"; import theme from "./theme"; interface CodeEditorProps { code: string; language: string; } export function CodeEditor({ code, language }: CodeEditorProps) { const [isCopied, setIsCopied] = useState(false); const copyToClipboard = async () => { try { await navigator.clipboard.writeText(code); setIsCopied(true); setTimeout(() => setIsCopied(false), 2000); } catch (err) { console.error("Failed to copy text: ", err); } }; return (
{({ className, style, tokens, getLineProps, getTokenProps }) => (
						{tokens.map((line, i) => {
							const lineProps = getLineProps({ line, key: i });
							return (
								
{i + 1} {line.map((token, key) => { const tokenProps = getTokenProps({ token, key }); return ( {tokenProps.children} ); })}
); })}
)}
); }