MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 30: | Line 30: | ||
var isCollapsed = startCollapsed.includes(headerText); | var isCollapsed = startCollapsed.includes(headerText); | ||
var toggleText = isCollapsed ? 'book1' : 'bookend'; | var toggleText = isCollapsed ? 'book1' : 'bookend'; | ||
// Persistent text | |||
var persistentText = '<span class="sidebar-persistent"> Section</span>'; | |||
var $toggleBtn = $('<span class="sidebar-toggle">' + toggleText + '</span>'); | var $toggleBtn = $('<span class="sidebar-toggle">' + toggleText + '</span>'); | ||
// Add both to header | |||
$header.append(' ').append($toggleBtn).append(persistentText); | |||
if (isCollapsed) { | if (isCollapsed) { |
Revision as of 12:30, 21 August 2025
# Replace the JAVASCRIPT_CODE section with this updated version: /* Collapsible Sidebar Functionality */ $(document).ready(function() { function initCollapsibleSidebar() { var collapsibleSections = [ 'Documentation', 'Tools & Utilities', 'Community', 'Administrative', 'External Resources' ]; var startCollapsed = ['Administrative', 'External Resources']; $('#mw-panel .portal').each(function() { var $portal = $(this); var $header = $portal.find('h3'); var $body = $portal.find('.body'); var headerText = $header.text().trim(); var portalId = $portal.attr('id'); if (portalId === 'p-search' || portalId === 'p-tb' || portalId === 'p-lang') { return; } if (collapsibleSections.includes(headerText)) { $header.find('.sidebar-toggle').remove(); var isCollapsed = startCollapsed.includes(headerText); var toggleText = isCollapsed ? 'book1' : 'bookend'; // Persistent text var persistentText = '<span class="sidebar-persistent"> Section</span>'; var $toggleBtn = $('<span class="sidebar-toggle">' + toggleText + '</span>'); // Add both to header $header.append(' ').append($toggleBtn).append(persistentText); if (isCollapsed) { $body.hide(); $portal.addClass('sidebar-collapsed'); } $toggleBtn.off('click').on('click', function(e) { e.preventDefault(); e.stopPropagation(); if ($body.is(':visible')) { $body.slideUp(300); $toggleBtn.text('book1'); $portal.addClass('sidebar-collapsed'); localStorage.setItem('sidebar-' + headerText, 'collapsed'); } else { $body.slideDown(300); $toggleBtn.text('bookend'); $portal.removeClass('sidebar-collapsed'); localStorage.setItem('sidebar-' + headerText, 'expanded'); } }); var savedState = localStorage.getItem('sidebar-' + headerText); if (savedState === 'collapsed' && $body.is(':visible')) { $body.hide(); $toggleBtn.text('book1'); $portal.addClass('sidebar-collapsed'); } else if (savedState === 'expanded' && !$body.is(':visible')) { $body.show(); $toggleBtn.text('bookend'); $portal.removeClass('sidebar-collapsed'); } } }); } initCollapsibleSidebar(); $(document).ajaxComplete(function() { setTimeout(initCollapsibleSidebar, 100); }); });