react-light-dark-mode
Version:
A react Library to build light and dark mode UI
2 lines (1 loc) • 817 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(e);const l=e.createContext();exports.DarkLightModeContext=l,exports.DarkLightModeProvider=function(t){const[r,a]=e.useState(!(!localStorage.getItem("lightMode")||"true"!==localStorage.getItem("lightMode")));let d="";const c="_lightMode_",i="_darkMode_",s=document.body;return localStorage.getItem("lightMode")&&(d=localStorage.getItem("lightMode")),"true"===d?s.classList.add(c):s.classList.add(i),o.default.createElement("div",null,o.default.createElement(l.Provider,{value:{lightMode:r,toggleLightDarkMode:e=>{a(!r),localStorage.setItem("lightMode",!r),"true"===d?(s.classList.replace(c,i),d=i):(s.classList.replace(i,c),d=c)}}},t.children))};