Toggle menu
Toggle preferences 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
No edit summary
No edit summary
Line 1: Line 1:
/* All JavaScript here will be loaded for users of the Citizen skin */
/* All JavaScript here will be loaded for users of the Citizen skin */


$(document).ready(function() {
mw.hook('wikipage.content').add(function() {
   if (window.innerWidth >= 768) { // Only on desktop
   if (window.innerWidth >= 768) { // Only on desktop
     const idsToCollapse = [
     const idsToCollapse = [

Revision as of 14:29, 25 April 2025

/* All JavaScript here will be loaded for users of the Citizen skin */

mw.hook('wikipage.content').add(function() {
  if (window.innerWidth >= 768) { // Only on desktop
    const idsToCollapse = [
      'Muling', 'Misc', 'Anti-ban', 'Anti-PK', 'Trip_Settings', 'Skills_Settings', 'Equipment'
    ];

    mw.hook('citizen-collapsibles-init').add(function() {
      idsToCollapse.forEach(function(rawId) {
        var id = rawId.replace(/ /g, "_");
        var header = document.getElementById(id);
        if (!header) return;

        var section = header.closest('.citizen-section-heading');
        var content = section?.nextElementSibling;
        if (!section || !content) return;

        // --- Manually collapse section ---
        section.classList.add('citizen-section-collapsed'); // Add collapsed class
        content.style.display = 'none'; // Hide content manually

        // --- Remove old Citizen click event if any ---
        var newSection = section.cloneNode(true);
        section.parentNode.replaceChild(newSection, section);
        
        // --- Bind our clean click handler ---
        newSection.addEventListener('click', function() {
          if (content.style.display === 'none') {
            content.style.display = 'block';
            newSection.classList.remove('citizen-section-collapsed');
          } else {
            content.style.display = 'none';
            newSection.classList.add('citizen-section-collapsed');
          }
        });
      });
    });
  }
});