insert copyright headers for images
Sonarqube Scanner / Prepare environment (push) Successful in 7s
Sonarqube Scanner / Build and test (push) Successful in 30s
Sonarqube Scanner / SonarQube analysis (push) Successful in 1m6s
Sonarqube Scanner / Deploy to Server (push) Successful in 6s

This commit is contained in:
Florian Zumpe
2026-10-04 10:14:40 +02:00
parent 3a682f2b30
commit d3311cce06
18 changed files with 382 additions and 12 deletions
+2
View File
@@ -44,6 +44,7 @@ globalThis.Wegwichtel = globalThis.Wegwichtel || {};
routeName: 'editor-route-name',
routeSave: 'editor-route-save',
routeUpload: 'editor-route-upload',
rightsOpen: 'editor-rights-open',
status: 'editor-status'
});
@@ -1448,6 +1449,7 @@ globalThis.Wegwichtel = globalThis.Wegwichtel || {};
activate(byId(ids.newRoute), newRoute);
activate(byId(ids.routeBack), () => guarded(loadRoutes).then(showListView));
activate(byId(ids.routeUpload), () => guarded(uploadLocalRoute));
activate(byId(ids.rightsOpen), () => ns.LegalUi?.open('terms'));
activate(byId(ids.addPoi), newPoi);
activate(byId(ids.poiAudioAdd), () => guarded(() => chooseMedia('audio', ids.poiAudio)));
activate(byId(ids.poiImagesAdd), () => guarded(() => chooseMedia('image', ids.poiImages)));
+3 -1
View File
@@ -7,11 +7,13 @@ globalThis.Wegwichtel = globalThis.Wegwichtel || {};
const pageTitles = Object.freeze({
privacy: 'Datenschutzerklärung',
imprint: 'Impressum',
terms: 'Nutzungsvereinbarung',
get technology() { return ns.I18n.t("info.storage"); }
});
function menuEntries() { return [
['privacy', ns.I18n.t("info.privacy")],
['imprint', ns.I18n.t("info.imprint")],
['terms', ns.I18n.t("info.terms")],
['technology', ns.I18n.t("info.storage")]
]; }
const selectors = Object.freeze({
@@ -439,7 +441,7 @@ globalThis.Wegwichtel = globalThis.Wegwichtel || {};
function updateDialogTitle(pageName) {
if (!elements?.title) return;
const isLegalPage = pageName === 'privacy' || pageName === 'imprint';
const isLegalPage = pageName !== 'technology';
if (isLegalPage) delete elements.title.dataset.i18n;
else elements.title.dataset.i18n = 'info.storage';
setAttribute(elements.title, 'lang', isLegalPage ? 'de' : ns.I18n.language);
+3
View File
@@ -131,6 +131,8 @@ globalThis.Wegwichtel ??= {};
"no-stations": "Noch keine Stationen angelegt.",
"loading-routes": "Strecken werden geladen …",
"submitted": "Erneut zur Prüfung senden",
"rights-hint": "Wenn du Bilder oder Tonaufnahmen sendest, erlaubst du Wegwichtel, sie nach der Nutzungsvereinbarung zu verwenden. Sende nur Aufnahmen, für die du diese Erlaubnis geben darfst. Kinder brauchen die Zustimmung ihrer Sorgeberechtigten.",
"rights-open": "Vereinbarung für Bilder und Ton lesen",
"submit": "Zur Prüfung senden",
"submitted-hint": "Du kannst Änderungen erneut zur Prüfung senden, solange die Strecke noch nicht freigegeben wurde.",
"draft-hint": "Dieser Entwurf bleibt auf deinem Gerät. Mit „Zur Prüfung senden“ reichst du ihn zur Freigabe ein.",
@@ -205,6 +207,7 @@ globalThis.Wegwichtel ??= {};
"pumpkin": "Kürbis"
},
"info": {
"terms": "Nutzungsvereinbarung",
"privacy": "Datenschutzerklärung",
"imprint": "Impressum",
"storage": "Speichern und Berechtigungen",
+3
View File
@@ -131,6 +131,8 @@ globalThis.Wegwichtel ??= {};
"no-stations": "There are no stops yet.",
"loading-routes": "Loading trails …",
"submitted": "Send changes for review",
"rights-hint": "By sending pictures or recordings, you allow Wegwichtel to use them under its terms of use. Only send recordings you are allowed to share this way. Children need their parent or guardian’s permission.",
"rights-open": "Read the agreement for pictures and recordings",
"submit": "Send for review",
"submitted-hint": "You can send changes for review until the route has been approved.",
"draft-hint": "This draft stays on your device. Choose “Send for review” to submit it for approval.",
@@ -205,6 +207,7 @@ globalThis.Wegwichtel ??= {};
"pumpkin": "Pumpkin"
},
"info": {
"terms": "Terms of use",
"privacy": "Privacy notice",
"imprint": "Legal notice",
"storage": "Saving and permissions",