Initial app scaffold wired end-to-end: Payload 3.82 CMS integrated with Next 16.2 App Router (standalone output), PostgreSQL 17 adapter, Lexical rich text, Tailwind 3 with Material 3 token palette ported from the stitch technical- editorial design, self-hosted Space Grotesk + Inter via next/font, and lucide-react icons. Admin lives at /admin, REST/GraphQL at /api/*, and /api/health returns build SHA/REV for deploy verification. Seven collections (Users, Media, Categories, Projects, Posts, Gear, ContactSubmissions) and six globals (Home, About, Contact, Resume, Navigation, SEO) model the content outlined in docs/PRD.md. Multi-stage Dockerfile builds a non-root standalone runner; Woodpecker pipeline lints, typechecks, builds, audits, builds with Kaniko to git.mosaicstack.dev, scans with Trivy, and links the package. Swarm compose mirrors the mosaic-stack-website Traefik entrypoints=web pattern with www->apex redirect and immutable WEB_IMAGE_TAG. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
934 B
TypeScript
28 lines
934 B
TypeScript
import { SiteHeader } from "@/components/SiteHeader";
|
|
import { SiteFooter } from "@/components/SiteFooter";
|
|
|
|
export const metadata = { title: "About" };
|
|
|
|
export default function AboutPage() {
|
|
return (
|
|
<>
|
|
<SiteHeader />
|
|
<main className="mx-auto max-w-7xl px-6 py-24">
|
|
<span className="mb-6 block font-label text-xs uppercase tracking-[0.4em] text-tertiary">
|
|
02 // PROFILE
|
|
</span>
|
|
<h1 className="mb-8 font-headline text-5xl font-bold tracking-tighter md:text-7xl">
|
|
About
|
|
</h1>
|
|
<p className="max-w-3xl font-body text-xl text-on-surface-variant">
|
|
Engineering growth through technological mastery and strategic
|
|
leadership. Content sourced from Payload CMS (global:{" "}
|
|
<code className="font-label text-primary">about</code>) — populated on
|
|
first publish.
|
|
</p>
|
|
</main>
|
|
<SiteFooter />
|
|
</>
|
|
);
|
|
}
|