aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/src/theme/ThemeStore.ts
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-16 21:14:50 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-16 21:14:50 +0200
commit19cd11118cde7160cd447c81bc965007c0437479 (patch)
tree5fea613e7a46d69380995368a68cc72f186078a4 /subprojects/frontend/src/theme/ThemeStore.ts
parentchore(deps): bump frontend dependencies (diff)
downloadrefinery-19cd11118cde7160cd447c81bc965007c0437479.tar.gz
refinery-19cd11118cde7160cd447c81bc965007c0437479.tar.zst
refinery-19cd11118cde7160cd447c81bc965007c0437479.zip
refactor(frondend): improve editor store and theme
Also bumps frontend dependencies.
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}