diff --git a/src/components/consentManager.js b/src/components/consentManager.js deleted file mode 100644 index b59b021..0000000 --- a/src/components/consentManager.js +++ /dev/null @@ -1,58 +0,0 @@ -import { createPopup, closePopup } from './popupManager.js'; - -// Speichert die Benutzerzustimmung -export function setUserConsent(consent) { - localStorage.setItem('userConsent', JSON.stringify(consent)); -} - -// Ruft die Benutzerzustimmung ab -export function getUserConsent() { - const consent = localStorage.getItem('userConsent'); - return consent !== null ? JSON.parse(consent) : null; -} - -// Überprüft, ob bereits eine Zustimmung vorliegt -export function checkConsent() { - const consent = getUserConsent(); - return consent === true; // Nur true wird akzeptiert -} - -// Zeigt das Consent-Banner an -export function showConsentPopup(onAccept, onDecline) { - const title = 'Datenschutzeinstellungen'; - const body = ` -

Diese Seite ruft Informationen von verschiedenen Mastodon-Instanzen ab, um dir passende Inhalte zu präsentieren. - Wir können zwar nicht für die Datenschutzpraktiken jeder einzelnen Instanz garantieren, wissen aber, dass vielen im Fediverse der Schutz persönlicher Daten und Datenminimierung wichtig sind. -

- Mit einem Klick auf "Bestätigen" erlaubst du, dass diese Informationen abgefragt werden. - Deine Entscheidung wird lokal in deinem Browser gespeichert. -

-

- Weitere Informationen findest du in unseren - 🛡️ Datenschutzhinweisen. -

- - `; - - // Erstelle das Popup - const popup = createPopup({ - title, - body, - customClass: 'consent-popup' - }); - - // Event-Listener für die Buttons - popup.querySelector('#consent-accept').addEventListener('click', () => { - setUserConsent(true); // Zustimmung speichern - closePopup(popup); // Popup schließen - window.location.reload(); // **Seite neuladen** - }); - - popup.querySelector('#consent-decline').addEventListener('click', () => { - setUserConsent(false); // Ablehnung speichern - closePopup(popup); // Popup schließen - }); -} diff --git a/src/components/postwall.js b/src/components/postwall.js index 53705ed..f6de103 100644 --- a/src/components/postwall.js +++ b/src/components/postwall.js @@ -1,5 +1,3 @@ -import { checkConsent, showConsentPopup, setUserConsent } from '../components/consentManager.js'; - export async function loadPostwall() { const container = document.getElementById('postswall-container'); diff --git a/src/utils/popup-utils_unused_.js b/src/utils/popup-utils_unused_.js deleted file mode 100644 index aea4ada..0000000 --- a/src/utils/popup-utils_unused_.js +++ /dev/null @@ -1,48 +0,0 @@ -export function openPopup(popupElement) { - // Füge einen neuen Eintrag zur Browser-Historie hinzu - history.pushState({ popupOpen: true }, null, ''); - - // Klasse hinzufügen, um das Scrollen zu deaktivieren - document.body.classList.add('body-no-scroll'); - - // Event-Listener für "Zurück"-Button - const onPopState = () => closePopup(popupElement, onPopState); - window.addEventListener('popstate', onPopState); - - popupElement.dataset.onPopState = onPopState; // Speichere den Listener für spätere Entfernung - popupElement.classList.add('show'); -} - -export function closePopup(popupElement, onPopState = null) { - // Popup ausblenden - popupElement.remove(); - - // Klasse zum Deaktivieren des Scrollens entfernen - document.body.classList.remove('body-no-scroll'); - - // Historie zurücksetzen - history.back(); - - // Entferne den `popstate`-Listener - if (onPopState) { - window.removeEventListener('popstate', onPopState); - } else if (popupElement.dataset.onPopState) { - window.removeEventListener('popstate', popupElement.dataset.onPopState); - delete popupElement.dataset.onPopState; - } -} - -export function attachCloseHandlers(popupElement, closeButtonSelector) { - // Schließen-Button - const closeButton = popupElement.querySelector(closeButtonSelector); - if (closeButton) { - closeButton.addEventListener('click', () => closePopup(popupElement)); - } - - // Schließen bei Klick auf den Hintergrund - popupElement.addEventListener('click', (event) => { - if (event.target === popupElement) { - closePopup(popupElement); - } - }); -} diff --git a/style/consentPopup.css b/style/consentPopup.css deleted file mode 100644 index bd98344..0000000 --- a/style/consentPopup.css +++ /dev/null @@ -1,63 +0,0 @@ -.consent-popup-content { - background-color: var(--background-color); - padding: 20px; - border-radius: 15px; - text-align: center; - width: 90%; - max-width: 500px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); -} - -.consent-popup-content h3 { - margin-bottom: 15px; - font-size: 1.5rem; - color: #fff; -} - -.consent-popup-content p { - margin-bottom: 20px; - font-size: 1rem; - color: #fff; - line-height: 1.5; -} - -.consent-popup-content a { - color: #007BFF; - text-decoration: none; -} - -.consent-popup-content a:hover { - text-decoration: underline; -} - -.consent-popup-buttons { - display: flex; - justify-content: space-between; - gap: 10px; -} - -.consent-popup-buttons button { - padding: 10px 15px; - border: none; - border-radius: 5px; - font-size: 1rem; - cursor: pointer; -} - -#consent-accept { - background: #28a745; - color: white; -} - -#consent-accept:hover { - background: #218838; -} - -#consent-decline { - background: #dc3545; - color: white; -} - -#consent-decline:hover { - background: #c82333; -} diff --git a/style/index.css b/style/index.css index eb8a7a2..449940d 100644 --- a/style/index.css +++ b/style/index.css @@ -1,6 +1,5 @@ @import "./base.css"; @import "./site.css"; -@import "./consentPopup.css"; @import "./starterkit.css"; @import "./recommendationPopup.css"; @import "./profile.css";