MediaWiki:Common.js: Difference between revisions
Appearance
Cdjensen94 (talk | contribs) |
Cdjensen94 (talk | contribs) |
||
| Line 1: | Line 1: | ||
mw.hook('wikipage.content').add(function () { | mw.hook('wikipage.content').add(function () { | ||
const el = document.getElementById( | const el = document.getElementById('article-countdown'); | ||
console.log('countdown hook fired; element is:', el); | |||
if (!el) return; | if (!el) return; | ||
el.textContent = '✅ Countdown JS is running…'; | |||
const apiUrl = mw.util.wikiScript('api') + | |||
'?action=query&meta=siteinfo&siprop=statistics&format=json&origin=*'; | |||
const apiUrl = | |||
fetch(apiUrl) | fetch(apiUrl) | ||
.then( | .then(r => r.json()) | ||
.then( | .then(d => { | ||
const current = | const current = d.query.statistics.articles; | ||
const goal = 1000; | const goal = 1000; | ||
const left = goal - current; | const left = goal - current; | ||
| Line 21: | Line 21: | ||
}) | }) | ||
.catch(err => { | .catch(err => { | ||
el.textContent = | el.textContent = 'API request failed (see console).'; | ||
console.error(err); | console.error(err); | ||
}); | }); | ||
}); | }); | ||
// MediaWiki:Common.js | // MediaWiki:Common.js | ||
Latest revision as of 22:35, 28 December 2025
mw.hook('wikipage.content').add(function () {
const el = document.getElementById('article-countdown');
console.log('countdown hook fired; element is:', el);
if (!el) return;
el.textContent = '✅ Countdown JS is running…';
const apiUrl = mw.util.wikiScript('api') +
'?action=query&meta=siteinfo&siprop=statistics&format=json&origin=*';
fetch(apiUrl)
.then(r => r.json())
.then(d => {
const current = d.query.statistics.articles;
const goal = 1000;
const left = goal - current;
el.innerHTML = left > 0
? `🚧 Only <strong>${left}</strong> articles to go until 1000!`
: `🎯 We've reached 1000 articles! Let's Go Boyz and Girlz!`;
})
.catch(err => {
el.textContent = 'API request failed (see console).';
console.error(err);
});
});
// MediaWiki:Common.js
mw.hook('rcfilters.ui.initialized').add(function () {
document.documentElement.classList.add('rcfilters-ready');
});