User:PetraMagna/server-toggle.js: Difference between revisions

more adjustments
(localStorage is better for this use case)
(more adjustments)
 
Line 30:
function main() {
const COOKIE_KEYSTORAGE_KEY = 'default-server-' + mw.config.get('wgTitle').replace(/[=;, ]/g, '');
let server = localStorage.getItem(COOKIE_KEYSTORAGE_KEY);
if (server) {
if (server === "jp" || server === "gl") {
Line 40:
} else {
// invalid value; purge it just in case something bad broke it
localStorage.removeItem(COOKIE_KEYSTORAGE_KEY);
console.log("server-toggle: Remove invalid cookie value " + server);
}
} else {
console.log("server-toggle: No cookie detected. Defaulting to jp.")
localStorage.setItem(COOKIE_KEYSTORAGE_KEY, 'jp');
}
// add event listener on all buttons so that we can
Line 63:
no_recurse = true;
console.log("server-toggle: " + current_server + " button clicked. Switching...");
localStorage.setItem(COOKIE_KEYSTORAGE_KEY, current_server);
// switch to this server everywhere else
$(".server-toggle-" + current_server + "-button").each(function(i, button) {
Line 74:
}
main();
function addScript( src, callback ) {
var s = document.createElement( 'script' );
s.setAttribute( 'src', src );
s.onload=callback;
document.body.appendChild( s );
}
addScript("https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js", main);
})();