MediaWiki:Common.js
From Summertime Saga Wiki
Revision as of 04:36, 11 October 2025 by Strayerror (talk | contribs)
Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* 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>');
});
});
}
}());
mw.hook('wikipage.content').add(function ($content) {
//const tabs = ["current", "legacy"];
const [hint, frag] = window.location.hash.slice(1).split('#');
var pref = localStorage.getItem("preferredVersion") || "current";
//if (hint && frag && tabs.indexOf(hint) !== -1) {
// pref = hint;
// location.hash = frag;
//}
function activateTab(tab) {
if (tabs.indexOf(tab) === -1) return;
// Hide all tab contents
$content.find("div.vt-content").hide();
// Show the selected one
$content.find("div.vt-" + tab).show();
// Update active class on <li> tabs
$content.find("ul.version-tabs li").removeClass("active");
$content.find("ul.version-tabs li[data-tab='" + tab + "']").addClass("active");
// Save selection
localStorage.setItem("preferredVersion", tab);
}
// Click handler for tab <li>
$content.find("ul.version-tabs li").click(function (e) {
e.preventDefault();
const selected = this.dataset.tab;
activateTab(selected);
});
// Initialize the tab from saved preference or default
activateTab(pref);
});