User:Canadabonk/common.js: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
importScript('User:Canadabonk/sandbox.js');
importScript('User:Canadabonk/sandbox.js');


var enableDarkMode = true;
enableTOC = true;
enableEditButton = true;
var defaultDarkMode = false;

enableDarkMode = true;
defaultDarkMode = false;

enableFullwide = true;
defaultFullwide = false;


$(document).ready(function () {
$(document).ready(function () {
const $body = $('body');


// desktop/tablet only
// desktop/tablet only
if ($(window).width() > 850 && $('body.skin-cosmos').length) {
if ($(window).width() > 850 && $body.is('.skin-cosmos')) {


//add sidetools wrapper
//add sidetools wrapper
Line 14: Line 22:


// if toc exists, add toc to sidetools
// if toc exists, add toc to sidetools
if ($('#toc').length) {
if ($('#toc').length && enableTOC) {
//add button html
//add button html
const tocbuttonhtml = '<div class="ct-toc"><span class="ct-sidetools-button"></span></div>';
const tocbuttonhtml = '<div class="ct-toc"><span class="ct-sidetools-button"></span></div>';
Line 71: Line 79:
//edit button begin
//edit button begin
if ($('#ca-viewsource, #ca-edit').length) {
if ($('#ca-viewsource, #ca-edit').length && enableEditButton) {
sidetools.append('<div class="ct-edit"><a class="ct-sidetools-button"></a></div>');
sidetools.append('<div class="ct-edit"><a class="ct-sidetools-button"></a></div>');
const
const
Line 92: Line 100:
}
}
} // end edit button
} // end edit button
//fullwide button begin
if (enableFullwide && $(window).width() > 1083) {
sidetools.prepend('<div class="ct-fullwide"><span class="ct-sidetools-button"></span></div>');
const fullwideButton = $('.ct-fullwide');
const fullwideIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z"/></svg>';
fullwideButton.html(fullwideIcon);
fullwideButton.attr('title', 'Fullscreen');
if (defaultFullwide && localStorage.ctFullwide == null) {
localStorage.ctFullwide = true;
}
if (localStorage.ctFullwide) {
$body.addClass('fullwide');
}
fullwideButton.click(function(){
$body.toggleClass('fullwide');
if ($body.is('.fullwide')) {
localStorage.ctFullwide = true;
} else {
localStorage.ctFullwide = false;
}
});
}
} //end desktop
} //end desktop
Line 109: Line 143:
if (localStorage.ctDarkMode) {
if (localStorage.ctDarkMode) {
$('body').addClass('cosmostweaks-darkmode');
$body.addClass('cosmostweaks-darkmode');
}
}
darkModeIconToggle();
darkModeIconToggle();
darkModeButton.click(function(){
darkModeButton.click(function(){
$('body').toggleClass('cosmostweaks-darkmode');
$body.toggleClass('cosmostweaks-darkmode');
darkModeIconToggle();
darkModeIconToggle();
if ($('body.cosmostweaks-darkmode').length) {
if ($body.is('.cosmostweaks-darkmode')) {
localStorage.ctDarkMode = true;
localStorage.ctDarkMode = true;
} else {
} else {
Line 124: Line 158:
function darkModeIconToggle() {
function darkModeIconToggle() {
if ($('body.cosmostweaks-darkmode').length) {
if ($body.is('.cosmostweaks-darkmode')) {
darkModeButton.html(sunIcon);
darkModeButton.html(sunIcon);
darkModeButton.attr('title', 'Switch to light mode');
} else {
} else {
darkModeButton.html(moonIcon);
darkModeButton.html(moonIcon);
darkModeButton.attr('title', 'Switch to dark mode');
}
}
}
}