Reduce use of isMobile()

This commit is contained in:
the-djmaze 2023-02-23 15:43:32 +01:00
parent 6af13255f2
commit 8623bb5d60
9 changed files with 28 additions and 23 deletions

View file

@ -183,7 +183,7 @@ export class AppUser extends AbstractApp {
super.bootstart();
addEventListener('beforeunload', event => {
if (arePopupsVisible() || (ThemeStore.isMobile() && MessageUserStore.message())) {
if (arePopupsVisible() || (!SettingsUserStore.layout() && MessageUserStore.message())) {
event.preventDefault();
return event.returnValue = i18n('POPUPS_ASK/EXIT_ARE_YOU_SURE');
}

View file

@ -4,6 +4,9 @@ import { doc, $htmlCL, elementById, createElement, fireEvent } from 'Common/Glob
import { forEachObjectEntry } from 'Common/Utils';
import { i18nToNodes } from 'Common/Translator';
import { leftPanelDisabled } from 'Common/Globals';
import { ThemeStore } from 'Stores/Theme';
let
currentScreen = null,
defaultScreenName = '';
@ -151,6 +154,7 @@ const
vm.onHide?.();
destroy && vm.viewModelDom.remove();
});
ThemeStore.isMobile() && leftPanelDisabled(true);
},
/**

View file

@ -1,5 +1,5 @@
import { Scope } from 'Common/Enums';
import { doc, createElement, leftPanelDisabled, Settings } from 'Common/Globals';
import { doc, createElement, Settings } from 'Common/Globals';
import { pString, pInt } from 'Common/Utils';
import { moveAction } from 'Common/UtilsUser';
import { getFolderFromCacheList, getFolderFullName, getFolderInboxName } from 'Common/Cache';
@ -9,7 +9,6 @@ import { AppUserStore } from 'Stores/User/App';
import { AccountUserStore } from 'Stores/User/Account';
import { FolderUserStore } from 'Stores/User/Folder';
import { MessagelistUserStore } from 'Stores/User/Messagelist';
import { ThemeStore } from 'Stores/Theme';
import { SystemDropDownUserView } from 'View/User/SystemDropDown';
import { MailFolderList } from 'View/User/MailBox/FolderList';
@ -57,11 +56,8 @@ export class MailBoxUserScreen extends AbstractScreen {
*/
onShow() {
this.updateWindowTitle();
AppUserStore.focusedState('none');
AppUserStore.focusedState(Scope.MessageList);
ThemeStore.isMobile() && leftPanelDisabled(true);
}
/**

View file

@ -1,11 +1,10 @@
import { Scope } from 'Common/Enums';
import { keyScope, leftPanelDisabled, SettingsCapa } from 'Common/Globals';
import { keyScope, SettingsCapa } from 'Common/Globals';
import { runSettingsViewModelHooks } from 'Common/Plugins';
import { initOnStartOrLangChange, i18n } from 'Common/Translator';
import { AppUserStore } from 'Stores/User/App';
import { AccountUserStore } from 'Stores/User/Account';
import { ThemeStore } from 'Stores/Theme';
import { AbstractSettingsScreen, settingsAddViewModel } from 'Screen/AbstractSettings';
@ -67,7 +66,6 @@ export class SettingsUserScreen extends AbstractSettingsScreen {
onShow() {
this.setSettingsTitle();
keyScope(Scope.Settings);
ThemeStore.isMobile() && leftPanelDisabled(true);
}
setSettingsTitle() {

View file

@ -170,7 +170,7 @@ html.rl-left-panel-disabled {
left: 0;
top: 0;
bottom: 0;
width: 155px;
width: 50vw;
z-index: 3;
}
.rl-left-panel-disabled #rl-left {

View file

@ -367,6 +367,19 @@ html:not(.rl-bottom-preview-pane):not(.rl-side-preview-pane) {
}
}
@media screen and (max-width: @maxMobileWidth) {
#V-MailMessageList .btn-toolbar:not(.hasChecked) .onCheckedShow {
display: none;
}
#V-MailMessageList .hasChecked {
.buttonCompose,
.onCheckedHide,
.sortFolder {
display: none;
}
}
}
@media screen and (min-width: @maxMobileWidth + 1px) {
.messageList {
.listDragOver {

View file

@ -146,10 +146,6 @@ export class MailMessageList extends AbstractViewRight {
return c && MessagelistUserStore().length > c;
},
mobileCheckedStateShow: () => ThemeStore.isMobile() ? MessagelistUserStore.hasChecked() : 1,
mobileCheckedStateHide: () => ThemeStore.isMobile() ? !MessagelistUserStore.hasChecked() : 1,
listGrouped: () => {
let uid = MessagelistUserStore.threadUid(),
sort = FolderUserStore.sortMode() || 'DATE';
@ -410,7 +406,7 @@ export class MailMessageList extends AbstractViewRight {
}
moveCommand(vm, event) {
if (this.mobileCheckedStateShow()) {
if (MessagelistUserStore.hasChecked()) {
if (vm && event?.preventDefault) {
stopEvent(event);
}

View file

@ -280,8 +280,6 @@ export class MailMessageView extends AbstractViewRight {
onBuild(dom) {
const eqs = (ev, s) => ev.target.closestWithin(s, dom);
dom.addEventListener('click', event => {
ThemeStore.isMobile() && leftPanelDisabled(true);
let el = eqs(event, 'a');
if (el && 0 === event.button && mailToHelper(el.href)) {
stopEvent(event);