Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Citizen.js: Difference between revisions

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


//New homepage search bar
//New homepage search bar
//New homepage search bar
//New homepage search bar
//New homepage search bar
mw.loader.using(['mediawiki.util']).done(function () {
mw.loader.using(['mediawiki.util']).done(function () {
     console.log("loaded utils");
     console.log("loaded utils");
   
 
    // Get the fake search button element
     var searchButton = document.getElementById('homepage-search');
     var searchButton = document.getElementById('homepage-search');
      
      
Line 67: Line 67:
     };
     };


    // Add event listeners for both click and touchstart
     if (searchButton) {
     if (searchButton) {
         // Trigger the function on first tap or click
         // Check if the device supports touch events
         searchButton.addEventListener('click', openSearch);
         if ('ontouchstart' in window) {
         searchButton.addEventListener('touchstart', openSearch);
            // Use touchstart for touch devices
            searchButton.addEventListener('touchstart', openSearch);
         } else {
            // Use click for non-touch devices (desktop)
            searchButton.addEventListener('click', openSearch);
        }
     }
     }
});
});

Revision as of 11:38, 4 October 2024

/* 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));

//New homepage search bar
//New homepage search bar
//New homepage search bar
mw.loader.using(['mediawiki.util']).done(function () {
    console.log("loaded utils");

    var searchButton = document.getElementById('homepage-search');
    
    // Define the function to open the search details
    var openSearch = function() {
        var search = document.getElementById('citizen-search-details');
        search.open = true;
    };

    if (searchButton) {
        // Check if the device supports touch events
        if ('ontouchstart' in window) {
            // Use touchstart for touch devices
            searchButton.addEventListener('touchstart', openSearch);
        } else {
            // Use click for non-touch devices (desktop)
            searchButton.addEventListener('click', openSearch);
        }
    }
});