Files
gerbeur/src/contexts/ThemeContext.ts

25 lines
522 B
TypeScript

import { createContext } from "react";
export type StyleName =
| "smooth"
| "brutalist"
| "geocities"
| "nyt"
| "kanagawa"
| "melange";
export type ColorScheme = "auto" | "light" | "dark";
export interface ThemeContextValue {
style: StyleName;
colorScheme: ColorScheme;
setStyle(s: StyleName): void;
setColorScheme(c: ColorScheme): void;
}
export const ThemeContext = createContext<ThemeContextValue>({
style: "smooth",
colorScheme: "auto",
setStyle: () => {},
setColorScheme: () => {},
});