MediaWiki:Citizen.js: Difference between revisions

MediaWiki interface page
No edit summary
m (test)
Line 4: Line 4:
/**
/**
  * Adds icons for the Citizen skin toggle menu
  * Adds icons for the Citizen skin toggle menu
*
**/
**/
/* obsolete while menu icons are loaded by CSS.
/* obsolete while menu icons are loaded by CSS.
Line 45: Line 46:
/* Adds Sandbox icon for the Citizen skin preferences menu */
/* Adds Sandbox icon for the Citizen skin preferences menu */
(function($, mw) {
(function($, mw) {
if (!mw.user.isAnon()) {
var $a = $('#pt-sandbox').children()[0];
var $a = $('#pt-sandbox').children()[0];
var $span = $('<span>')
var $span = $('<span>')
Line 51: Line 51:
.addClass('prolewiki-ui-icon-sandbox');
.addClass('prolewiki-ui-icon-sandbox');
$a.prepend($span[0]);
$a.prepend($span[0]);
}
}(jQuery, mediaWiki));
}(jQuery, mediaWiki));


/**
/**
  * Append edit button to non-logged in users that redirects to Request Account.
  * Append edit button to non-logged in users that redirects to Request Account.
**/
**/
(function(mw) {
/*
     // Use mw.loader.using to load required modules
(function($, mw) {
    mw.loader.using(['mediawiki.user']).done(function() {
     // Check if the user is anonymous
        // Check that the user is not logged in
    if (mw.user.isAnon()) {
        if (mw.user.getId() === 0) {
        // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
            // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
        var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
            var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
            '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
                '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
            '</li>';
                '</li>';
 
            // Insert the button after the #ca-history element
        // Insert the button after the #ca-history element
            var historyElement = document.getElementById('ca-history');
        $('#ca-history').after(requestAccountEditBtn);
            if (historyElement) {
     }
                historyElement.insertAdjacentHTML('afterend', requestAccountEditBtn);
}(jQuery, mediaWiki));
            }
*/
        }
     });
})(mediaWiki);


function addEditButtonForAnonymous() {
    // Check if the user is anonymous
    if (mw.user.isAnon()) {
        // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
        var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
            '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
            '</li>';


        // Insert the button after the #ca-history element
        $('#ca-history').after(requestAccountEditBtn);
    }
}


// Call the function when the document is ready
$(document).ready(addEditButtonForAnonymous);


//</nowiki>
//</nowiki>

Revision as of 16:31, 19 September 2023

/* All JavaScript here will be loaded for users of the Citizen skin */
"use strict";

/**
 *		Adds icons for the Citizen skin toggle menu
 *	
**/
/* obsolete while menu icons are loaded by CSS.
(function($, mw) {
	var $ul = $('#p-Navigation').children()[1]; // This selects the <ul> list of elements
	for (var i=0;i<$ul.children.length;i++) {
		var $a = $ul.children[i].children[0];
		var $span = $('<span>').text("")
		.addClass('citizen-ui-icon')
		switch ($a.text) {
			case " Main page":
				if (mw.config.get('wgIsMainPage')) {
					$ul.children[i].remove();
				}
				break;
			case "Library":
				$span.addClass('prolewiki-ui-icon-library')
				$a.prepend($span[0]);
				break;
			case "Wanted pages":
				$span.addClass('prolewiki-ui-icon-wanted')
				$a.prepend($span[0]);
				break;
			case "Recruitment":
				$span.addClass('prolewiki-ui-icon-recruitment');
				$a.prepend($span[0]);
				break;
			case "Special pages":
				$span.addClass('prolewiki-ui-icon-special')
				$a.prepend($span[0]);
				break;
			case "Upload file":
				$span.addClass('prolewiki-ui-icon-upload')
				$a.prepend($span[0]);
				break;
				
		}
	}
}(jQuery, mediaWiki)); */

/* Adds Sandbox icon for the Citizen skin preferences menu */
(function($, mw) {
	var $a = $('#pt-sandbox').children()[0];
	var $span = $('<span>')
		.addClass('citizen-ui-icon')
		.addClass('prolewiki-ui-icon-sandbox');
	$a.prepend($span[0]);
}(jQuery, mediaWiki));

/**
 * Append edit button to non-logged in users that redirects to Request Account.
**/
/*
(function($, mw) {
    // Check if the user is anonymous
    if (mw.user.isAnon()) {
        // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
        var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
            '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
            '</li>';

        // Insert the button after the #ca-history element
        $('#ca-history').after(requestAccountEditBtn);
    }
}(jQuery, mediaWiki));
*/

function addEditButtonForAnonymous() {
    // Check if the user is anonymous
    if (mw.user.isAnon()) {
        // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
        var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
            '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
            '</li>';

        // Insert the button after the #ca-history element
        $('#ca-history').after(requestAccountEditBtn);
    }
}

// Call the function when the document is ready
$(document).ready(addEditButtonForAnonymous);

//</nowiki>