Skip to content

refactor(site): extract footer into standalone global component - #62

Merged
thiras merged 2 commits into
mainfrom
refactor/global-footer
May 11, 2026
Merged

thiras merged 2 commits into
mainfrom
refactor/global-footer

Conversation

@thiras

@thiras thiras commented May 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Extract footer markup from components/site/Close.tsx into a new components/site/Footer.tsx.
  • Render <Footer /> globally from app/layout.tsx after {children}, alongside the already-global <Chrome /> and <ScrollReveal />.
  • <footer> is now a sibling of <main> (page-level contentinfo landmark) instead of nested inside a <section> inside <main>.

Forward-looking: future routes (e.g. /docs, /pricing) inherit the footer without per-page imports.

Test plan

  • pnpm lint — clean
  • pnpm build — static export to out/ succeeds, all 10 routes prerendered
  • Visual: bottom of / renders the 3-column copyright row identically (paper background, rule line, @md:grid-cols-3 breakpoint)
  • Visual: Contact section transitions cleanly into footer (both paper, no seam)
  • Responsive: <@md is 1 column, >=@md is 3 columns with centered middle + right-aligned right

🤖 Generated with Claude Code

thiras and others added 2 commits May 11, 2026 16:01
Move the footer markup out of the Contact section in components/site/Close.tsx
into a new components/site/Footer.tsx, rendered globally from app/layout.tsx
after {children}. Future routes inherit the footer without per-page imports;
<footer> is now a sibling of <main> rather than nested inside a section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 11, 2026 •

Copy link
Copy Markdown

Deploying website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 99dd07c
Status: ✅  Deploy successful!
Preview URL: https://01706c01.website-70y.pages.dev
Branch Preview URL: https://refactor-global-footer.website-70y.pages.dev

View logs

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the marketing site layout by extracting the homepage footer markup into a dedicated Footer component and rendering it globally from the root Next.js layout so future routes inherit it automatically.

Changes:

  • Added components/site/Footer.tsx to encapsulate footer markup/styling.
  • Removed the inline footer block from components/site/Close.tsx.
  • Rendered <Footer /> globally from app/layout.tsx after {children} (as a sibling of <main> on pages that render <main>).
  • Enabled the typescript-lsp Claude plugin in .claude/settings.json.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
components/site/Footer.tsx New standalone footer component containing the extracted footer markup.
components/site/Close.tsx Removes the previously inlined footer markup from the Contact/Close section.
app/layout.tsx Imports and renders <Footer /> globally after {children}.
.claude/settings.json Adds typescript-lsp@claude-plugins-official plugin enablement.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread components/site/Footer.tsx

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the footer by extracting it from the Close component into a dedicated Footer component and integrating it into the global RootLayout. Additionally, the TypeScript LSP plugin is enabled in the project settings. The review feedback suggests adding mt-auto to the Footer component's classes to ensure it remains anchored to the bottom of the page when content is sparse, maintaining the previous layout behavior.

Comment thread components/site/Footer.tsx
@thiras
thiras merged commit 7e9b3ac into main May 11, 2026
11 checks passed
@thiras
thiras deleted the refactor/global-footer branch May 11, 2026 13:15
thiras added a commit that referenced this pull request May 11, 2026
Resolve duplicate footer extraction by deferring to main's
components/site/Footer.tsx (landed in #62) and dropping the redundant
SiteFooter.tsx introduced on this branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants