summaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
authorHaishan <[email protected]>2022-03-06 16:46:05 +0800
committerHaishan <[email protected]>2022-03-06 17:17:14 +0800
commitd87cc00fc83bb2bc5c1ffa69b4dad71d51e1cc66 (patch)
tree9eae0c4359bbdced9afef25f67de799dcb50ac92 /src/store
parent06428daa53029dca82d63cbf3364b3f74fce67d5 (diff)
Make theme switch a native select/option menu
Diffstat (limited to 'src/store')
-rw-r--r--src/store/app.ts18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/store/app.ts b/src/store/app.ts
index 2ccd960..e5594a3 100644
--- a/src/store/app.ts
+++ b/src/store/app.ts
@@ -105,24 +105,12 @@ function setTheme(theme: ThemeType = 'dark') {
}
}
-export function switchTheme() {
+export function switchTheme(nextTheme = 'auto') {
return (dispatch: DispatchFn, getState: GetStateFn) => {
const currentTheme = getTheme(getState());
- let nextTheme: ThemeType = 'auto';
- switch (currentTheme) {
- case 'light':
- nextTheme = 'dark';
- break;
- case 'dark':
- nextTheme = 'auto';
- break;
- case 'auto':
- nextTheme = 'light';
- break;
- }
-
+ if (currentTheme === nextTheme) return;
// side effect
- setTheme(nextTheme);
+ setTheme(nextTheme as ThemeType);
dispatch('storeSwitchTheme', (s) => {
s.app.theme = nextTheme;
});