aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/src/theme/ThemeStore.ts
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/frontend/src/theme/ThemeStore.ts')
-rw-r--r--subprojects/frontend/src/theme/ThemeStore.ts26
1 files changed, 7 insertions, 19 deletions
diff --git a/subprojects/frontend/src/theme/ThemeStore.ts b/subprojects/frontend/src/theme/ThemeStore.ts
index ded1f29a..11391b06 100644
--- a/subprojects/frontend/src/theme/ThemeStore.ts
+++ b/subprojects/frontend/src/theme/ThemeStore.ts
@@ -1,28 +1,16 @@
1import { makeAutoObservable } from 'mobx'; 1import { action, makeObservable, observable } from 'mobx';
2
3import EditorTheme from './EditorTheme';
4 2
5export default class ThemeStore { 3export default class ThemeStore {
6 currentTheme: EditorTheme = EditorTheme.Default; 4 darkMode = true;
7 5
8 constructor() { 6 constructor() {
9 makeAutoObservable(this); 7 makeObservable(this, {
8 darkMode: observable,
9 toggleDarkMode: action,
10 });
10 } 11 }
11 12
12 toggleDarkMode(): void { 13 toggleDarkMode(): void {
13 switch (this.currentTheme) { 14 this.darkMode = !this.darkMode;
14 case EditorTheme.Light:
15 this.currentTheme = EditorTheme.Dark;
16 break;
17 case EditorTheme.Dark:
18 this.currentTheme = EditorTheme.Light;
19 break;
20 default:
21 throw new Error(`Unknown theme: ${this.currentTheme}`);
22 }
23 }
24
25 get darkMode(): boolean {
26 return this.currentTheme === EditorTheme.Dark;
27 } 15 }
28} 16}