25 lines
522 B
TypeScript
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: () => {},
|
|
});
|