From bbe7bb5e010d05b712ede46c01a7165942961049 Mon Sep 17 00:00:00 2001 From: Brendan Samek Date: Fri, 16 Oct 2026 12:11:39 -0600 Subject: [PATCH 1/2] Move the constitution's principles onto the about page The seven principles now sit in a "Principles" section above the FAQs on /about, with a quick link to it. The standalone /constitution page is gone; the URL 308s to /about#principles and drops out of the sitemap. Co-Authored-By: Claude Opus 5.5 --- next.config.ts | 6 +++ .../page.tsx => about/PrinciplesBlock.tsx} | 51 ++++++------------- src/app/about/page.tsx | 3 ++ src/app/sitemap.ts | 1 - 4 files changed, 24 insertions(+), 37 deletions(-) rename src/app/{constitution/page.tsx => about/PrinciplesBlock.tsx} (55%) diff --git a/next.config.ts b/next.config.ts index c5b23590..5b5c5374 100644 --- a/next.config.ts +++ b/next.config.ts @@ -27,6 +27,12 @@ const nextConfig: NextConfig = { }, async redirects() { return [ + // The constitution's principles now live on the about page. + { + source: "/constitution", + destination: "/about#principles", + permanent: true, + }, { source: "/great-canadian-builders", destination: "/builders", diff --git a/src/app/constitution/page.tsx b/src/app/about/PrinciplesBlock.tsx similarity index 55% rename from src/app/constitution/page.tsx rename to src/app/about/PrinciplesBlock.tsx index 84a18ef9..ed6c3efa 100644 --- a/src/app/constitution/page.tsx +++ b/src/app/about/PrinciplesBlock.tsx @@ -1,13 +1,4 @@ -import type { Metadata } from "next"; - -export const metadata: Metadata = { - title: "Constitution", - description: - "The principles that guide Build Canada in its mission to make Canada the most prosperous country in the world.", - alternates: { - canonical: "/constitution", - }, -}; +import { SectionHeader } from "@/components/ui/section-header"; const principles = [ { @@ -40,45 +31,33 @@ const principles = [ }, ]; -export default function ConstitutionPage() { +export default function PrinciplesBlock() { return ( -
-
-
-
-

Build Canada

-

- Constitution -

-

- Build Canada’s mission is to make Canada the most prosperous - country in the world. -

-

- These principles guide our work. -

-
-
- -
    +
    +
    + +
      {principles.map((principle, index) => (
    1. -
      -

      {principle.title}

      -

      +

      +

      {principle.title}

      +

      {principle.body}

    2. ))}
    -
-
+ + ); } diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 0cae57b1..4f8e4270 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -1,6 +1,7 @@ import { fetchFaqs, fetchTeamMembers, getSiteConfig } from "@/lib/api"; import TeamBlock from "./TeamBlock"; import QnaBlock from "./QnaBlock"; +import PrinciplesBlock from "./PrinciplesBlock"; import QuickLinks from "./QuickLinks"; import { buildGraph } from "@/lib/schemas/graph"; import { generateOrganizationSchema } from "@/lib/schemas/generators/organization"; @@ -9,6 +10,7 @@ import { generateFAQPageSchema } from "@/lib/schemas/generators/faq-page"; const quickLinks = [ { label: "Core Team", href: "#core-team" }, { label: "Board", href: "#board" }, + { label: "Principles", href: "#principles" }, { label: "FAQs", href: "#faqs" }, ]; @@ -54,6 +56,7 @@ export default async function AboutPage() { + ); diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index 1b554de9..6ea0beb1 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -51,7 +51,6 @@ export default async function sitemap(): Promise { { url: `${baseUrl}/builders`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.7 }, { url: buildAbsoluteUrl(baseUrl), lastModified: new Date(), changeFrequency: "daily", priority: 0.9 }, { url: `${baseUrl}/about`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.5 }, - { url: `${baseUrl}/constitution`, lastModified: new Date(), changeFrequency: "yearly", priority: 0.5 }, { url: `${baseUrl}/privacy-notice`, lastModified: new Date(), changeFrequency: "yearly", priority: 0.3 }, ]; From 9855e6e99def0cc4b99d51d7b31f48d52ccd15de Mon Sep 17 00:00:00 2001 From: Brendan Samek Date: Fri, 16 Oct 2026 12:17:21 -0600 Subject: [PATCH 2/2] Match the principles section's type sizes to /toronto/about Co-Authored-By: Claude Opus 5.5 --- src/app/about/PrinciplesBlock.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/app/about/PrinciplesBlock.tsx b/src/app/about/PrinciplesBlock.tsx index ed6c3efa..34f5c617 100644 --- a/src/app/about/PrinciplesBlock.tsx +++ b/src/app/about/PrinciplesBlock.tsx @@ -1,4 +1,4 @@ -import { SectionHeader } from "@/components/ui/section-header"; +import SectionLabel from "@/components/SectionLabel"; const principles = [ { @@ -38,21 +38,19 @@ export default function PrinciplesBlock() { className="px-6 sm:px-16 py-12 border-b border-border-light" >
- -
    + Principles +
      {principles.map((principle, index) => (
    1. -
    2. ))}