blob: ded1f29a6e5058b984f55a4e5dfa7afd5c9d81f0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import { makeAutoObservable } from 'mobx';
import EditorTheme from './EditorTheme';
export default class ThemeStore {
currentTheme: EditorTheme = EditorTheme.Default;
constructor() {
makeAutoObservable(this);
}
toggleDarkMode(): void {
switch (this.currentTheme) {
case EditorTheme.Light:
this.currentTheme = EditorTheme.Dark;
break;
case EditorTheme.Dark:
this.currentTheme = EditorTheme.Light;
break;
default:
throw new Error(`Unknown theme: ${this.currentTheme}`);
}
}
get darkMode(): boolean {
return this.currentTheme === EditorTheme.Dark;
}
}
|