From 900d3a9ab5c0fe82815036210c1ed99f90f74987 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 1 Oct 2026 10:41:38 +0000 Subject: [PATCH] =?UTF-8?q?Unterseiten:=20gemeinsamer=20Footer=20=C3=BCber?= =?UTF-8?q?=20ein=20Layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /kontakt, /ueber-uns, /agb, /impressum, /wartungs-abo, /hosting-abo und die 404-Seite bekommen den vorhandenen Footer (Impressum, Datenschutz, Kündigen/Widerrufen) über ein gemeinsames Layout in src/routes.tsx. Die Seiten selbst bleiben unverändert, damit die bestehenden Abo- und AGB-Tests nicht auf doppelte Footer-Links stoßen. Die Startseite behält ihren eigenen Footer, /datenschutz leitet weiter und bleibt ohne. Co-Authored-By: Claude Sonnet 5.5 --- src/routes.tsx | 30 +++++++++++++++++++++--------- src/test/sofort-paket.test.tsx | 23 +++++++++++++++++++++++ 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/src/routes.tsx b/src/routes.tsx index 38ec62e..ba1c8bd 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -1,4 +1,5 @@ -import { Routes, Route } from "react-router-dom"; +import { Routes, Route, Outlet } from "react-router-dom"; +import Footer from "@/components/Footer"; import Index from "./pages/Index"; import ContactPage from "./pages/Contact"; import AGBPage from "./pages/AGB"; @@ -9,18 +10,29 @@ import HostingAboPage from "./pages/HostingAbo"; import DatenschutzPage from "./pages/Datenschutz"; import NotFound from "./pages/NotFound"; +/** Gemeinsamer Rahmen aller Unterseiten: Seiteninhalt, darunter der Footer mit Impressum, Datenschutz und Kündigen. */ +const SubpageLayout = () => ( + <> + +