Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus ADOS Wiki
Keine Bearbeitungszusammenfassung
Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Das folgende JavaScript wird für alle Benutzer geladen.:
Markierung: Ersetzt
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
(function ($, mw) {
  'use strict';
  var CONFIG = {
    enabled: true,
    id: 'charity_notice_v4', // Bei Änderungen erhöhen, damit alle es neu sehen
    title: 'Charity für Kinderherzen',
    logoUrl: 'https://www.kinderherzen.de/wp-content/uploads/logo_kinderherzen.png',
    html:
      '<p>Liebe Whisky, ADoS Heads,</p>' +
      '<p>wir wurden jetzt schon gefragt, ob ihr dieses Wiki-Projekt unterstützen könnt.</p>' +
      '<p>Wir freuen uns sehr, dass dieses Projekt so gut angenommen wurde.</p>' +
      '<p>Wir würden uns daher sehr freuen, wenn ihr anstatt uns lieber das Projekt vom Whiskywaiter unterstützen würdet.</p>' +
      '<p><strong>Jede Spende zählt!</strong></p>' +
      '<p><a href="https://www.thewhiskywaiter.com/charity-event" target="_blank" rel="noopener" class="mw-ui-button">Mehr erfahren</a></p>',
    showOnNamespaces: 'all', // 'all' oder Array von NS-IDs
    dailyLimit: 1, // nur einmal pro Tag anzeigen
    escToClose: true,
    clickBackdropToClose: true
  };
  if (!CONFIG.enabled) return;
  var isAnon = mw.config.get('wgUserName') === null;
  var ns = mw.config.get('wgNamespaceNumber');
  if (CONFIG.showOnNamespaces !== 'all' && CONFIG.showOnNamespaces.indexOf(ns) === -1) return;
  var storage = {
    get(k) { try { return localStorage.getItem(k); } catch { return null; } },
    set(k, v) { try { localStorage.setItem(k, v); } catch {} }
  };
  var key = 'popup_' + CONFIG.id + (isAnon ? ':anon' : ':user');
  var today = new Date().toISOString().slice(0, 10);
  if (storage.get(key) === today) return;
  function markSeen() { storage.set(key, today); }
  $(function () {
    var $overlay = $('<div class="mw-popup-overlay"></div>');
    var $modal = $(
      '<div class="mw-popup-modal" role="dialog" aria-modal="true">' +
        '<div class="mw-popup-logo">' +
          '<div class="mw-popup-heart"></div>' +
          '<img src="' + CONFIG.logoUrl + '" alt="Kinderherzen Logo">' +
        '</div>' +
        '<h2>' + CONFIG.title + '</h2>' +
        '<div class="mw-popup-content">' + CONFIG.html + '</div>' +
        '<button class="mw-popup-close">OK</button>' +
      '</div>'
    );
    $('body').append($overlay, $modal);
    $('.mw-popup-close, .mw-popup-overlay').on('click', function () {
      markSeen();
      $overlay.remove();
      $modal.remove();
    });
    if (CONFIG.escToClose) {
      $(document).on('keydown.popup', function (e) {
        if (e.key === 'Escape') {
          markSeen();
          $overlay.remove();
          $modal.remove();
        }
      });
    }
    markSeen();
  });
})(jQuery, mediaWiki);

Version vom 1. September 2025, 22:01 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */