Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fca7f8cf1b | ||
|
|
6bca6eeb29 |
@@ -8,3 +8,7 @@ Customer control panel frontend. Built with Next.js + TypeScript.
|
|||||||
npm install
|
npm install
|
||||||
npm run dev
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Dark mode
|
||||||
|
|
||||||
|
Toggle dark mode from Settings > Appearance.
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import { useState, useEffect } from "react";
|
||||||
|
|
||||||
|
export function useDarkMode() {
|
||||||
|
const [enabled, setEnabled] = useState(() => {
|
||||||
|
if (typeof window === "undefined") return false;
|
||||||
|
return localStorage.getItem("theme") === "dark";
|
||||||
|
});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.documentElement.classList.toggle("dark", enabled);
|
||||||
|
localStorage.setItem("theme", enabled ? "dark" : "light");
|
||||||
|
}, [enabled]);
|
||||||
|
|
||||||
|
return { enabled, toggle: () => setEnabled((v) => !v) };
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user