diff --git a/app/(marketing)/about/page.tsx b/app/(marketing)/about/page.tsx index 57ab556..a3695e1 100644 --- a/app/(marketing)/about/page.tsx +++ b/app/(marketing)/about/page.tsx @@ -1,4 +1,5 @@ import messages from "../../../messages/en/index"; +import { getAssetPath, governanceBookletPath } from "../../../lib/assetUtils"; import { getTranslation } from "../../../lib/i18n/getTranslation"; import AboutHeader from "../../components/type/AboutHeader"; import type { AboutHeaderSegment } from "../../components/type/AboutHeader"; @@ -55,7 +56,7 @@ export default function AboutPage() { title={page.book.title} description={page.book.description} buttonText={page.book.buttonText} - buttonHref={page.book.buttonHref} + buttonHref={getAssetPath(governanceBookletPath())} imageAlt={page.book.imageAlt} /> diff --git a/docs/guides/static-assets.md b/docs/guides/static-assets.md index 355000e..e91e102 100644 --- a/docs/guides/static-assets.md +++ b/docs/guides/static-assets.md @@ -48,6 +48,7 @@ stage. Raster → SVG conversion is tracked in | `marketing/section-number-*.svg` (×3) | SectionNumber | **Done** — SVG | | `marketing/avatar-*.svg` (×3) | Avatar / ASSETS | **Done** — SVG | | `marketing/hero-image.png` | HeroBanner | **Design review** — likely keep raster | +| `marketing/governance-booklet.pdf` | About / Book | **Done** — PDF (`governanceBookletPath()`) | | `logos/gitlab.svg` | Footer / social | **Done** — SVG | ## Related docs diff --git a/lib/assetUtils.ts b/lib/assetUtils.ts index cb471a2..ade72f8 100644 --- a/lib/assetUtils.ts +++ b/lib/assetUtils.ts @@ -97,6 +97,11 @@ export function sectionNumberPath(n: 1 | 2 | 3): string { return `assets/marketing/section-number-${n}.svg`; } +/** Downloadable governance booklet PDF (About / Sections / Book). */ +export function governanceBookletPath(): string { + return "assets/marketing/governance-booklet.pdf"; +} + /** Home feature grid panel art in `public/assets/marketing/`. */ export type FeaturePanelKey = "support" | "exercises" | "guidance" | "tools"; diff --git a/messages/en/pages/about.json b/messages/en/pages/about.json index 1e7e08b..3b38f4f 100644 --- a/messages/en/pages/about.json +++ b/messages/en/pages/about.json @@ -1,5 +1,5 @@ { - "_comment": "About page content. book.buttonHref is \"#\" as a stub until the book download endpoint or asset URL is wired.", + "_comment": "About page content. Book download href is wired in app/(marketing)/about/page.tsx via governanceBookletPath().", "aboutHeader": { "segments": [ { "type": "word", "text": "CommunityRule" }, @@ -73,7 +73,6 @@ "title": "Get the Community Rules Book", "description": "Community Rules is a simple tool to help make great communities even better and healthier. It includes nine templates for organizational structures that communities can choose from, combine, or react against.", "buttonText": "Download Book", - "buttonHref": "#", "imageAlt": "Structure Before Crisis book cover" }, "faq": { diff --git a/public/assets/marketing/governance-booklet.pdf b/public/assets/marketing/governance-booklet.pdf new file mode 100644 index 0000000..241adce Binary files /dev/null and b/public/assets/marketing/governance-booklet.pdf differ