snappymail/dev/Stores/Theme.js

25 lines
697 B
JavaScript
Raw Normal View History

import ko from 'ko';
2019-07-05 03:19:24 +08:00
import { isArray } from 'Common/Utils';
import * as Settings from 'Storage/Settings';
2019-07-05 03:19:24 +08:00
class ThemeStore {
constructor() {
this.themes = ko.observableArray([]);
this.themeBackgroundName = ko.observable('');
this.themeBackgroundHash = ko.observable('');
2019-07-05 03:19:24 +08:00
this.theme = ko.observable('').extend({ limitedList: this.themes });
}
populate() {
const themes = Settings.appSettingsGet('themes');
this.themes(isArray(themes) ? themes : []);
this.theme(Settings.settingsGet('Theme'));
this.themeBackgroundName(Settings.settingsGet('UserBackgroundName'));
this.themeBackgroundHash(Settings.settingsGet('UserBackgroundHash'));
}
2016-06-30 08:02:45 +08:00
}
export default new ThemeStore();