import type { Metadata } from "next"; import { HomeLanding } from "../components/HomeLanding"; import { PageShell, PageHeading } from "../components/PageShell"; import { loadSummary } from "../lib/summary"; // The operator's dashboard: headline KPIs, the cross-site activity chart with // its preset/customize strip, and the site grid. This used to BE the home route // — it moved here when `/` became the project's marketing page, restoring the // name the dashboard had before 33ed2fe deleted it. // // Everything on this page is OPERATOR identity, computed from whoever's corpus // built the bundle. It renders from the small summary compose-homepage writes to // public/homepage-summary.json, so it is static HTML with no multi-MB client // fetch. export const metadata: Metadata = { title: "Stats", description: "Cross-site activity for this deployment: transcription and download " + "counts over time, by site and by channel.", }; // A build with no corpus data still serves this route — the nav must never // 404 — but it says why the numbers are missing instead of drawing zeroes. function NoData() { return (
This build shipped without dashboard data. The numbers here are generated from the operator’s own corpus at build time, and a source-only build has none.
Running pnpm --filter homepage run build{" "}
against a configured install indexes the corpus and composes the summary
first. build:nodata{" "}
skips that step on purpose, so the site can be built from the source
tarball alone.