feat(cmp): GDPR-compliant DSE + consent re-open button
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 41s
CI / test-python-voice (push) Successful in 31s
CI / test-bqas (push) Successful in 29s

- Rewrite Datenschutzerklaerung: cookie section with bp_consent table,
  legal basis (Art. 6(1)(a) + §25 TDDDG), DPO, Hetzner hosting, Google
  Fonts DPF, retention periods, all data subject rights (Art. 15-21),
  supervisory authority (LfD Niedersachsen)
- Add "Cookie-Einstellungen" re-open button in footer (Art. 7(3) DSGVO)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-11 08:07:35 +02:00
parent 5f193c8a72
commit 79810f4eb8
2 changed files with 132 additions and 18 deletions
+18 -3
View File
@@ -1,8 +1,14 @@
'use client'
import { Cookie } from 'lucide-react'
import { t } from '@/lib/content'
import { useApp } from '@/lib/context'
function reopenConsentBanner() {
localStorage.removeItem('bp_consent')
window.location.reload()
}
export default function Footer() {
const { lang } = useApp()
const i = t(lang)
@@ -59,9 +65,18 @@ export default function Footer() {
<p className="text-xs text-white/20">
&copy; {year} {i.footer.copyright}. Alle Rechte vorbehalten.
</p>
<p className="text-xs text-white/20 font-mono">
{i.footer.madeIn}
</p>
<div className="flex items-center gap-4">
<button
onClick={reopenConsentBanner}
className="text-xs text-white/20 hover:text-white/50 transition-colors flex items-center gap-1.5"
>
<Cookie className="w-3 h-3" />
Cookie-Einstellungen
</button>
<p className="text-xs text-white/20 font-mono">
{i.footer.madeIn}
</p>
</div>
</div>
</div>
</footer>