diff --git a/backlog/tasks/task-4 - Add-legal-footer-and-pages.md b/backlog/tasks/task-4 - Add-legal-footer-and-pages.md new file mode 100644 index 0000000..6c066e0 --- /dev/null +++ b/backlog/tasks/task-4 - Add-legal-footer-and-pages.md @@ -0,0 +1,55 @@ +--- +id: TASK-4 +title: Add legal footer and pages +status: In Progress +assignee: [] +created_date: '2026-05-06 19:43' +updated_date: '2026-05-06 19:51' +labels: [] +dependencies: [] +modified_files: + - src/pages/index.astro + - src/components/footer27.tsx + - src/pages/impressum.astro + - src/pages/datenschutz.astro + - tests/landing-content.test.mjs +priority: high +--- + +## Description + + +Bind the existing footer into the landing page and add real Impressum and Datenschutz routes so the legal links resolve correctly. + + +## Acceptance Criteria + +- [x] #1 Landing page renders the footer component below the main landing content +- [x] #2 Footer links point to /impressum and /datenschutz +- [x] #3 /impressum contains the provided business and VAT ID information +- [x] #4 /datenschutz states that no cookies are used and documents the current Rybbit analytics usage +- [x] #5 Automated content tests and Astro build pass + + +## Implementation Plan + + +1. Add failing content tests for footer rendering and legal pages +2. Implement footer wiring and legal Astro pages +3. Run automated tests and build +4. Check off verified acceptance criteria and leave task In Progress for user confirmation + + +## Implementation Notes + + +Implemented footer rendering on the landing page and added /impressum plus /datenschutz Astro routes. + +Verified with node --test tests/*.mjs and env CI=true pnpm build. The first sandboxed build attempt failed because pnpm needed network access to recreate node_modules; the escalated build completed successfully. + +Task remains In Progress pending explicit user confirmation before moving to Done. + +Adjusted footer per visual feedback: removed the CTA/contact block and kept only the compact copyright, analytics note, Impressum, and Datenschutz row. Footer now uses the same horizontal page padding as the landing sections instead of max-w-6xl centering. + +Re-verified after the footer adjustment with node --test tests/*.mjs and env CI=true pnpm build. + diff --git a/src/components/footer27.tsx b/src/components/footer27.tsx index 1677745..71126eb 100644 --- a/src/components/footer27.tsx +++ b/src/components/footer27.tsx @@ -1,6 +1,3 @@ -import { ArrowRight, Mail, Phone } from "lucide-react"; - -import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; interface Footer27Props { @@ -9,48 +6,11 @@ interface Footer27Props { const Footer27 = ({ className }: Footer27Props) => { return ( -