Skip to content

website: render the site footer from the root layout on every page #1083

Description

@vivek7405

Problem

The marketing site's footer (lib/site-footer.ts, siteFooter()) was rendered inline only by the home page (app/page.ts) and /why (app/why/page.ts). Every other route (/blog, /compare, /changelog, /articles, and all [slug] detail pages) shipped with no footer, an inconsistent chrome. The header/nav is already layout chrome; the footer should be too.

Design / approach

Move the siteFooter() call into the root layout (app/layout.ts) right after ${children}, next to the shared header/nav, and drop the two per-page calls so every route renders exactly one footer with no duplication.

Implementation notes (for the implementing agent)

  • Where to edit: website/app/layout.ts (add import { siteFooter } and render it after ${children} in RootLayout); remove the inline ${siteFooter()} + import from website/app/page.ts and website/app/why/page.ts.
  • Landmine: leaving the inline calls in place while adding it to the layout double-renders the footer on home and /why. Verify exactly one <footer> per page.
  • lib/site-footer.ts is a pure SSR helper (no client globals), so it stays elision-safe.
  • Docs surfaces: website/AGENTS.md note that says the footer lives in page.ts must be corrected.

Acceptance criteria

  • Footer renders once on /, /blog, /compare, /changelog, /why, /articles, and detail pages
  • No double footer on / or /why
  • SSR test pins the footer as layout chrome (counterfactual: bare child still gets one footer)
  • website/AGENTS.md updated

Fixed in PR #1082.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions