Cleanup AppUserStore

Simplify KeyState/Focused as Scope enum
This commit is contained in:
djmaze 2021-03-16 16:06:16 +01:00
parent 62cb918180
commit eff92c3152
27 changed files with 177 additions and 232 deletions

View file

@ -1,63 +1,33 @@
import ko from 'ko';
import { KeyState } from 'Common/Enums';
import { Focused } from 'Common/EnumsUser';
import { keyScope, leftPanelDisabled, Settings, SettingsGet } from 'Common/Globals';
import { Scope } from 'Common/Enums';
import { keyScope, leftPanelDisabled, SettingsGet } from 'Common/Globals';
import { addObservablesTo } from 'Common/Utils';
import { ThemeStore } from 'Stores/Theme';
export const AppUserStore = {
attachmentsActions: ko.observableArray(),
devEmail: '',
devPassword: '',
populate: () => {
AppUserStore.projectHash(SettingsGet('ProjectHash'));
AppUserStore.contactsAutosave(!!SettingsGet('ContactsAutosave'));
AppUserStore.useLocalProxyForExternalImages(!!SettingsGet('UseLocalProxyForExternalImages'));
AppUserStore.contactsIsAllowed(!!SettingsGet('ContactsIsAllowed'));
const attachmentsActions = Settings.app('attachmentsActions');
AppUserStore.attachmentsActions(Array.isNotEmpty(attachmentsActions) ? attachmentsActions : []);
AppUserStore.devEmail = SettingsGet('DevEmail');
AppUserStore.devPassword = SettingsGet('DevPassword');
}
};
addObservablesTo(AppUserStore, {
currentAudio: '',
focusedState: Focused.None,
focusedState: Scope.None,
projectHash: '',
threadsAllowed: false,
composeInEdit: false,
contactsAutosave: false,
useLocalProxyForExternalImages: false,
contactsIsAllowed: false
});
AppUserStore.focusedState.subscribe(value => {
switch (value) {
case Focused.MessageList:
keyScope(KeyState.MessageList);
ThemeStore.isMobile() && leftPanelDisabled(true);
break;
case Focused.MessageView:
keyScope(KeyState.MessageView);
ThemeStore.isMobile() && leftPanelDisabled(true);
break;
case Focused.FolderList:
keyScope(KeyState.FolderList);
ThemeStore.isMobile() && leftPanelDisabled(false);
break;
default:
case Scope.MessageList:
case Scope.MessageView:
case Scope.FolderList:
keyScope(value);
ThemeStore.isMobile() && leftPanelDisabled(Scope.FolderList !== value);
break;
}
});

View file

@ -1,7 +1,7 @@
import ko from 'ko';
import { Notification } from 'Common/Enums';
import { Focused, MessageSetAction } from 'Common/EnumsUser';
import { Scope, Notification } from 'Common/Enums';
import { MessageSetAction } from 'Common/EnumsUser';
import { doc, elementById } from 'Common/Globals';
import { pInt, pString, addObservablesTo, addSubscribablesTo } from 'Common/Utils';
import { plainToHtml } from 'Common/UtilsUser';
@ -202,10 +202,10 @@ export const MessageUserStore = new class {
message: message => {
if (message) {
if (!SettingsUserStore.usePreviewPane()) {
AppUserStore.focusedState(Focused.MessageView);
AppUserStore.focusedState(Scope.MessageView);
}
} else {
AppUserStore.focusedState(Focused.MessageList);
AppUserStore.focusedState(Scope.MessageList);
this.messageFullScreenMode(false);
this.hideMessageBodies();