Difference between revisions of "MediaWiki:Common.js"
From Summertime Saga Wiki
Strayerror (talk | contribs) |
|||
| Line 23: | Line 23: | ||
}); | }); | ||
} | } | ||
| + | |||
| + | (function () { | ||
| + | const savedTab = localStorage.getItem("preferredVersion") || "current"; | ||
| + | |||
| + | function activateTab(tab) { | ||
| + | // Hide all tab contents | ||
| + | $("div.vt-content").hide(); | ||
| + | // Show the selected one | ||
| + | $("div.vt-" + tab).show(); | ||
| + | |||
| + | // Update active class on <li> tabs | ||
| + | $("ul.version-tabs li").removeClass("active"); | ||
| + | $("ul.version-tabs li[data-tab='" + tab + "']").addClass("active"); | ||
| + | |||
| + | // Save selection | ||
| + | localStorage.setItem("preferredVersion", tab); | ||
| + | } | ||
| + | |||
| + | // Click handler for tab <li> | ||
| + | $("ul.version-tabs li").click(function () { | ||
| + | const selected = $(this).data("tab"); | ||
| + | activateTab(selected); | ||
| + | }); | ||
| + | |||
| + | // Initialize the tab from saved preference or default | ||
| + | activateTab(savedTab); | ||
| + | })(); | ||
}()); | }()); | ||
Revision as of 21:53, 9 October 2025
/* Any JavaScript here will be loaded for all users on every page load. */
// Wait for document ready
$(function() {
var htmle = function(str) {
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
};
if ($('body').hasClass('page-Summertime_Saga_Wiki') && $('body').hasClass('action-view') && $('body').hasClass('skin-vector') && $('#ajax-posts').length && $('#ajax-version').length) {
var maxPosts = 5;
$.getJSON('/ssdata.json', function(data) {
$('#ajax-version').text(data.version);
$('#ajax-posts').html('');
data.posts.forEach(function(post, i) {
if (i >= maxPosts) {
return;
}
$('#ajax-posts').append('<dd><b>▪ ' + htmle(post.date) + ':</b> <a rel="nofollow" class="external text" href="https://www.patreon.com' + htmle(post.url) + '">' + htmle(post.title) + '</a></dd>');
});
});
}
(function () {
const savedTab = localStorage.getItem("preferredVersion") || "current";
function activateTab(tab) {
// Hide all tab contents
$("div.vt-content").hide();
// Show the selected one
$("div.vt-" + tab).show();
// Update active class on <li> tabs
$("ul.version-tabs li").removeClass("active");
$("ul.version-tabs li[data-tab='" + tab + "']").addClass("active");
// Save selection
localStorage.setItem("preferredVersion", tab);
}
// Click handler for tab <li>
$("ul.version-tabs li").click(function () {
const selected = $(this).data("tab");
activateTab(selected);
});
// Initialize the tab from saved preference or default
activateTab(savedTab);
})();
}());