// CookieConsentBanner.tsx 'use client'; import {useEffect, useState} from 'react'; export default function CookieConsentBanner() { const [visible, setVisible] = useState(false); const [loading, setLoading] = useState(false); const [stats, setStats] = useState(false); const [personalization, setPersonalization] = useState(false); useEffect(() => { const consent = localStorage.getItem('cookie_consent'); if (!consent) setVisible(true); const show = () => { setVisible(true); }; window.addEventListener('show-cookie-banner', show); return () => window.removeEventListener('show-cookie-banner', show); }, []); const handleAccept = () => { setLoading(true); setTimeout(() => { localStorage.setItem('cookie_consent', 'true'); localStorage.setItem('cookie_stats', stats.toString()); localStorage.setItem('cookie_personalization', personalization.toString()); setVisible(false); setLoading(false); }, 1000); }; const handleAcceptAll = () => { setLoading(true); setStats(true); setPersonalization(true); setTimeout(() => { localStorage.setItem('cookie_consent', 'true'); localStorage.setItem('cookie_stats', 'true'); localStorage.setItem('cookie_personalization', 'true'); setVisible(false); setLoading(false); }, 1000); }; const handleDecline = () => { localStorage.setItem('cookie_consent', 'false'); localStorage.setItem('cookie_stats', 'false'); localStorage.setItem('cookie_personalization', 'false'); setVisible(false); }; return visible ? (
Diese Website nutzt Cookies und vergleichbare Funktionen zur Verarbeitung von Endgeräteinformationen und personenbezogenen Daten. Die Verarbeitung dient der Einbindung von Inhalten, externen Diensten und Elementen Dritter, der statistischen Analyse/Messung, der personalisierten Werbung sowie der Einbindung sozialer Medien.
Je nach Funktion werden dabei Daten an Dritte weitergegeben und in Länder außerhalb der EU übertragen, in denen kein angemessenes Datenschutzniveau besteht – z. B. die USA. Ihre Einwilligung ist freiwillig und kann jederzeit über das Symbol unten links widerrufen werden.