Improve and cleanup isMobile

This commit is contained in:
djmaze 2021-02-15 16:05:38 +01:00
parent 10f9ce39d9
commit b1c7bd2c50
15 changed files with 27 additions and 43 deletions

View file

@ -858,11 +858,11 @@ class AppUser extends AbstractApp {
}
}
initHorizontalLayoutResizer(sClientSideKeyName) {
initHorizontalLayoutResizer() {
const top = doc.querySelector('.b-message-list-wrapper'),
bottom = doc.querySelector('.b-message-view-wrapper'),
fDisable = bDisable => {
this.setLayoutResizer(top, bottom, sClientSideKeyName,
this.setLayoutResizer(top, bottom, ClientSideKeyName.MessageListSize,
(bDisable || !$htmlCL.contains('rl-bottom-preview-pane')) ? null : 'height');
};
if (top && bottom) {

View file

@ -8,7 +8,7 @@ export const $htmlCL = doc.documentElement.classList;
export const Settings = rl.settings;
/** @media screen and (max-width: 600px) { */
export const isMobile = () => $htmlCL.contains('rl-mobile'); // || rl.settings.app('mobile')
export const isMobile = () => $htmlCL.contains('rl-mobile');
export const dropdownVisibility = ko.observable(false).extend({ rateLimit: 0 });

View file

@ -1,6 +1,6 @@
import ko from 'ko';
import { doc, $htmlCL/*, isMobile*/ } from 'Common/Globals';
import { doc, $htmlCL } from 'Common/Globals';
import { isNonEmptyArray } from 'Common/Utils';
let currentScreen = null,
@ -9,7 +9,6 @@ let currentScreen = null,
const SCREENS = {},
autofocus = dom => {
// if (!isMobile()) {
const af = dom.querySelector('[autofocus]');
af && af.focus();
};

View file

@ -1,5 +1,5 @@
import { Capa } from 'Common/Enums';
import { Focused, ClientSideKeyName } from 'Common/EnumsUser';
import { Focused } from 'Common/EnumsUser';
import { doc, leftPanelDisabled, leftPanelType, moveAction, Settings, isMobile } from 'Common/Globals';
import { pString, pInt } from 'Common/Utils';
import { getFolderFromCacheList, getFolderFullNameRaw, getFolderInboxName } from 'Common/Cache';
@ -56,9 +56,7 @@ export class MailBoxUserScreen extends AbstractScreen {
AppStore.focusedState(Focused.None);
AppStore.focusedState(Focused.MessageList);
if (isMobile()) {
leftPanelDisabled(true);
}
isMobile() && leftPanelDisabled(true);
if (Settings.capa(Capa.Folders)) {
leftPanelType('');
@ -118,9 +116,7 @@ export class MailBoxUserScreen extends AbstractScreen {
*/
onBuild() {
if (!isMobile()) {
setTimeout(() =>
rl.app.initHorizontalLayoutResizer(ClientSideKeyName.MessageListSize)
, 1);
setTimeout(() => rl.app.initHorizontalLayoutResizer(), 1);
}
doc.addEventListener('click', event =>

View file

@ -104,9 +104,7 @@ export class SettingsUserScreen extends AbstractSettingsScreen {
keyScope(KeyState.Settings);
leftPanelType('');
if (isMobile()) {
leftPanelDisabled(true);
}
isMobile() && leftPanelDisabled(true);
}
setSettingsTitle() {

View file

@ -42,9 +42,9 @@ class SettingsUserStore {
subscribers() {
const htmlCL = doc.documentElement.classList;
this.layout.subscribe(value => {
htmlCL.toggle('rl-no-preview-pane', isMobile() || Layout.NoPreview === value);
htmlCL.toggle('rl-side-preview-pane', !isMobile() && Layout.SidePreview === value);
htmlCL.toggle('rl-bottom-preview-pane', !isMobile() && Layout.BottomPreview === value);
htmlCL.toggle('rl-no-preview-pane', Layout.NoPreview === value);
htmlCL.toggle('rl-side-preview-pane', Layout.SidePreview === value);
htmlCL.toggle('rl-bottom-preview-pane', Layout.BottomPreview === value);
dispatchEvent(new CustomEvent('rl-layout', {detail:value}));
});
}

View file

@ -333,6 +333,7 @@ html.rl-left-panel-none #rl-right {
width: 10px !important;
}
html.rl-mobile,
html.rl-no-preview-pane {
#rl-sub-left {
@ -349,11 +350,11 @@ html.rl-no-preview-pane {
}
}
html.rl-side-preview-pane #rl-right .resizer {
html.rl-side-preview-pane:not(.rl-mobile) #rl-right .resizer {
display: none !important;
}
html.rl-bottom-preview-pane {
html.rl-bottom-preview-pane:not(.rl-mobile) {
#rl-sub-left {
right: @rlBottomMargin !important;

View file

@ -1,4 +1,5 @@
html.rl-mobile,
html.rl-no-preview-pane {
.messageList.message-selected {
display: none;

View file

@ -1,13 +1,3 @@
html.rl-no-preview-pane {
.messageView {
display: none;
&.message-selected {
display: block;
}
}
}
.messageView {
@ -591,7 +581,15 @@ html.rl-resizer .b-message-view-iframe-backdrop {
display: block !important;
}
html.rl-mobile .messageView,
html.rl-no-preview-pane .messageView {
display: none;
&.message-selected {
display: block;
}
.toolbar {
padding-left: @rlMainBorderSize;
}
@ -607,7 +605,7 @@ html.rl-no-preview-pane .messageView {
}
}
html.rl-bottom-preview-pane .messageView {
html.rl-bottom-preview-pane:not(.rl-mobile) .messageView {
.b-content {
bottom: @rlBottomMargin;
}

View file

@ -1090,7 +1090,6 @@ class ComposePopupView extends AbstractViewPopup {
}
setFocusInPopup() {
// isMobile() ||
setTimeout(() => {
if (!this.to()) {
this.to.focused(true);

View file

@ -160,9 +160,7 @@ class FilterPopupView extends AbstractViewPopup {
}
onShowWithDelay() {
if (this.isNew() && this.filter()/* && !isMobile()*/) {
this.filter().nameFocused(true);
}
this.isNew() && this.filter() && this.filter().nameFocused(true);
}
}

View file

@ -72,7 +72,6 @@ class FolderCreatePopupView extends AbstractViewPopup {
}
onShowWithDelay() {
// isMobile() ||
this.folderNameFocused(true);
}
}

View file

@ -166,9 +166,7 @@ class IdentityPopupView extends AbstractViewPopup {
}
onShowWithDelay() {
if (!this.owner()/* && !isMobile()*/) {
this.emailFocused(true);
}
this.owner() || this.emailFocused(true);
}
onHideWithDelay() {

View file

@ -49,7 +49,6 @@ class TwoFactorTestPopupView extends AbstractViewPopup {
}
onShowWithDelay() {
// isMobile() ||
this.codeFocused(true);
}
}

View file

@ -19,11 +19,9 @@ export class MenuSettingsUserView extends AbstractViewLeft {
}
onBuild(dom) {
if (isMobile()) {
dom.addEventListener('click', event =>
isMobile() && dom.addEventListener('click', event =>
event.target.closestWithin('.b-settings-menu .e-item.selectable', dom) && leftPanelDisabled(true)
);
}
shortcuts.add('arrowup,arrowdown', '', KeyState.Settings,
settingsMenuKeysHandler(dom.querySelectorAll('.b-settings-menu .e-item')));