( themeMode: ThemeMode, el: HTMLElement = document.documentElement, )
| 96 | }; |
| 97 | |
| 98 | export function applyTheme( |
| 99 | themeMode: ThemeMode, |
| 100 | el: HTMLElement = document.documentElement, |
| 101 | ): void { |
| 102 | if (!el || el.classList.contains(themeMode)) { |
| 103 | return; |
| 104 | } |
| 105 | |
| 106 | if (themeMode === ThemeMode.Dark) { |
| 107 | el.classList.remove(ThemeMode.Light); |
| 108 | el.classList.remove(ThemeMode.Auto); |
| 109 | } else if (themeMode === ThemeMode.Light) { |
| 110 | el.classList.add(ThemeMode.Light); |
| 111 | el.classList.remove(ThemeMode.Auto); |
| 112 | } else { |
| 113 | el.classList.remove(ThemeMode.Light); |
| 114 | el.classList.add(ThemeMode.Auto); |
| 115 | } |
| 116 | } |
| 117 | |
| 118 | export type SettingsContextProviderProps = { |
| 119 | children?: ReactNode; |
no outgoing calls
no test coverage detected