MediaWiki:Common.js

From Medalist Wiki
Revision as of 18:12, 6 February 2025 by Zhiktang (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* 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 toggle interface
        var toggleHtml = 
            '<div class="version-toggle">' +
            '<div class="version-toggle-label">Content Version:</div>' +
            '<div class="version-toggle-buttons">' +
            '<button class="version-button anime-toggle">Anime</button>' +
            '<button class="version-button manga-toggle active">Manga</button>' +
            '</div>' +
            '</div>';
        
        // Insert the toggle into the navigation sidebar
        $('#p-navigation .body').prepend(toggleHtml);
        
        // Set initial state
        $('body').addClass('show-manga');
        
        // Anime toggle click handler
        $('.anime-toggle').on('click', function() {
            $('.version-button').removeClass('active');
            $(this).addClass('active');
            $('body')
                .removeClass('show-manga')
                .addClass('show-anime');
            // Save preference
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'anime');
            }
        });
        
        // Manga toggle click handler
        $('.manga-toggle').on('click', function() {
            $('.version-button').removeClass('active');
            $(this).addClass('active');
            $('body')
                .removeClass('show-anime')
                .addClass('show-manga');
            // Save preference
            if (window.localStorage) {
                window.localStorage.setItem('contentPreference', 'manga');
            }
        });
        
        // Load saved preference if available
        if (window.localStorage) {
            var savedPreference = window.localStorage.getItem('contentPreference');
            if (savedPreference === 'anime') {
                $('.anime-toggle').trigger('click');
            }
        }
    });
});