refactor(marketing): use one shared header & footer across all content pages#11
Merged
Conversation
Extract the landing page's inline nav and footer into reusable SiteHeader / SiteFooter server components and use them on the destination pages, which previously had a bespoke stripped-down nav and no footer. - SiteHeader/SiteFooter accept an optional locale so forced-German destination slugs render their chrome in German too, an optional language-switcher href map, and an optional mapHref (destination pages keep their deep-linked "open map" target). - In-page anchor links become absolute (/#how-it-works) so they work from any page, and use next/link. - Landing page now consumes the shared components instead of inline markup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extend the SiteHeader/SiteFooter rollout to the remaining content pages so the whole marketing surface shares one header and footer: - FeaturePageShell (covers all 7 /features/* pages) - contact - privacy Each had its own near-duplicate nav and a slightly different footer (e.g. the feature/contact/privacy footers were missing the docs link and used narrower widths). They now render the same chrome as the landing and destination pages. Removed the now-unused inline markup and imports. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Was
Die gesamte Marketing-Oberfläche nutzt jetzt einen geteilten Header und Footer — den der Hauptseite.
Der bisher inline in der Landing-Page stehende Header/Footer wurde in wiederverwendbare Server-Komponenten
SiteHeader/SiteFooterextrahiert und überall eingesetzt:/destination/*) — vorher abgespeckte Nav und kein FooterFeaturePageShellJede dieser Seiten hatte vorher eine eigene, fast identische Nav und einen leicht abweichenden Footer (den Feature-/contact-/privacy-Footern fehlte z.B. der Docs-Link, und sie nutzten schmalere Breiten). Jetzt ist alles konsistent.
Feinheiten:
locale→ auf erzwungen-deutschen Destination-Slugs (/destination/wien) rendern Header/Footer komplett deutsch; die übrigen Seiten folgen der Cookie-/Browser-Sprache.mapHref)./#how-it-works) sind absolut und nutzennext/link, funktionieren also von jeder Seite.Verifikation (gegen
next start)/destination/gothenburg,/destination/goeteborg(de), alle/features/*,/contact,/privacy: 200, voller Haupt-Header + geteilter Footer (inkl. Docs-Link)./contactmit de-Cookie: Header/Footer deutsch („So funktioniert's", „Karte öffnen", „Datenschutz").tsc✓,eslint✓ (0 errors),next build✓. 38 vorbestehendeReact.act-Testfehler unverändert, keine neuen.Nicht angefasst: die interaktive Karten-Seite (
/map) behält bewusst ihren eigenenMapHeader(App-UI, keine Content-Seite).Generated with Claude Code