Add pure black mode option

This commit is contained in:
schroda
2024-09-05 00:08:23 +02:00
parent ba2ce37468
commit 1444d51ed2
6 changed files with 37 additions and 7 deletions

View File

@@ -57,14 +57,17 @@ export const AppContext: React.FC<Props> = ({ children }) => {
}, []);
const [themeMode, setThemeMode] = useLocalStorage<ThemeMode>('themeMode', ThemeMode.SYSTEM);
const [pureBlackMode, setPureBlackMode] = useLocalStorage<boolean>('pureBlackMode', false);
const [activeDevice, setActiveDeviceContext] = useLocalStorage('activeDevice', DEFAULT_DEVICE);
const darkThemeContext = useMemo(
() => ({
themeMode,
setThemeMode,
pureBlackMode,
setPureBlackMode,
}),
[themeMode],
[themeMode, pureBlackMode],
);
const activeDeviceContext = useMemo(
@@ -73,8 +76,8 @@ export const AppContext: React.FC<Props> = ({ children }) => {
);
const theme = useMemo(
() => createTheme(themeMode, currentDirection),
[themeMode, currentDirection, systemThemeMode],
() => createTheme(themeMode, currentDirection, undefined, pureBlackMode),
[themeMode, currentDirection, systemThemeMode, pureBlackMode],
);
setActiveDevice(activeDevice);

View File

@@ -17,9 +17,13 @@ export enum ThemeMode {
type ContextType = {
themeMode: ThemeMode;
setThemeMode: React.Dispatch<React.SetStateAction<ThemeMode>>;
pureBlackMode: boolean;
setPureBlackMode: React.Dispatch<React.SetStateAction<boolean>>;
};
export const ThemeModeContext = React.createContext<ContextType>({
themeMode: ThemeMode.SYSTEM,
setThemeMode: (): void => {},
pureBlackMode: false,
setPureBlackMode: (): void => {},
});