21 lines
488 B
TypeScript
21 lines
488 B
TypeScript
import { createContext } from 'react';
|
|
|
|
export type ThemeMode = 'light' | 'dark' | 'system';
|
|
|
|
export const DEFAULT_THEME_MODE: ThemeMode = 'system';
|
|
export const THEME_STORAGE_KEY = 'theme_mode';
|
|
|
|
export interface ThemeContextValue {
|
|
mode: ThemeMode;
|
|
isDark: boolean;
|
|
setMode: (mode: ThemeMode) => void;
|
|
toggle: () => void;
|
|
}
|
|
|
|
export const ThemeContext = createContext<ThemeContextValue>({
|
|
mode: DEFAULT_THEME_MODE,
|
|
isDark: false,
|
|
setMode: () => {},
|
|
toggle: () => {},
|
|
});
|