cra-template-rb
Version:
The official React Boilerplate template for Create React App
18 lines (14 loc) • 534 B
text/typescript
import { ThemeKeyType } from './slice/types';
/* istanbul ignore next line */
export const isSystemDark = window?.matchMedia
? window.matchMedia('(prefers-color-scheme: dark)')?.matches
: undefined;
export function saveTheme(theme: ThemeKeyType) {
window.localStorage && localStorage.setItem('selectedTheme', theme);
}
/* istanbul ignore next line */
export function getThemeFromStorage(): ThemeKeyType | null {
return window.localStorage
? (localStorage.getItem('selectedTheme') as ThemeKeyType) || null
: null;
}