jacquardSnapshot

← snapshot

1426 bytes
import Link from "next/link";
import { JackieStage } from "@/components/jackie/jackie-stage";
import { api } from "@/lib/api";
import type { RepoSummary } from "@/lib/types";

export const dynamic = "force-dynamic";

export default async function Home() {
  let repos: RepoSummary[] = [];
  let serverDown = false;
  try {
    repos = (await api.listRepos()).repos;
  } catch {
    serverDown = true;
  }

  if (serverDown) {
    return (
      <div className="jac-stage">
        <h1 className="jac-stage-title">The floor is dark.</h1>
        <p className="jac-stage-line">
          jac-serve is not answering. Start it with{" "}
          <span className="jac-mono">cargo run -p jac-serve</span> on port 8787,
          then reload.
        </p>
      </div>
    );
  }

  return (
    <div className="jac-stage-wrap">
      <header className="jac-stage-top">
        <span className="jac-rail-mark" aria-hidden="true" />
        <span>
          <span className="jac-rail-name">lowell</span>
          <span className="jac-rail-sub" style={{ display: "block" }}>
            mill floor
          </span>
        </span>
        <span className="jac-spacer" />
        <Link href="/registry" className="jac-type-instead">
          registry
        </Link>
        <Link href="/new" className="jac-type-instead">
          warp a loom
        </Link>
      </header>

      <JackieStage repos={repos} />
    </div>
  );
}