Jump to content

MediaWiki:Common.js: Difference between revisions

An idea by Jeff Lawlor
Created on 2025-04-25
mNo edit summary
Default dark mode to OS preference
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


// Click event for About Idea infobox
$('.infobox-tab').click(function(e) {
$('.infobox-tab').click(function(e) {
var tab = $(e.target).attr('data-tab');
var tab = $(e.target).attr('data-tab');
Line 9: Line 10:
});
});


// Move infoboxes to the bottom of the article in mobile
$(document).ready(function() {
$(document).ready(function() {
if ($('body').hasClass('skin-minerva')) {
if ($('body').hasClass('skin-minerva')) {
/* $('#mw-content-text div section[class="mf-section-0"]').children().last()
.insertAfter('#mw-content-text div section[class="mf-section-0"] div[class="infobox-idea"]:first');*/
var infoboxes = $('#mf-section-0 .infobox-idea');
var infoboxes = $('#mf-section-0 .infobox-idea');
Line 19: Line 19:
}
}
});
});
defaultDarkModeToOs();
function defaultDarkModeToOs() {
    // Name of the cookie
    var cookieName = "IdeaSuprememwclientpreferences";
    // Desired value if not already set
    var cookieValue = "skin-theme-clientpref-os";
    // If the cookie doesn’t exist, create it
    if (!getCookie(cookieName)) {
        // Set cookie to expire in 1 year
        var expires = new Date();
        expires.setFullYear(expires.getFullYear() + 1);
        document.cookie = cookieName + "=" + encodeURIComponent(cookieValue) +
            "; path=/; expires=" + expires.toUTCString();
    }
}
// Helper function to get a cookie by name
function getCookie(name) {
    var match = document.cookie.match(new RegExp("(^| )" + name + "=([^;]+)"));
    return match ? decodeURIComponent(match[2]) : null;
}

Revision as of 17:17, 13 November 2025

/* Any JavaScript here will be loaded for all users on every page load. */

// Click event for About Idea infobox
$('.infobox-tab').click(function(e)	{
		var tab = $(e.target).attr('data-tab');
		$('.infobox-panel').hide();
		$('.infobox-panel.' + tab).show();
		$('.infobox-tab').removeClass('active');
		$(e.target).addClass('active');
	});

// Move infoboxes to the bottom of the article in mobile
$(document).ready(function() {
	if ($('body').hasClass('skin-minerva')) {
		var infoboxes = $('#mf-section-0 .infobox-idea');
	
		// Move them to the end of the section
		$('#mf-section-0').append(infoboxes);
	}
});

defaultDarkModeToOs();

function defaultDarkModeToOs() {
    // Name of the cookie
    var cookieName = "IdeaSuprememwclientpreferences";
    // Desired value if not already set
    var cookieValue = "skin-theme-clientpref-os";

    // If the cookie doesn’t exist, create it
    if (!getCookie(cookieName)) {
        // Set cookie to expire in 1 year
        var expires = new Date();
        expires.setFullYear(expires.getFullYear() + 1);
        document.cookie = cookieName + "=" + encodeURIComponent(cookieValue) +
            "; path=/; expires=" + expires.toUTCString();
    }
}
// Helper function to get a cookie by name
function getCookie(name) {
    var match = document.cookie.match(new RegExp("(^| )" + name + "=([^;]+)"));
    return match ? decodeURIComponent(match[2]) : null;
}