"use client"; import React, { useState } from "react"; import { Highlight, themes } 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 (
{tokens.map((line, i) => (
{i + 1}
{line.map((token, key) => (
))}
))}
)}