Files
suwayomi-material-you-webui/src/components/context/ThemeModeContext.tsx
2024-09-05 04:49:51 +02:00

35 lines
1003 B
TypeScript

/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import React from 'react';
import { AppThemes } from '@/lib/ui/AppThemes.ts';
export enum ThemeMode {
SYSTEM = 'system',
DARK = 'dark',
LIGHT = 'light',
}
type ContextType = {
appTheme: AppThemes;
setAppTheme: React.Dispatch<React.SetStateAction<AppThemes>>;
themeMode: ThemeMode;
setThemeMode: React.Dispatch<React.SetStateAction<ThemeMode>>;
pureBlackMode: boolean;
setPureBlackMode: React.Dispatch<React.SetStateAction<boolean>>;
};
export const ThemeModeContext = React.createContext<ContextType>({
appTheme: 'default',
setAppTheme: (): void => {},
themeMode: ThemeMode.SYSTEM,
setThemeMode: (): void => {},
pureBlackMode: false,
setPureBlackMode: (): void => {},
});