MediaWiki:Common.js: Difference between revisions

From Medalist Wiki
No edit summary
No edit summary
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
// MediaWiki:Common.js
// MediaWiki:Common.js
$(document).ready(function() {
mw.loader.using(['mediawiki.util', 'jquery'], function() {
    // Add toggle buttons to the page
    $(function() {
    const toggleContainer = $('<div class="toggle-container">' +
        // Create the HTML string for the toggle container
        '<div class="toggle-label">Select version:</div>' +
        var toggleHtml =  
        '<button class="toggle-button anime-toggle">Anime</button>' +
            '<div class="toggle-container">' +
        '<button class="toggle-button manga-toggle active">Manga</button>' +
            '<div class="toggle-label">Select version:</div>' +
        '</div>');
            '<button class="toggle-button anime-toggle">Anime</button>' +
   
            '<button class="toggle-button manga-toggle active">Manga</button>' +
    // Insert the toggle container after the first heading
            '</div>';
    $('#firstHeading').after(toggleContainer);
       
   
        // Insert the toggle container after the first heading
    // Set initial state
        $('#firstHeading').after(toggleHtml);
    $('body').addClass('show-manga');
       
   
        // Set initial state
    // Toggle functionality
        $('body').addClass('show-manga');
    $('.anime-toggle').click(function() {
       
        $('.toggle-button').removeClass('active');
        // Anime toggle click handler
        $(this).addClass('active');
        $('.anime-toggle').on('click', function() {
        $('body')
            $('.toggle-button').removeClass('active');
            .removeClass('show-manga')
            $(this).addClass('active');
             .addClass('show-anime');
            $('body')
        // Save preference in localStorage
                .removeClass('show-manga')
        localStorage.setItem('contentPreference', 'anime');
                .addClass('show-anime');
            // Save preference in localStorage if available
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'anime');
            }
        });
       
        // Manga toggle click handler
        $('.manga-toggle').on('click', function() {
             $('.toggle-button').removeClass('active');
            $(this).addClass('active');
            $('body')
                .removeClass('show-anime')
                .addClass('show-manga');
            // Save preference in localStorage if available
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'manga');
            }
        });
       
        // Load saved preference if localStorage is available
        if (window.localStorage) {
            var savedPreference = window.localStorage.getItem('contentPreference');
            if (savedPreference === 'anime') {
                $('.anime-toggle').trigger('click');
            }
        }
     });
     });
   
    $('.manga-toggle').click(function() {
        $('.toggle-button').removeClass('active');
        $(this).addClass('active');
        $('body')
            .removeClass('show-anime')
            .addClass('show-manga');
        // Save preference in localStorage
        localStorage.setItem('contentPreference', 'manga');
    });
   
    // Load saved preference
    const savedPreference = localStorage.getItem('contentPreference');
    if (savedPreference === 'anime') {
        $('.anime-toggle').click();
    }
});
});

Revision as of 18:09, 6 February 2025

/* Any JavaScript here will be loaded for all users on every page load. */
// MediaWiki:Common.js
mw.loader.using(['mediawiki.util', 'jquery'], function() {
    $(function() {
        // Create the HTML string for the toggle container
        var toggleHtml = 
            '<div class="toggle-container">' +
            '<div class="toggle-label">Select version:</div>' +
            '<button class="toggle-button anime-toggle">Anime</button>' +
            '<button class="toggle-button manga-toggle active">Manga</button>' +
            '</div>';
        
        // Insert the toggle container after the first heading
        $('#firstHeading').after(toggleHtml);
        
        // Set initial state
        $('body').addClass('show-manga');
        
        // Anime toggle click handler
        $('.anime-toggle').on('click', function() {
            $('.toggle-button').removeClass('active');
            $(this).addClass('active');
            $('body')
                .removeClass('show-manga')
                .addClass('show-anime');
            // Save preference in localStorage if available
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'anime');
            }
        });
        
        // Manga toggle click handler
        $('.manga-toggle').on('click', function() {
            $('.toggle-button').removeClass('active');
            $(this).addClass('active');
            $('body')
                .removeClass('show-anime')
                .addClass('show-manga');
            // Save preference in localStorage if available
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'manga');
            }
        });
        
        // Load saved preference if localStorage is available
        if (window.localStorage) {
            var savedPreference = window.localStorage.getItem('contentPreference');
            if (savedPreference === 'anime') {
                $('.anime-toggle').trigger('click');
            }
        }
    });
});