diff --git a/dev/App/Abstract.js b/dev/App/Abstract.js index 7f925251f..113c7dbc7 100644 --- a/dev/App/Abstract.js +++ b/dev/App/Abstract.js @@ -4,7 +4,7 @@ import { logoutLink } from 'Common/Links'; import { i18nToNodes, initOnStartOrLangChange } from 'Common/Translator'; import { LanguageStore } from 'Stores/Language'; -import { ThemeStore } from 'Stores/Theme'; +import { initThemes } from 'Stores/Theme'; import { SelectComponent } from 'Component/Select'; import { CheckboxComponent } from 'Component/Checkbox'; @@ -46,7 +46,7 @@ export class AbstractApp { initOnStartOrLangChange(); LanguageStore.populate(); - ThemeStore.populate(); + initThemes(); this.start(); } diff --git a/dev/App/Admin.js b/dev/App/Admin.js index 797e8085f..fb970bffc 100644 --- a/dev/App/Admin.js +++ b/dev/App/Admin.js @@ -1,7 +1,7 @@ import 'External/ko'; import { Settings, SettingsGet } from 'Common/Globals'; -import { ThemeStore } from 'Stores/Theme'; +import { initThemes } from 'Stores/Theme'; import Remote from 'Remote/Admin/Fetch'; @@ -18,7 +18,7 @@ export class AdminApp extends AbstractApp { } refresh() { - ThemeStore.populate(); + initThemes(); this.start(); } diff --git a/dev/App/User.js b/dev/App/User.js index f0956381f..cbfaf8723 100644 --- a/dev/App/User.js +++ b/dev/App/User.js @@ -37,7 +37,7 @@ import { IdentityUserStore } from 'Stores/User/Identity'; import { FolderUserStore } from 'Stores/User/Folder'; import { PgpUserStore } from 'Stores/User/Pgp'; import { MessagelistUserStore } from 'Stores/User/Messagelist'; -import { ThemeStore, changeTheme } from 'Stores/Theme'; +import { ThemeStore, initThemes } from 'Stores/Theme'; import { LanguageStore } from 'Stores/Language'; import { MessageUserStore } from 'Stores/User/Message'; @@ -191,9 +191,8 @@ export class AppUser extends AbstractApp { } refresh() { - ThemeStore.populate(); + initThemes(); LanguageStore.language(SettingsGet('language')); - changeTheme(SettingsGet('Theme')); this.start(); } diff --git a/dev/Stores/Theme.js b/dev/Stores/Theme.js index b8d49809b..6d8764f7d 100644 --- a/dev/Stores/Theme.js +++ b/dev/Stores/Theme.js @@ -19,23 +19,25 @@ export const fontSansSerif: ko.observable(''), fontSerif: ko.observable(''), fontMono: ko.observable(''), - isMobile: ko.observable(false), + isMobile: ko.observable(false) + }, - populate: () => { - const themes = Settings.app('themes'); + initThemes = () => { + const theme = SettingsGet('Theme'), + themes = Settings.app('themes'); - ThemeStore.themes(isArray(themes) ? themes : []); - ThemeStore.theme(SettingsGet('Theme')); - if (!ThemeStore.isMobile()) { - ThemeStore.userBackgroundName(SettingsGet('userBackgroundName')); - ThemeStore.userBackgroundHash(SettingsGet('userBackgroundHash')); - } - ThemeStore.fontSansSerif(SettingsGet('fontSansSerif')); - ThemeStore.fontSerif(SettingsGet('fontSerif')); - ThemeStore.fontMono(SettingsGet('fontMono')); - - leftPanelDisabled(ThemeStore.isMobile()); + ThemeStore.themes(isArray(themes) ? themes : []); + ThemeStore.theme(theme); + changeTheme(theme); + if (!ThemeStore.isMobile()) { + ThemeStore.userBackgroundName(SettingsGet('userBackgroundName')); + ThemeStore.userBackgroundHash(SettingsGet('userBackgroundHash')); } + ThemeStore.fontSansSerif(SettingsGet('fontSansSerif')); + ThemeStore.fontSerif(SettingsGet('fontSerif')); + ThemeStore.fontMono(SettingsGet('fontMono')); + + leftPanelDisabled(ThemeStore.isMobile()); }, changeTheme = (value, themeTrigger = ()=>0) => {