From 66ff3cffa85ef4ef7c49b05c5f8e01bc8e8dd69d Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 20 Jun 2026 18:25:19 +0200 Subject: [PATCH] Revert "fix(footer): default nav + tagline when the tenant's CMS footer is empty" This reverts the hardcoded footer fallback. The footer stays fully CMS-driven; the unom tenant's footer will be populated to mirror punktfunk's instead. Co-Authored-By: Claude Opus 4.8 (1M context) --- messages/de.json | 8 +---- messages/en.json | 8 +---- src/components/Footer.tsx | 67 +++++++-------------------------------- 3 files changed, 14 insertions(+), 69 deletions(-) diff --git a/messages/de.json b/messages/de.json index eea1396..63e2160 100644 --- a/messages/de.json +++ b/messages/de.json @@ -14,11 +14,5 @@ "blog_empty": "Noch keine Beiträge.", "blog_all": "Alle Beiträge", "blog_latest_heading": "Aus dem Blog", - "blog_back": "Blog", - - "footer_overview": "Übersicht", - "footer_home": "Startseite", - "footer_legal": "Rechtliches", - "footer_imprint": "Impressum", - "footer_privacy": "Datenschutz" + "blog_back": "Blog" } diff --git a/messages/en.json b/messages/en.json index b5f2e0b..56c957c 100644 --- a/messages/en.json +++ b/messages/en.json @@ -14,11 +14,5 @@ "blog_empty": "No posts yet.", "blog_all": "All posts", "blog_latest_heading": "From the blog", - "blog_back": "Blog", - - "footer_overview": "Overview", - "footer_home": "Home", - "footer_legal": "Legal", - "footer_imprint": "Imprint", - "footer_privacy": "Privacy" + "blog_back": "Blog" } diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 54eb2c7..aa46e4d 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,6 +1,5 @@ import { getRouteApi } from "@tanstack/react-router"; import type { NavigationLink, NavigationSection } from "@/lib/cms"; -import { m } from "@/paraglide/messages"; import Section from "./Section"; const rootApi = getRouteApi("__root__"); @@ -8,33 +7,24 @@ const rootApi = getRouteApi("__root__"); export default function Footer() { const { footer } = rootApi.useLoaderData(); const sections: NavigationSection[] = footer?.sections ?? []; - // Fall back to the site tagline when the CMS footer has none, so the footer - // is never an empty bar. - const tagline = footer?.tagline?.trim() || m.site_tagline(); + const tagline = footer?.tagline?.trim(); return (
- {sections.length > 0 ? ( - sections.map((group, gi) => ( -
- {group.title &&

{group.title}

} -
- {(group.entries ?? []).map((item: NavigationLink, i) => ( - - {item.label} - - ))} -
+ {sections.map((group, gi) => ( +
+ {group.title &&

{group.title}

} +
+ {(group.entries ?? []).map((item: NavigationLink, i) => ( + + {item.label} + + ))}
- )) - ) : ( - // The unom tenant's CMS footer isn't populated yet — show a - // sensible default so the footer is meaningful. Populating the - // footer in the CMS (tenant=unom) overrides this. - - )} +
+ ))} {tagline && (
@@ -47,36 +37,3 @@ export default function Footer() {
); } - -function DefaultNav() { - const groups = [ - { - title: m.footer_overview(), - entries: [{ to: "/", label: m.footer_home() }], - }, - { - title: m.footer_legal(), - entries: [ - { to: "/legal/imprint", label: m.footer_imprint() }, - { to: "/legal/privacy", label: m.footer_privacy() }, - ], - }, - ]; - - return ( - <> - {groups.map((group) => ( -
-

{group.title}

-
- {group.entries.map((item) => ( - - {item.label} - - ))} -
-
- ))} - - ); -}