Vectrum
Sign In
21 lines · 739 Bytes · TypeScript
/** The lines a thread is about, as they were when it was started. */
export function Snippet({ code, path, line }: { code: string | null; path: string | null; line: number | null }) {
  return (
    <div className="font-mono text-[11.5px] leading-[20px]">
      <div className="rule-b px-4 py-1.5 text-ink2">
        {path}
        <span className="text-ink3">:{line}</span>
      </div>
      {code && (
        <pre className="overflow-x-auto py-1">
          {code.split("\n").map((l, i) => (
            <div key={i} className={`px-4 ${l.startsWith("+") ? "bg-[var(--diff-add)]" : l.startsWith("-") ? "bg-[var(--diff-del)]" : ""}`}>
              {l || " "}
            </div>
          ))}
        </pre>
      )}
    </div>
  );
}