MediaWiki:Common.js: Difference between revisions

mNo edit summary
mNo edit summary
Line 175: Line 175:


});
});
/* V2 Level Progression Accordion */
(function () {
    function initLevelCards() {
        document.querySelectorAll('.ooo-v2-level-heading').forEach(function (heading) {
            if (heading.dataset.levelInitialized) return;
            heading.dataset.levelInitialized = '1';
            function toggle() {
                var card = heading.closest('.ooo-v2-level-card');
                var details = card.querySelector('.ooo-v2-level-details');
                if (!details) return;
                var opening = details.hidden;
                details.hidden = !opening;
                card.classList.toggle('is-open', opening);
                heading.setAttribute('aria-expanded', String(opening));
            }
            heading.addEventListener('click', toggle);
            heading.addEventListener('keydown', function (event) {
                if (event.key === 'Enter' || event.key === ' ') {
                    event.preventDefault();
                    toggle();
                }
            });
        });
    }
    mw.hook('wikipage.content').add(initLevelCards);
})();