Difference between revisions of "MediaWiki:Common.js"

From Zezenia Online Wiki
(Undo revision 4557 by ZezeniaOnline (talk))
Tag: Undo
(New consent 2)
Tag: Undo
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
 +
 +
/* Consent */
 
var css = document.createElement("link");
 
var css = document.createElement("link");
 
css.rel = "stylesheet";
 
css.rel = "stylesheet";
 
css.type = "text/css";
 
css.type = "text/css";
css.href = "https://www.playzezenia.com/cdn/styles/cookieconsent.css";
+
css.href = "https://consent.playzezenia.com/consent.css";
 
document.head.appendChild(css);
 
document.head.appendChild(css);
  
 
var script = document.createElement("script");
 
var script = document.createElement("script");
script.src = "https://www.playzezenia.com/cdn/scripts/cookieconsent.js";
+
script.src = "https://consent.playzezenia.com/consent.js";
 
script.async = true;
 
script.async = true;
script.onload = function() {
 
window.cookieconsent.initialise({
 
palette: {
 
popup: {
 
background: "#000",
 
text: "#ececec"
 
},
 
button: {
 
background: "#fff",
 
text: "#000"
 
}
 
},
 
content: {
 
message: "Zezenia Online uses cookies to log you in and improve our services.",
 
dismiss: "I agree",
 
link: "Privacy Policy",
 
href: "https://www.playzezenia.com/home/legal#2",
 
},
 
cookie: {
 
domain: "." + document.domain.split('.').reverse().splice(0, 2).reverse().join('.'),
 
},
 
});
 
}
 
 
document.body.appendChild(script);
 
document.body.appendChild(script);
  
 +
/* Google Analytics */
 
var gtm = document.createElement("script");
 
var gtm = document.createElement("script");
 
gtm.async = true;
 
gtm.async = true;
 
gtm.src = "https://www.googletagmanager.com/gtag/js?id=G-Z2TDHQE12Q";
 
gtm.src = "https://www.googletagmanager.com/gtag/js?id=G-Z2TDHQE12Q";
 +
gtm.setAttribute("type", "text/plain");
 +
gtm.setAttribute("data-zezenia-consent", "analytics");
 
document.body.appendChild(gtm);
 
document.body.appendChild(gtm);
  

Revision as of 03:03, 30 April 2022

/* Any JavaScript here will be loaded for all users on every page load. */

/* Consent */
var css = document.createElement("link");
css.rel = "stylesheet";
css.type = "text/css";
css.href = "https://consent.playzezenia.com/consent.css";
document.head.appendChild(css);

var script = document.createElement("script");
script.src = "https://consent.playzezenia.com/consent.js";
script.async = true;
document.body.appendChild(script);

/* Google Analytics */
var gtm = document.createElement("script");
gtm.async = true;
gtm.src = "https://www.googletagmanager.com/gtag/js?id=G-Z2TDHQE12Q";
gtm.setAttribute("type", "text/plain");
gtm.setAttribute("data-zezenia-consent", "analytics");
document.body.appendChild(gtm);

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Z2TDHQE12Q');

/* Embed maps */
  var embeds = document.querySelectorAll(".zezenia-map-embed");
  embeds.forEach(function(embed) {
    var iframe = document.createElement("iframe");
    iframe.width = embed.dataset.width || 800;
    iframe.height = embed.dataset.height || 600;

    var params = "embed=true&";
    if (embed.dataset.x) params += "x=" + embed.dataset.x + "&";
    if (embed.dataset.y) params += "y=" + embed.dataset.y + "&";
    if (embed.dataset.z) params += "z=" + embed.dataset.z + "&";
    if (embed.dataset.zoom) params += "zoom=" + embed.dataset.zoom + "&";
    if (embed.dataset.center) params += "center=" + embed.dataset.center + "&";
    if (embed.dataset.markers) params += "markers=" + encodeURIComponent(embed.dataset.markers) + "&";
    if (embed.dataset.nobuiltins && embed.dataset.nobuiltins.length) params += "hidemarkers=true&";
    iframe.src = "https://map.playzezenia.com?" + params;

    embed.appendChild(iframe);
  });

/* Toggle maps */
var toggleMaps = document.querySelectorAll(".zezenia-map-toggle");
toggleMaps.forEach(function(toggle) {
  toggle.style.display = "inline-block";

  var map = toggle.querySelector(".zezenia-map-embed");
  map.style.display = "none";

  var link = document.createElement("a");
  link.innerText = "🗺️ Open map";
  link.onclick = function(e) {
    e.preventDefault();

    if (map.style.display !== "none") {
      map.style.display = "none";
      link.innerHTML = "🗺️ Open map";
    } else {
      map.style.display = "block";
      link.innerHTML = "🗺️ Close map";
    }

    return false;
  };
  link.href = "#";

  toggle.insertBefore(link, map);
});