File size: 797 Bytes
7198b5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { cn } from "@/lib/utils";

export function CodeBlock({
  children,
  language,
  className,
  filename,
}: {
  children: string;
  language?: string;
  className?: string;
  filename?: string;
}) {
  return (
    <div className={cn("rounded-md border border-stroke bg-surface", className)}>
      {(filename || language) && (
        <div className="flex items-center justify-between border-b border-stroke px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted">
          <span>{filename ?? language}</span>
          {filename && language ? <span>{language}</span> : null}
        </div>
      )}
      <pre className="overflow-x-auto px-4 py-3 text-[13px] leading-relaxed">
        <code className="font-mono text-ink">{children}</code>
      </pre>
    </div>
  );
}