diff --git a/backend/static/js/app.js b/backend/static/js/app.js
index 5376d6c..245bbf3 100644
--- a/backend/static/js/app.js
+++ b/backend/static/js/app.js
@@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
-const APP_VER = '407'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
+const APP_VER = '408'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const App = (() => {
diff --git a/backend/static/js/pages/diary.js b/backend/static/js/pages/diary.js
index 9758d7c..b54a42e 100644
--- a/backend/static/js/pages/diary.js
+++ b/backend/static/js/pages/diary.js
@@ -761,14 +761,18 @@ window.Page_diary = (() => {
return;
}
- // Datenschutz-Hinweis: Einträge sind privat
- const privacyNotice = `
-
+ // Datenschutz-Hinweis: einmalig anzeigen, per Klick wegklicken
+ const privacyNotice = localStorage.getItem('by_diary_privacy_ack') ? '' : `
+
Deine Tagebucheinträge sind privat — nur du kannst sie sehen.
+
`;
// Gruppieren nach Jahr-Monat (Anzeigereihenfolge: chronologisch absteigend)
@@ -790,6 +794,12 @@ window.Page_diary = (() => {
listEl.innerHTML = html;
+ // Datenschutz-Hinweis wegklicken
+ listEl.querySelector('#diary-privacy-notice')?.addEventListener('click', () => {
+ localStorage.setItem('by_diary_privacy_ack', '1');
+ listEl.querySelector('#diary-privacy-notice')?.remove();
+ });
+
// Events an Karten binden
listEl.querySelectorAll('[data-entry-id]').forEach(card => {
const id = parseInt(card.dataset.entryId);
diff --git a/backend/static/js/pages/notes.js b/backend/static/js/pages/notes.js
index c1ea9d9..d9ce75d 100644
--- a/backend/static/js/pages/notes.js
+++ b/backend/static/js/pages/notes.js
@@ -139,14 +139,19 @@ window.Page_notes = (() => {
${_notes.length} Notiz${_notes.length !== 1 ? 'en' : ''}
-
-
-
`}
${kiEnabled ? _kiPanelHtml() : ''}
@@ -350,6 +355,12 @@ window.Page_notes = (() => {
// ----------------------------------------------------------
function _bindEvents() {
+ // Datenschutz-Hinweis wegklicken
+ _container.querySelector('#notes-privacy-notice')?.addEventListener('click', () => {
+ localStorage.setItem('by_notes_privacy_ack', '1');
+ _container.querySelector('#notes-privacy-notice')?.remove();
+ });
+
// Filter-Chips
_container.querySelectorAll('.notes-chip').forEach(btn => {
btn.addEventListener('click', () => {