( themeMode: ThemeMode, el: HTMLElement = document.documentElement, )
| 113 | }; |
| 114 | |
| 115 | export function applyTheme( |
| 116 | themeMode: ThemeMode, |
| 117 | el: HTMLElement = document.documentElement, |
| 118 | ): void { |
| 119 | if (!el || el.classList.contains(themeMode)) { |
| 120 | return; |
| 121 | } |
| 122 | |
| 123 | if (themeMode === ThemeMode.Dark) { |
| 124 | el.classList.remove(ThemeMode.Light); |
| 125 | el.classList.remove(ThemeMode.Auto); |
| 126 | } else if (themeMode === ThemeMode.Light) { |
| 127 | el.classList.add(ThemeMode.Light); |
| 128 | el.classList.remove(ThemeMode.Auto); |
| 129 | } else { |
| 130 | el.classList.remove(ThemeMode.Light); |
| 131 | el.classList.add(ThemeMode.Auto); |
| 132 | } |
| 133 | } |
| 134 | |
| 135 | export type SettingsContextProviderProps = { |
| 136 | children?: ReactNode; |
no outgoing calls
no test coverage detected