UNPKG

react-light-dark-mode

Version:

A react Library to build light and dark mode UI

2 lines (1 loc) 660 B
import e,{createContext as t,useState as l}from"react";const o=t();function a(t){const[a,r]=l(!(!localStorage.getItem("lightMode")||"true"!==localStorage.getItem("lightMode")));let c="";const d="_lightMode_",g="_darkMode_",i=document.body;localStorage.getItem("lightMode")&&(c=localStorage.getItem("lightMode")),"true"===c?i.classList.add(d):i.classList.add(g);return e.createElement("div",null,e.createElement(o.Provider,{value:{lightMode:a,toggleLightDarkMode:e=>{r(!a),localStorage.setItem("lightMode",!a),"true"===c?(i.classList.replace(d,g),c=g):(i.classList.replace(g,d),c=d)}}},t.children))}export{o as DarkLightModeContext,a as DarkLightModeProvider};