|
|
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 */ |
|
| |
| mw.hook('wikipage.content').add(function() {
| |
| if (window.innerWidth >= 768) { // Only on desktop
| |
| mw.hook('citizen-collapsibles-init').add(function() {
| |
| setTimeout(function() { // Wait a tiny bit AFTER Citizen finishes
| |
| const idsToCollapse = [
| |
| 'Muling', 'Misc', 'Anti-ban', 'Anti-PK', 'Trip_Settings', 'Skills_Settings', 'Equipment'
| |
| ];
| |
|
| |
| 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');
| |
| }
| |
| });
| |
| });
| |
| }, 50); // 🔥 50ms delay is enough to let Citizen finish expanding
| |
| });
| |
| }
| |
| });
| |