MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
mw.loader.using(['mediawiki.util', 'jquery'], function() { | mw.loader.using(['mediawiki.util', 'jquery'], function() { | ||
$(function() { | $(function() { | ||
// Create | // Create the toggle interface | ||
var toggleHtml = | var toggleHtml = | ||
'<div class="toggle | '<div class="version-toggle">' + | ||
'<div class="toggle-label"> | '<div class="version-toggle-label">Content Version:</div>' + | ||
'<button class=" | '<div class="version-toggle-buttons">' + | ||
'<button class=" | '<button class="version-button anime-toggle">Anime</button>' + | ||
'<button class="version-button manga-toggle active">Manga</button>' + | |||
'</div>' + | |||
'</div>'; | '</div>'; | ||
// Insert the toggle | // Insert the toggle into the navigation sidebar | ||
$('# | $('#p-navigation .body').prepend(toggleHtml); | ||
// Set initial state | // Set initial state | ||
Line 19: | Line 21: | ||
// Anime toggle click handler | // Anime toggle click handler | ||
$('.anime-toggle').on('click', function() { | $('.anime-toggle').on('click', function() { | ||
$('. | $('.version-button').removeClass('active'); | ||
$(this).addClass('active'); | $(this).addClass('active'); | ||
$('body') | $('body') | ||
.removeClass('show-manga') | .removeClass('show-manga') | ||
.addClass('show-anime'); | .addClass('show-anime'); | ||
// Save preference | // Save preference | ||
if (window.localStorage) { | if (window.localStorage) { | ||
window.localStorage.setItem('contentPreference', 'anime'); | window.localStorage.setItem('contentPreference', 'anime'); | ||
Line 32: | Line 34: | ||
// Manga toggle click handler | // Manga toggle click handler | ||
$('.manga-toggle').on('click', function() { | $('.manga-toggle').on('click', function() { | ||
$('. | $('.version-button').removeClass('active'); | ||
$(this).addClass('active'); | $(this).addClass('active'); | ||
$('body') | $('body') | ||
.removeClass('show-anime') | .removeClass('show-anime') | ||
.addClass('show-manga'); | .addClass('show-manga'); | ||
// Save preference | // Save preference | ||
if (window.localStorage) { | if (window.localStorage) { | ||
window.localStorage.setItem('contentPreference', 'manga'); | window.localStorage.setItem('contentPreference', 'manga'); | ||
Line 43: | Line 45: | ||
}); | }); | ||
// Load saved preference if | // Load saved preference if available | ||
if (window.localStorage) { | if (window.localStorage) { | ||
var savedPreference = window.localStorage.getItem('contentPreference'); | var savedPreference = window.localStorage.getItem('contentPreference'); |
Revision as of 18:12, 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 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');
}
}
});
});