import { useState } from "react"; export function CodeBlock({ code, language = "text", }: { code: string; language?: string; }) { const [status, setStatus] = useState("复制"); async function copy() { try { await navigator.clipboard.writeText(code); setStatus("已复制"); } catch { setStatus("复制失败,请手动选择"); } setTimeout(() => setStatus("复制"), 2400); } return (
{language === "sh" ? "Terminal" : language} {status === "复制" ? "" : status}
        
          {code
            .replace(/\n$/, "")
            .split("\n")
            .map((line, i) => (
              
                
                
                  {/^(pnpm|uv)\b/.test(line) ? (
                    <>
                      {line.split(" ")[0]}
                      {line.slice(line.indexOf(" "))}
                    
                  ) : (
                    line || "\u00a0"
                  )}
                
              
            ))}
        
      
); }