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 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