MediaWiki:Common.js: Difference between revisions

From Hazeron Wiki
Jump to navigation Jump to search
(screw the JS, I'll do it manually through CSS)
No edit summary
Line 27: Line 27:
}
}


/*function SetBodyClass() {
;(function () {
  var body = document.documentElement;
    $('#pt-darkmode a').on('click', function (e) {
  body.classList.add("mw-no-invert");
        e.preventDefault()
}
        let darkmode = /\bdarkmode=1\b/.test(document.cookie)


SetBodyClass()*/
        if (darkmode) {
            document.body.classList.remove('darkmode')
            document.cookie = `darkmode=; Path=/; Max-Age=0;`
        } else {
            document.body.classList.add('darkmode')
            document.cookie = 'darkmode=1; Path=/;'
        }
    })
})()

Revision as of 06:00, 3 April 2024

/* Any JavaScript here will be loaded for all users on every page load. */

/* Implements section-collapse and stop-section-collapse */
var collapsing = document.querySelectorAll(".section-collapse");
if (collapsing.length>0) {
    for (var i = 0; i < collapsing.length ; i++) {
        collapsing.item(i).addEventListener('click',collapseHandler,false);
        if (collapsing.item(i).classList.contains("collapsed"))
            collapseHandlerThis(collapsing.item(i));
    }
}

function collapseHandler() {
   collapseHandlerThis(this);
}
function collapseHandlerThis(t) {
   var c = t.parentNode.parentNode.nextSibling;
   while (c) {
      if (c.classList) {
        if (c.classList.contains("section-collapse") || c.classList.contains("stop-section-collapse"))
           break;
        c.classList.toggle('section-collapsed');
      }
      c = c.nextSibling;
   }
   t.classList.toggle('collapsed-icon');
}

;(function () {
    $('#pt-darkmode a').on('click', function (e) {
        e.preventDefault()
        let darkmode = /\bdarkmode=1\b/.test(document.cookie)

        if (darkmode) {
            document.body.classList.remove('darkmode')
            document.cookie = `darkmode=; Path=/; Max-Age=0;`
        } else {
            document.body.classList.add('darkmode')
            document.cookie = 'darkmode=1; Path=/;'
        }
    })
})()