← 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>
);
}