Skip to content

refactor(marketing): use one shared header & footer across all content pages#11

Merged
Manuel10i merged 2 commits into
mainfrom
feat/destination-shared-chrome
Jul 5, 2026
Merged

refactor(marketing): use one shared header & footer across all content pages#11
Manuel10i merged 2 commits into
mainfrom
feat/destination-shared-chrome

Conversation

@Manuel10i

@Manuel10i Manuel10i commented Jul 5, 2026

Copy link
Copy Markdown
Owner

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 / SiteFooter extrahiert und überall eingesetzt:

  • Landing-Page (nutzt jetzt die Komponenten statt Inline-Markup)
  • Destination-Seiten (/destination/*) — vorher abgespeckte Nav und kein Footer
  • Alle 7 Feature-Seiten über FeaturePageShell
  • contact und privacy

Jede 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:

  • Optionales locale → auf erzwungen-deutschen Destination-Slugs (/destination/wien) rendern Header/Footer komplett deutsch; die übrigen Seiten folgen der Cookie-/Browser-Sprache.
  • Sprachwechsler springt zur passenden Slug-URL; Destination-Seiten behalten ihren deep-verlinkten „Karte öffnen"-Button (mapHref).
  • Anchor-Links (/#how-it-works) sind absolut und nutzen next/link, funktionieren also von jeder Seite.

Verifikation (gegen next start)

  • Landing, /destination/gothenburg, /destination/goeteborg (de), alle /features/*, /contact, /privacy: 200, voller Haupt-Header + geteilter Footer (inkl. Docs-Link).
  • /contact mit de-Cookie: Header/Footer deutsch („So funktioniert's", „Karte öffnen", „Datenschutz").
  • tsc ✓, eslint ✓ (0 errors), next build ✓. 38 vorbestehende React.act-Testfehler unverändert, keine neuen.

Nicht angefasst: die interaktive Karten-Seite (/map) behält bewusst ihren eigenen MapHeader (App-UI, keine Content-Seite).

Generated with Claude Code

Alfred (Manuels Agent) and others added 2 commits July 5, 2026 08:44
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>
@Manuel10i Manuel10i changed the title refactor(marketing): use the main site header and footer on destination pages refactor(marketing): use one shared header & footer across all content pages Jul 5, 2026
@Manuel10i Manuel10i merged commit f8cab5f into main Jul 5, 2026
2 checks passed
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.

1 participant