MediaWiki:Common.css: Difference between revisions

From SZ
Jump to navigation Jump to search
No edit summary
No edit summary
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* CSS placed here will be applied to all skins */


/* Collapsible sidebar functionality for all pages */
/*
$(document).ready(function() {
#mw-panel.collapsed {
    // Function to make sidebar sections collapsible
    width: 0;
    function makeSidebarCollapsible() {
    overflow: hidden;
        // Target the sidebar navigation
}
        $('#mw-panel .portal').each(function() {
            var $portal = $(this);
            var $header = $portal.find('h3');
            var $body = $portal.find('.body');


            // Skip certain sections that shouldn't be collapsible
#mw-panel.collapsed .portal,
            var portalId = $portal.attr('id');
#mw-panel.collapsed .vector-menu-content {
            if (portalId === 'p-search' || portalId === 'p-tb' || portalId === 'p-lang') {
    display: none;
                return;
}
            }
*/


            // Add toggle functionality only to specific sections
            var collapsibleSections = ['Documentation', 'Tools & Utilities', 'Community', 'Administrative', 'External Resources'];
            var headerText = $header.text().trim();


            if (collapsibleSections.includes(headerText)) {
                // Add toggle button to header
                var $toggleBtn = $('<span class="sidebar-toggle">[−]</span>');
                $header.append(' ').append($toggleBtn);


                // Add click handler
/*
                $toggleBtn.click(function(e) {
                    e.preventDefault();
                    e.stopPropagation();


                    if ($body.is(':visible')) {
.vector-menu.mw-portlet li.collapsible-header,
                        $body.slideUp(200);
.vector-menu-portal li.collapsible-header {
                        $toggleBtn.text('[+]');
  cursor: pointer;
                        $portal.addClass('collapsed');
  font-weight: 600;
                    } else {
  display: flex;
                        $body.slideDown(200);
  align-items: center;
                        $toggleBtn.text('[−]');
}
                        $portal.removeClass('collapsed');
                    }
                });


                // Start collapsed for some sections
.mw-collapsible-arrow {
                if (['Administrative', 'External Resources'].includes(headerText)) {
  display: inline-block;
                    $body.hide();
  width: 1em;
                    $toggleBtn.text('[+]');
  margin-right: 4px;
                    $portal.addClass('collapsed');
  transform-origin: center;
                }
  transition: transform 0.2s ease;
            }
  user-select: none;
        });
}
    }


    // Run the function
li.collapsible-header.open > .mw-collapsible-arrow {
    makeSidebarCollapsible();
  transform: rotate(90deg);
 
}
    // Also run after any AJAX content loads
*/
    $(document).ajaxComplete(function() {
        makeSidebarCollapsible();
    });
});
 
/* CSS for sidebar toggle buttons */
mw.loader.using('mediawiki.util', function() {
    mw.util.addCSS(`
        .sidebar-toggle {
            cursor: pointer;
            font-weight: bold;
            color: #0645ad;
            margin-left: 5px;
            font-size: 12px;
            user-select: none;
        }
 
        .sidebar-toggle:hover {
            text-decoration: underline;
            color: #0b0080;
        }
 
        #mw-panel .portal.collapsed .body {
            display: none;
        }
 
        #mw-panel .portal h3 {
            cursor: default;
        }
 
        /* Style improvements for collapsible sections */
        #mw-panel .portal {
            margin-bottom: 0.5em;
        }
 
        #mw-panel .portal .body ul {
            margin: 0;
            padding: 0;
        }
 
        #mw-panel .portal .body li {
            margin: 0.2em 0;
        }
    `);
});

Latest revision as of 15:30, 26 August 2025


/*
#mw-panel.collapsed {
    width: 0;
    overflow: hidden;
}

#mw-panel.collapsed .portal,
#mw-panel.collapsed .vector-menu-content {
    display: none;
}
*/



/*

.vector-menu.mw-portlet li.collapsible-header,
.vector-menu-portal li.collapsible-header {
  cursor: pointer;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.mw-collapsible-arrow {
  display: inline-block;
  width: 1em;
  margin-right: 4px;
  transform-origin: center;
  transition: transform 0.2s ease;
  user-select: none;
}

li.collapsible-header.open > .mw-collapsible-arrow {
  transform: rotate(90deg);
}
*/