BREATHE / frontend /src /context /ThemeContext.jsx
tannuiscoding's picture
added app.py
5a264f5
raw
history blame contribute delete
657 Bytes
import { createContext, useContext, useEffect, useState } from 'react'
const ThemeContext = createContext()
export function ThemeProvider({ children }) {
const [theme, setTheme] = useState(() => localStorage.getItem('breathe-theme') || 'dark')
useEffect(() => {
document.documentElement.setAttribute('data-theme', theme)
localStorage.setItem('breathe-theme', theme)
}, [theme])
function toggle() {
setTheme(t => t === 'dark' ? 'light' : 'dark')
}
return (
<ThemeContext.Provider value={{ theme, toggle }}>
{children}
</ThemeContext.Provider>
)
}
export function useTheme() {
return useContext(ThemeContext)
}