mNo edit summary
m (Reverted edits by Blob (talk) to last revision by Village)
Tag: Rollback
 
(14 intermediate revisions by 2 users not shown)
Line 22: Line 22:
}
}


function advanceInfoboxImage() {
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');
var elements = document.getElementsByClassName('infobox-image-row');
if (elements.length > 0) {
if (elements.length > 0) {
var imageRow = elements[0];
for (var i = 0; i < elements.length; i++) {
var images = imageRow.getElementsByClassName('image');
var infoboxImageRow = elements[i];
if (images.length > 1) {
var infoboxImageCount = infoboxImageRow.getElementsByClassName('image').length;
console.log('image length: ' + images.length);
if (infoboxImageCount > 1) {
console.log('style transform: ' + imageRow.style.transform);
advanceInfoboxImage(infoboxImageRow, infoboxImageCount);
if (imageRow.style.transform) { console.log('e') }
setInterval(advanceInfoboxImage, 1500, infoboxImageRow, infoboxImageCount);
else { console.log('dne'); }
}
imageRow.style.transform = 'translateX(-' + 100 + '%)';
console.log('style transform after: ' + imageRow.style.transform);
if (imageRow.style.transform) { console.log(.replace('translateX(-','').replace('%)','')) }
else { console.log('dne'); }
}
}
}
}
Line 50: Line 56:
// applyDarkMode();
// applyDarkMode();
overrideSourceEdit();
overrideSourceEdit();
advanceInfoboxImage();
startInfoboxImageScroll();

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('&section')[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();