MediaWiki:Common.js: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
/* Das folgende JavaScript wird für alle Benutzer geladen. */ | /* Das folgende JavaScript wird für alle Benutzer geladen. */ | ||
(function ($, mw) { | (function ($, mw) { | ||
'use strict'; | 'use strict'; | ||
var CONFIG = { | var CONFIG = { | ||
enabled: | enabled: true, | ||
id: ' | id: 'charity_notice_v4', // Version erhöht, damit alle es neu sehen | ||
title: ' | title: 'Charity für Kinderherzen', | ||
logoUrl: 'https://www.kinderherzen.de/wp-content/uploads/logo_kinderherzen.png', | |||
html: | html: | ||
'<p> | '<p>Liebe Whisky, ADoS Heads,</p>' + | ||
'< | '<p>wir wurden jetzt schon paarmal gefragt, wie 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', | showOnNamespaces: 'all', | ||
dailyLimit: 1, | dailyLimit: 1, | ||
escToClose: true, | escToClose: true, | ||
clickBackdropToClose: true | clickBackdropToClose: true | ||
}; | }; | ||
| Zeile 35: | Zeile 24: | ||
var isAnon = mw.config.get('wgUserName') === null; | var isAnon = mw.config.get('wgUserName') === null; | ||
var ns = mw.config.get('wgNamespaceNumber'); | var ns = mw.config.get('wgNamespaceNumber'); | ||
if (CONFIG.showOnNamespaces !== 'all' | if (CONFIG.showOnNamespaces !== 'all' && CONFIG.showOnNamespaces.indexOf(ns) === -1) return; | ||
var | var storage = { | ||
get(k) { try { return localStorage.getItem(k); } catch { return null; } }, | |||
set(k, v) { try { localStorage.setItem(k, v); } catch {} } | |||
}; | |||
var | 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); } | |||
var | $(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(); | |||
}); | |||
$overlay | |||
$ | |||
if (CONFIG.escToClose) { | if (CONFIG.escToClose) { | ||
$(document).on('keydown. | $(document).on('keydown.popup', function (e) { | ||
if (e.key === 'Escape') { | if (e.key === 'Escape') { | ||
markSeen(); | |||
$overlay.remove(); | |||
$modal.remove(); | |||
} | |||
}); | }); | ||
} | } | ||
markSeen(); | |||
}); | }); | ||
})(jQuery, mediaWiki); | })(jQuery, mediaWiki); | ||
Version vom 1. September 2025, 21:57 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
(function ($, mw) {
'use strict';
var CONFIG = {
enabled: true,
id: 'charity_notice_v4', // Version erhöht, 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 paarmal gefragt, wie 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',
dailyLimit: 1,
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);