|
|
| 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);
| |