User:Monster Domosed/common.js: Difference between revisions

No edit summary
No edit summary
Line 2: Line 2:


(function () {
(function () {
     'use strict';
     const enabled = localStorage.getItem("fixedWidth") === "true";


     const root = document.documentElement;
     document.documentElement.style.setProperty(
        '--fixed-width',
        enabled ? '1200px' : '100vw'
    );


     const applyState = () => {
     document.addEventListener('DOMContentLoaded', () => {
        if (localStorage.getItem("fixedWidth") === "true") {
            root.classList.add("fixed-width-mode");
        }
    };
 
    applyState();
 
    const init = () => {
         const personal = document.querySelector(".vector-menu-content-list");
         const personal = document.querySelector(".vector-menu-content-list");
         if (!personal || document.querySelector(".toggle-width")) return;
         if (!personal || document.querySelector(".toggle-width")) return;
Line 22: Line 17:


         toggle.addEventListener("click", () => {
         toggle.addEventListener("click", () => {
             root.classList.toggle("fixed-width-mode");
             const now = document.documentElement.style.getPropertyValue('--fixed-width') === '1200px';


             localStorage.setItem(
             const next = !now;
                "fixedWidth",
 
                root.classList.contains("fixed-width-mode")
            document.documentElement.style.setProperty(
                '--fixed-width',
                next ? '1200px' : '100vw'
             );
             );
            localStorage.setItem("fixedWidth", next);
         });
         });


         personal.prepend(toggle);
         personal.prepend(toggle);
     };
     });
 
    if (document.readyState === "loading") {
        document.addEventListener("DOMContentLoaded", init);
    } else {
        init();
    }
})();
})();