MediaWiki:Citizen.js: Difference between revisions

MediaWiki interface page
(test2)
No edit summary
Line 53: Line 53:
}(jQuery, mediaWiki));
}(jQuery, mediaWiki));


/* append edit button that redirects to Request Account for non-logged in users  */
(function($, mw) {
(function($, mw) {
     // Check if the user is anonymous
     // Check if the user is anonymous
     if (!mw.user.isAnon()) {
     if (!mw.user.isAnon()) {
        // User is logged in, no action needed
         return;
         return;
     }
     }


     // For testing purposes, output a message to the browser's console
     // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
     console.log("The code for non-logged in users is working.");
     var requestAccountEditBtn = '<li id="ca-fake-edit" class="mw-list-item">' +
        '<a href="/index.php?title=Special:RequestAccount" title="Request Account">Request Account</a>' +
        '</li>';


     // Target the "Edit" button for visual editor
     // Insert the button after the #ca-history element
    var visualEditorEditButton = $('#ca-ve-edit a');
     $('#ca-history').after(requestAccountEditBtn);
    if (visualEditorEditButton.length) {
        visualEditorEditButton.attr('href', '/index.php?title=Special:RequestAccount');
    }
 
    // Target the "Edit" button for source editor
     var sourceEditorEditButton = $('#ca-edit a');
    if (sourceEditorEditButton.length) {
        sourceEditorEditButton.attr('href', '/index.php?title=Special:RequestAccount');
    }
})(jQuery, mediaWiki);
})(jQuery, mediaWiki);


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

Revision as of 15:54, 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 that redirects to Request Account for non-logged in users  */
(function($, mw) {
    // Check if the user is anonymous
    if (!mw.user.isAnon()) {
        return;
    }

    // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
    var requestAccountEditBtn = '<li id="ca-fake-edit" class="mw-list-item">' +
        '<a href="/index.php?title=Special:RequestAccount" title="Request Account">Request Account</a>' +
        '</li>';

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

//</nowiki>