import Link from "next/link";
import { getRepos, BackendOffline, type RepoInfo } from "@/lib/api";
import { timeAgo } from "@/lib/format";
import Offline from "@/components/Offline";
// Always render against the live backend — never bake an offline state in at build time.
export const dynamic = "force-dynamic";
export default async function Home() {
let repos: RepoInfo[];
try {
repos = (await getRepos()) ?? [];
} catch (e) {
if (e instanceof BackendOffline) return
Every repository here lives on hardware its owner controls. Browse anything,
clone everything — writing is reserved for one person.
Code that outlives the platforms.
The archive is empty — the first git push will
fill it.
{r.description || "no description"}
▪ {r.default}
))}