LibraryRow

tcmts.registry.pages.LibraryRow · #c2oam4vs · term · runs anywhere

A library in a list: its name and version, how many use it, what it is, where it runs and what it reaches, its licence, what people say of it and its stars.

import type { Trusted } from "#codebase/tcmts/cli/attest";
import { libraryHref, said } from "#codebase/tcmts/registry";
import type { Library } from "#codebase/tcmts/registry";
import { PlaceBar, Reaches } from "#codebase/tcmts/registry/pages";

export function LibraryRow({
  l,
  who,
  notes,
  stars,
}: {
  l: Library;
  who: Trusted;
  notes?: string;
  stars?: number;
}) {
  const r = l.latest;
  return (
    <div className="lib">
      <div>
        <a className="name mono" href={libraryHref(who, l.package)}>
          {said(who)}/{l.package}
        </a>{" "}
        <span className="mono muted">{r.version}</span>
      </div>
      <div className="stat">
        <b>{l.dependents}</b>
        dependent{l.dependents === 1 ? "" : "s"}
      </div>
      {r.facts?.description && <div className="desc">{r.facts.description}</div>}
      <div className="meta">
        {r.facts && <PlaceBar places={r.facts.places} thin />}
        {r.facts && (
          <span>
            <Reaches facts={r.facts} />
          </span>
        )}
        {notes && <span>{notes}</span>}
        {r.facts?.license && <span>{r.facts.license}</span>}
        {stars ? <span>★ {stars}</span> : null}
      </div>
    </div>
  );
}

uses

used by