Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fca7f8cf1b | ||
|
|
6bca6eeb29 |
@@ -1,17 +0,0 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: Run tests
|
||||
run: npm test
|
||||
- name: Build
|
||||
run: npm run build
|
||||
@@ -8,3 +8,7 @@ Customer control panel frontend. Built with Next.js + TypeScript.
|
||||
npm install
|
||||
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