Add privacy policy

This commit is contained in:
pietervdvn 2021-11-16 04:16:51 +01:00
parent fa82faade7
commit 852d569994
6 changed files with 38 additions and 3 deletions

View file

@ -21,6 +21,7 @@ import Loc from "../../Models/Loc";
import Toggle from "../Input/Toggle";
import {OsmConnection} from "../../Logic/Osm/OsmConnection";
import Constants from "../../Models/Constants";
import PrivacyPolicy from "./PrivacyPolicy";
/**
* The attribution panel shown on mobile
@ -143,7 +144,8 @@ export default class CopyrightPanel extends Combine {
})),
CopyrightPanel.CodeContributors(),
new Title(t.iconAttribution.title, 3),
...iconAttributions
...iconAttributions,
new PrivacyPolicy()
].map(e => e?.SetClass("mt-4")));
this.SetClass("flex flex-col link-underline overflow-hidden")
this.SetStyle("max-width: calc(100vw - 3em); width: 40rem; margin-left: 0.75rem; margin-right: 0.5rem")

View file

@ -0,0 +1,26 @@
import Combine from "../Base/Combine";
import Translations from "../i18n/Translations";
import Title from "../Base/Title";
export default class PrivacyPolicy extends Combine {
constructor() {
const t = Translations.t.privacy
super([
new Title(t.title, 2),
t.intro,
new Title(t.trackingTitle),
t.tracking,
new Title(t.geodataTitle),
t.geodata,
new Title(t.editingTitle),
t.editing,
new Title(t.miscCookiesTitle),
t.miscCookies,
new Title(t.whileYoureHere),
t.surveillance,
]);
this.SetClass("link-underline")
}
}

View file

@ -188,7 +188,7 @@ class LayerOverviewUtils {
allTranslations
.filter(t => t.tr.translations[neededLanguage] === undefined && t.tr.translations["*"] === undefined)
.forEach(missing => {
themeErrorCount.push("The theme " + theme.id + " should be translation-complete for " + neededLanguage + ", but it lacks a translation for " + missing.context+".\n\tThe full translation is "+missing.tr.translations)
themeErrorCount.push("The theme " + theme.id + " should be translation-complete for " + neededLanguage + ", but it lacks a translation for " + missing.context+".\n\tThe english translation is "+missing.tr.textFor('en'))
})
}

View file

@ -208,10 +208,15 @@ function compileTranslationsFromWeblate() {
const allTranslations = new TranslationPart()
for (const translationFile of translations) {
try{
const contents = JSON.parse(readFileSync(translationFile, "utf-8"));
let language = translationFile.substring(translationFile.lastIndexOf("/") + 1)
language = language.substring(0, language.length - 5)
allTranslations.add(language, contents)
}catch (e) {
throw "Could not read file "+ translationFile+" due to "+e
}
}
writeFileSync("./assets/generated/translations.json", JSON.stringify(JSON.parse(allTranslations.toJson()), null, " "))

View file

@ -23,7 +23,6 @@
<div id="extradiv">'extradiv' not attached</div>
<script src="./test.ts"></script>
<iframe src="https://staging.anyways.eu/mechelen-reroute/#map=13.70/4.47874/51.02723&route=bicycle.commute" width="100%" height="100%" style="min-width: 250px; min-height: 250px" title="Routeplanner"></iframe>

View file

@ -0,0 +1,3 @@
import PrivacyPolicy from "./UI/BigComponents/PrivacyPolicy";
new PrivacyPolicy().AttachTo("maindiv")