|
|
| Line 2: |
Line 2: |
| /* mw.loader.load("/images/assets/nav.js"); */ | | /* mw.loader.load("/images/assets/nav.js"); */ |
| mw.loader.load("https://dxgalaxy.org/js/nav.js"); | | mw.loader.load("https://dxgalaxy.org/js/nav.js"); |
| | | mw.loader.load("https://dxgalaxy.org/js/variant.js"); |
| $(function () {
| |
| var $variants = $('.variant');
| |
| if ($variants.length === 0) return;
| |
| | |
| // Get unique variant keys on the page
| |
| var keys = [];
| |
| $variants.each(function () {
| |
| var k = $(this).data('variant');
| |
| if (keys.indexOf(k) === -1) keys.push(k);
| |
| });
| |
| | |
| if (keys.length < 2) return; // no need for toggle
| |
| | |
| // Build tab bar
| |
| var $tabs = $('<div class="variant-tabs"></div>');
| |
| keys.forEach(function (k) {
| |
| var $btn = $('<button>' + k.charAt(0).toUpperCase() + k.slice(1) + '</button>');
| |
| $btn.on('click', function () {
| |
| // Show only the selected variant
| |
| $variants.hide().filter('[data-variant="' + k + '"]').show();
| |
| // Update active tab
| |
| $tabs.find('button').removeClass('active');
| |
| $btn.addClass('active');
| |
| // Save selection
| |
| localStorage.setItem('variant-selected', k);
| |
| });
| |
| $tabs.append($btn);
| |
| });
| |
| | |
| // Insert tab bar inside main content
| |
| $('#mw-content-text').prepend($tabs);
| |
| | |
| // Load saved choice or default to last variant
| |
| var saved = localStorage.getItem('variant-selected') || keys[0];
| |
| $variants.hide().filter('[data-variant="' + saved + '"]').show();
| |
| $tabs.find('button').removeClass('active')
| |
| .filter(':contains("' + saved.charAt(0).toUpperCase() + saved.slice(1) + '")')
| |
| .addClass('active');
| |
| });
| |