Datenschutzbestimmungen hinzugefügt, theme wird sofort aktiviert
This commit is contained in:
parent
1c8ec944f7
commit
864530ecf1
File diff suppressed because one or more lines are too long
@ -30,8 +30,15 @@
|
||||
<link href="css/foundation.css" media="screen,print" rel="stylesheet" type="text/css">
|
||||
<link href="css/wordRotator.css" media="screen,print" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body class='black'>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
let defaultThemeClass = 'black';
|
||||
let currentThemeClass = localStorage.getItem("currentTheme");
|
||||
if (!currentThemeClass) {
|
||||
currentThemeClass = defaultThemeClass;
|
||||
}
|
||||
document.body.classList.add(currentThemeClass);
|
||||
</script>
|
||||
<div id='print-content'>
|
||||
</div>
|
||||
|
||||
@ -94,7 +101,7 @@
|
||||
</div>
|
||||
<footer>
|
||||
<a data-site-name='privacyPolicy' class='deep-link' data-translation="policy-heading">Privacy Policy</a>
|
||||
<a href="https://apps.silas.link" target="_blank" rel = "noopener" data-translation="other-apps">Other Apps</a>
|
||||
<a href="https://apps.silas.link" target="_blank" rel="noopener" data-translation="other-apps">Other Apps</a>
|
||||
</footer>
|
||||
<script>
|
||||
var initPromise;
|
||||
|
||||
@ -3764,6 +3764,41 @@ class LocalStorageSettingsFragment extends Fragment {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
onStart() {
|
||||
let res = super.onStart();
|
||||
let settings = this.findBy(".setting", true);
|
||||
const settingsManager = SettingsManager.getInstance();
|
||||
|
||||
for (let i = 0; i < settings.length; i++) {
|
||||
let setting = settings[i];
|
||||
const name = setting.name;
|
||||
let value;
|
||||
if (!setting["dataset"]["raw"]) {
|
||||
value = settingsManager.getSetting(name);
|
||||
} else {
|
||||
value = localStorage.getItem(name);
|
||||
}
|
||||
|
||||
let isCheckable = false;
|
||||
if (setting instanceof HTMLInputElement && (setting.type === 'checkbox' || setting.type === 'radio')) {
|
||||
isCheckable = true;
|
||||
}
|
||||
|
||||
if (Helper.isNotNull(value)) {
|
||||
if (isCheckable) {
|
||||
setting.checked = (value === setting.value);
|
||||
}
|
||||
else {
|
||||
setting.value = value;
|
||||
}
|
||||
if (value !== "") {
|
||||
setting.classList.add("notEmpty");
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
class SmartColumn{
|
||||
@ -6766,7 +6801,22 @@ class PrivacyPolicySite extends WordRotatorBaseSite {
|
||||
super(siteManager, "html/application/privacyPolicy.html", "privacyPolicy");
|
||||
}
|
||||
|
||||
onFirstStart() {
|
||||
let trackSwitch =this.findBy("#track-switch");
|
||||
|
||||
trackSwitch.addEventListener("change", function (e) {
|
||||
Matomo.setTrack(this.checked === true);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
super.onFirstStart();
|
||||
}
|
||||
|
||||
onStart(args) {
|
||||
let trackSwitch =this.findBy("#track-switch");
|
||||
let shouldTrack = (Helper.nonNull(localStorage.getItem("matomoShouldTrack"), "1") === "1");
|
||||
trackSwitch.checked = shouldTrack;
|
||||
|
||||
Matomo.update("Privacy Policy Site");
|
||||
return super.onStart(args);
|
||||
}
|
||||
@ -6842,7 +6892,6 @@ class WordRotatorSettingFragment extends LocalStorageSettingsFragment {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.findBy("#reset-levels").addEventListener("click", () => {
|
||||
localStorage.removeItem("currentLevel");
|
||||
localStorage.removeItem("date-last-sync");
|
||||
|
||||
@ -409,6 +409,41 @@ class LocalStorageSettingsFragment extends Fragment {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
onStart() {
|
||||
let res = super.onStart();
|
||||
let settings = this.findBy(".setting", true);
|
||||
const settingsManager = SettingsManager.getInstance();
|
||||
|
||||
for (let i = 0; i < settings.length; i++) {
|
||||
let setting = settings[i];
|
||||
const name = setting.name;
|
||||
let value;
|
||||
if (!setting["dataset"]["raw"]) {
|
||||
value = settingsManager.getSetting(name);
|
||||
} else {
|
||||
value = localStorage.getItem(name);
|
||||
}
|
||||
|
||||
let isCheckable = false;
|
||||
if (setting instanceof HTMLInputElement && (setting.type === 'checkbox' || setting.type === 'radio')) {
|
||||
isCheckable = true;
|
||||
}
|
||||
|
||||
if (Helper.isNotNull(value)) {
|
||||
if (isCheckable) {
|
||||
setting.checked = (value === setting.value);
|
||||
}
|
||||
else {
|
||||
setting.value = value;
|
||||
}
|
||||
if (value !== "") {
|
||||
setting.classList.add("notEmpty");
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
class SmartColumn{
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
<h3 id="dsg-general-intro"></h3>
|
||||
<p>Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen
|
||||
Daten (nachfolgend kurz „Daten“) im Rahmen der Erbringung unserer Leistungen sowie innerhalb unseres
|
||||
Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen,
|
||||
wie z.B. unser Social Media Profile auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf
|
||||
Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen
|
||||
(nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf
|
||||
die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die
|
||||
Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO). <br>
|
||||
<br>
|
||||
@ -18,11 +18,11 @@ Deutschland<br>
|
||||
E-Mailadresse: wordRotator@silas.link<br>
|
||||
Link zum Impressum: https://wordrotator.silas.link/impressum</span></p>
|
||||
<h3 id="dsg-general-datatype">Arten der verarbeiteten Daten</h3>
|
||||
<p>- Bestandsdaten (z.B., Personen-Stammdaten, Namen oder Adressen).<br>
|
||||
<p>
|
||||
- Bestandsdaten (z.B., Personen-Stammdaten, Namen oder Adressen).<br>
|
||||
- Kontaktdaten (z.B., E-Mail, Telefonnummern).<br>
|
||||
- Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).<br>
|
||||
- Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).<br>
|
||||
- Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).</p>
|
||||
- Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, Anonymisierte IP-Adressen).</p>
|
||||
<h3 id="dsg-general-datasubjects">Kategorien betroffener Personen</h3>
|
||||
<p>Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch
|
||||
als „Nutzer“).<br>
|
||||
@ -114,17 +114,17 @@ Link zum Impressum: https://wordrotator.silas.link/impressum</span></p>
|
||||
Zugriff gewähren, erfolgt dies insbesondere zu administrativen Zwecken als berechtigtes Interesse und
|
||||
darüberhinausgehend auf einer den gesetzlichen Vorgaben entsprechenden Grundlage. <br>
|
||||
</p>
|
||||
<h3 id="dsg-general-thirdparty">Übermittlungen in Drittländer</h3>
|
||||
<p>Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU), des Europäischen
|
||||
Wirtschaftsraums (EWR) oder der Schweizer Eidgenossenschaft) verarbeiten oder dies im Rahmen der Inanspruchnahme
|
||||
von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an andere Personen oder Unternehmen
|
||||
geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer
|
||||
Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen
|
||||
geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in
|
||||
einem Drittland nur beim Vorliegen der gesetzlichen Voraussetzungen. D.h. die Verarbeitung erfolgt z.B. auf
|
||||
Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden
|
||||
Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller
|
||||
vertraglicher Verpflichtungen.</p>
|
||||
<!--<h3 id="dsg-general-thirdparty">Übermittlungen in Drittländer</h3>-->
|
||||
<!--<p>Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU), des Europäischen-->
|
||||
<!--Wirtschaftsraums (EWR) oder der Schweizer Eidgenossenschaft) verarbeiten oder dies im Rahmen der Inanspruchnahme-->
|
||||
<!--von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an andere Personen oder Unternehmen-->
|
||||
<!--geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer-->
|
||||
<!--Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen-->
|
||||
<!--geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in-->
|
||||
<!--einem Drittland nur beim Vorliegen der gesetzlichen Voraussetzungen. D.h. die Verarbeitung erfolgt z.B. auf-->
|
||||
<!--Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden-->
|
||||
<!--Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller-->
|
||||
<!--vertraglicher Verpflichtungen.</p>-->
|
||||
<h3 id="dsg-general-rightssubject">Rechte der betroffenen Personen</h3>
|
||||
<p>Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf
|
||||
Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend den gesetzlichen
|
||||
@ -170,14 +170,6 @@ Link zum Impressum: https://wordrotator.silas.link/impressum</span></p>
|
||||
entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in
|
||||
den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu
|
||||
Funktionseinschränkungen dieses Onlineangebotes führen.<br>
|
||||
<br>
|
||||
Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei
|
||||
einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite <a
|
||||
href="http://www.aboutads.info/choices/">http://www.aboutads.info/choices/</a> oder die EU-Seite <a
|
||||
href="http://www.youronlinechoices.com/">http://www.youronlinechoices.com/</a> erklärt werden. Des
|
||||
Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht
|
||||
werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden
|
||||
können.</p>
|
||||
<h3 id="dsg-general-erasure">Löschung von Daten</h3>
|
||||
<p>Die von uns verarbeiteten Daten werden nach Maßgabe der gesetzlichen Vorgaben gelöscht oder in ihrer Verarbeitung
|
||||
eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns
|
||||
@ -197,14 +189,19 @@ Link zum Impressum: https://wordrotator.silas.link/impressum</span></p>
|
||||
<p></p>
|
||||
<p><span class="ts-muster-content">Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen. <br>
|
||||
<br>
|
||||
Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).</span>
|
||||
Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).</span>
|
||||
</p>
|
||||
<p></p>
|
||||
<h3 id="dsg-logfiles">Erhebung von Zugriffsdaten und Logfiles</h3>
|
||||
<p></p>
|
||||
<p><span class="ts-muster-content">Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.<br>
|
||||
<p><span class="ts-muster-content">Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen
|
||||
im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet
|
||||
(sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs,
|
||||
übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL
|
||||
(die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.<br>
|
||||
<br>
|
||||
Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.</span>
|
||||
Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die
|
||||
Dauer von maximal 5 Wochen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.</span>
|
||||
</p>
|
||||
<p></p>
|
||||
<h3 id="dsg-matomo">Reichweitenmessung mit Matomo</h3>
|
||||
@ -213,13 +210,24 @@ Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von M
|
||||
<br>
|
||||
Matomo verwendet Cookies, die auf dem Computer der Nutzer gespeichert werden und die eine Analyse der Benutzung unseres Onlineangebotes durch die Nutzer ermöglichen. Dabei können aus den verarbeiteten Daten pseudonyme Nutzungsprofile der Nutzer erstellt werden. Die Cookies haben eine Speicherdauer von einer Woche. Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Webseite werden nur auf unserem Server gespeichert und nicht an Dritte weitergegeben.<br>
|
||||
<br>
|
||||
Nutzer können der anonymisierten Datenerhebung durch das Programm Matomo jederzeit mit Wirkung für die Zukunft widersprechen, indem sie auf den untenstehenden Link klicken. In diesem Fall wird in ihrem Browser ein sog. Opt-Out-Cookie abgelegt, was zur Folge hat, dass Matomo keinerlei Sitzungsdaten mehr erhebt. Wenn Nutzer ihre Cookies löschen, so hat dies jedoch zur Folge, dass auch das Opt-Out-Cookie gelöscht wird und daher von den Nutzern erneut aktiviert werden muss.<br>
|
||||
Nutzer können der anonymisierten Datenerhebung durch das Programm Matomo jederzeit mit Wirkung für die Zukunft widersprechen,
|
||||
indem sie den unten befindlichen Schalter nutzen. In diesem Fall wird in ihrem Browser ein sog. Opt-Out-Cookie abgelegt,
|
||||
was zur Folge hat, dass Matomo keinerlei Sitzungsdaten mehr erhebt.
|
||||
Wenn Nutzer ihre Cookies löschen, so hat dies jedoch zur Folge, dass auch das Opt-Out-Cookie gelöscht wird und daher
|
||||
von den Nutzern erneut aktiviert werden muss.<br>
|
||||
<br>
|
||||
Die Logs mit den Daten der Nutzer werden nach spätestens einem Jahr gelöscht.<br>
|
||||
<br>
|
||||
<span style="color:red !important">[Bitte setzen Sie an dieser Stelle das IFRAME von Matomo mit dem opt-out cookie ein (und schalten die IP-Anonymisierung im Einstellungsbereich ein)]</span>.</span>
|
||||
<br></span>
|
||||
</p>
|
||||
<label class="switch row setting-row">
|
||||
<span class='columns small-6' data-translation="track"></span>
|
||||
<span class='columns small-6 text-right'>
|
||||
<input type="checkbox" class="setting" id="track-switch" name='matomoShouldTrack' value="1"
|
||||
data-default="1" data-raw="1">
|
||||
<span class="slider"></span>
|
||||
</span>
|
||||
</label>
|
||||
<a href="https://datenschutz-generator.de" class="dsg1-6" rel="nofollow" target="_blank">Erstellt mit
|
||||
Datenschutz-Generator.de von RA Dr. Thomas Schwenke</a>
|
||||
<p>und angepasst vom Webseitenbetreiber</p>
|
||||
Datenschutz-Generator.de von RA Dr. Thomas Schwenke</a><br/>
|
||||
und angepasst vom Webseitenbetreiber
|
||||
</div>
|
||||
@ -26,7 +26,6 @@ export class WordRotatorSettingFragment extends LocalStorageSettingsFragment {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.findBy("#reset-levels").addEventListener("click", () => {
|
||||
localStorage.removeItem("currentLevel");
|
||||
localStorage.removeItem("date-last-sync");
|
||||
|
||||
@ -85,6 +85,12 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
this.listener();
|
||||
window.addEventListener("resize", this.listener);
|
||||
|
||||
//Musikbuttons update, falls in den Einstellungen umgestellt
|
||||
let playSoundButton = this.findBy("#play-sound");
|
||||
playSoundButton.checked = settingsManager.getSetting("play-sound", true);
|
||||
let playMusicButton = this.findBy("#play-music");
|
||||
playMusicButton.checked = settingsManager.getSetting("play-music", true);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
|
||||
import {InitPromise} from "../../../../../js/lib/pwa-lib";
|
||||
import {Helper, InitPromise} from "../../../../../js/lib/pwa-lib";
|
||||
import {Matomo} from "../../../../../js/lib/pwa-assets";
|
||||
|
||||
export class PrivacyPolicySite extends WordRotatorBaseSite {
|
||||
@ -7,7 +7,22 @@ export class PrivacyPolicySite extends WordRotatorBaseSite {
|
||||
super(siteManager, "html/application/privacyPolicy.html", "privacyPolicy");
|
||||
}
|
||||
|
||||
onFirstStart() {
|
||||
let trackSwitch =this.findBy("#track-switch");
|
||||
|
||||
trackSwitch.addEventListener("change", function (e) {
|
||||
Matomo.setTrack(this.checked === true);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
super.onFirstStart();
|
||||
}
|
||||
|
||||
onStart(args) {
|
||||
let trackSwitch =this.findBy("#track-switch");
|
||||
let shouldTrack = (Helper.nonNull(localStorage.getItem("matomoShouldTrack"), "1") === "1");
|
||||
trackSwitch.checked = shouldTrack;
|
||||
|
||||
Matomo.update("Privacy Policy Site");
|
||||
return super.onStart(args);
|
||||
}
|
||||
|
||||
@ -465,6 +465,44 @@ test('SendUserstats', async t => {
|
||||
await testLocalStorageSet("matomoShouldTrack", "1");
|
||||
});
|
||||
|
||||
|
||||
test.only('SendUserstatsInPrivacyPolicy', async t => {
|
||||
await waitForMainMenu(t);
|
||||
let matomoCheck = ClientFunction(() => {
|
||||
return new Promise((resolve) => {
|
||||
function check() {
|
||||
window["_paq"].push([function () {
|
||||
resolve(!this["isUserOptedOut"]());
|
||||
}]);
|
||||
}
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
check();
|
||||
});
|
||||
if (document.readyState === 'complete') {
|
||||
check();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
await t
|
||||
.click(Selector(".action [data-translation-title='settings']"))
|
||||
.click(Selector("#privacy-policy-button"))
|
||||
.expect(Selector("#track-switch").checked).ok();
|
||||
let res = await matomoCheck();
|
||||
await t.expect(res).ok()
|
||||
.click(Selector(".switch [data-translation='track']"))
|
||||
.expect(Selector("#track-switch").checked).eql(false);
|
||||
res = await matomoCheck();
|
||||
await t.expect(res).eql(false)
|
||||
.click(Selector(".switch [data-translation='track']"))
|
||||
.expect(Selector("#track-switch").checked).ok();
|
||||
res = await matomoCheck();
|
||||
await t.expect(res).ok()
|
||||
}).before(async t => {
|
||||
await testLocalStorageSet("matomoShouldTrack", "1");
|
||||
});
|
||||
|
||||
test('Themes', async t => {
|
||||
await waitForMainMenu(t);
|
||||
await t
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user