We are actively looking for staff to help us build the wiki. If you are interested please join our Discord server and apply.

MediaWiki:Common.js: Difference between revisions

From Moonbounce Wiki
Jump to navigation Jump to search
m (Importing javascript from a separate page)
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
     $('#mw-panel .portal > h3').each(function() {
     $('#mw-panel .portal > h3').each(function() {
         var category = $(this).parent().attr('id');
         var category = $(this).parent().attr('id');
         $(this).addClass('head').click(function() { toggleSidebarCategory(category); });
         $(this).addClass('head').click(function() {
            toggleSidebarCategory(category);
        });
     });
     });


Line 17: Line 19:
});
});


importScript('MediaWiki:Masterlist.js');
document.addEventListener('DOMContentLoaded', function() {
    const icons = document.querySelectorAll('.masterlist-icon');
 
    console.log('Custom script loaded');
    console.log('Icons found:', icons);
 
    icons.forEach(function(icon) {
        console.log('Icon:', icon);
    });
 
    icons.forEach(function(icon) {
        const itemId = icon.closest('.masterlist-item').dataset.id;
        console.log('Item ID:', itemId);
        const isClicked = localStorage.getItem('icon-' + itemId) === 'true';
        if (isClicked) {
            icon.classList.add('clicked');
        }
    });
 
    icons.forEach(function(icon) {
        icon.addEventListener('click', function(event) {
            event.preventDefault();
            const itemId = icon.closest('.masterlist-item').dataset.id;
            console.log('Clicked Item ID:', itemId);
            icon.classList.toggle('clicked');
            localStorage.setItem('icon-' + itemId, icon.classList.contains('clicked'));
        });
    });
});

Latest revision as of 18:44, 25 June 2024

$(document).ready(function() {
    // Function to toggle the collapse
    function toggleSidebarCategory(category) {
        $('#' + category + ' > .body').slideToggle();
        $('#' + category + ' > .head').toggleClass('collapsed');
    }

    // Add toggle link to each category header
    $('#mw-panel .portal > h3').each(function() {
        var category = $(this).parent().attr('id');
        $(this).addClass('head').click(function() {
            toggleSidebarCategory(category);
        });
    });

    // Hide all categories by default
    $('#mw-panel .portal > .body').hide();
    $('#mw-panel .portal > h3').addClass('collapsed');
});

document.addEventListener('DOMContentLoaded', function() {
    const icons = document.querySelectorAll('.masterlist-icon');

    console.log('Custom script loaded');
    console.log('Icons found:', icons);

    icons.forEach(function(icon) {
        console.log('Icon:', icon);
    });

    icons.forEach(function(icon) {
        const itemId = icon.closest('.masterlist-item').dataset.id;
        console.log('Item ID:', itemId);
        const isClicked = localStorage.getItem('icon-' + itemId) === 'true';
        if (isClicked) {
            icon.classList.add('clicked');
        }
    });

    icons.forEach(function(icon) {
        icon.addEventListener('click', function(event) {
            event.preventDefault();
            const itemId = icon.closest('.masterlist-item').dataset.id;
            console.log('Clicked Item ID:', itemId);
            icon.classList.toggle('clicked');
            localStorage.setItem('icon-' + itemId, icon.classList.contains('clicked'));
        });
    });
});