MediaWiki:Common.js: Difference between revisions
mNo edit summary |
Tag: Rollback |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 35: | Line 35: | ||
var elements = document.getElementsByClassName('infobox-image-row'); | var elements = document.getElementsByClassName('infobox-image-row'); | ||
if (elements.length > 0) { | if (elements.length > 0) { | ||
var infoboxImageRow = elements[ | for (var i = 0; i < elements.length; i++) { | ||
var infoboxImageRow = elements[i]; | |||
var infoboxImageCount = infoboxImageRow.getElementsByClassName('image').length; | |||
if (infoboxImageCount > 1) { | |||
advanceInfoboxImage(infoboxImageRow, infoboxImageCount); | |||
setInterval(advanceInfoboxImage, 1500, infoboxImageRow, infoboxImageCount); | |||
} | |||
} | } | ||
} | } |
Latest revision as of 04:35, 10 July 2024
function overrideSourceEdit() {
var sourceEdit = document.getElementById('ca-edit');
if (sourceEdit) {
var url = sourceEdit.getAttribute('href');
sourceEdit.setAttribute('href', url.split('§ion')[0]);
}
}
function getDarkModePreference() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
}
function applyDarkMode() {
var body = document.querySelector('body');
if (getDarkModePreference()) {
if (!body.classList.contains('dark-mode')) { body.classList.add('dark-mode'); }
document.documentElement.setAttribute('theme', 'dark');
} else {
if (body.classList.contains('dark-mode')) { body.classList.remove('dark-mode'); }
document.documentElement.setAttribute('theme', 'light');
}
}
function advanceInfoboxImage(infoboxImageRow, infoboxImageCount) {
var transformStyle = infoboxImageRow.style.transform;
var offset = 0;
if (transformStyle) {
var currentOffset = parseInt(transformStyle.replace('translateX(','').replace('%)',''));
offset = (currentOffset <= (infoboxImageCount - 1) * -100) ? 0 : (currentOffset - 100);
}
infoboxImageRow.style.transform = 'translateX(' + offset + '%)';
}
function startInfoboxImageScroll() {
var elements = document.getElementsByClassName('infobox-image-row');
if (elements.length > 0) {
for (var i = 0; i < elements.length; i++) {
var infoboxImageRow = elements[i];
var infoboxImageCount = infoboxImageRow.getElementsByClassName('image').length;
if (infoboxImageCount > 1) {
advanceInfoboxImage(infoboxImageRow, infoboxImageCount);
setInterval(advanceInfoboxImage, 1500, infoboxImageRow, infoboxImageCount);
}
}
}
var body = document.querySelector('body');
if (getDarkModePreference()) {
if (!body.classList.contains('dark-mode')) { body.classList.add('dark-mode'); }
document.documentElement.setAttribute('theme', 'dark');
} else {
if (body.classList.contains('dark-mode')) { body.classList.remove('dark-mode'); }
document.documentElement.setAttribute('theme', 'light');
}
}
// applyDarkMode();
overrideSourceEdit();
startInfoboxImageScroll();