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'), const top = doc.querySelector('.b-message-list-wrapper'),
bottom = doc.querySelector('.b-message-view-wrapper'), bottom = doc.querySelector('.b-message-view-wrapper'),
fDisable = bDisable => { fDisable = bDisable => {
this.setLayoutResizer(top, bottom, sClientSideKeyName, this.setLayoutResizer(top, bottom, ClientSideKeyName.MessageListSize,
(bDisable || !$htmlCL.contains('rl-bottom-preview-pane')) ? null : 'height'); (bDisable || !$htmlCL.contains('rl-bottom-preview-pane')) ? null : 'height');
}; };
if (top && bottom) { if (top && bottom) {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -333,6 +333,7 @@ html.rl-left-panel-none #rl-right {
width: 10px !important; width: 10px !important;
} }
html.rl-mobile,
html.rl-no-preview-pane { html.rl-no-preview-pane {
#rl-sub-left { #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; display: none !important;
} }
html.rl-bottom-preview-pane { html.rl-bottom-preview-pane:not(.rl-mobile) {
#rl-sub-left { #rl-sub-left {
right: @rlBottomMargin !important; right: @rlBottomMargin !important;

View file

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

View file

@ -1,13 +1,3 @@
html.rl-no-preview-pane {
.messageView {
display: none;
&.message-selected {
display: block;
}
}
}
.messageView { .messageView {
@ -591,7 +581,15 @@ html.rl-resizer .b-message-view-iframe-backdrop {
display: block !important; display: block !important;
} }
html.rl-mobile .messageView,
html.rl-no-preview-pane .messageView { html.rl-no-preview-pane .messageView {
display: none;
&.message-selected {
display: block;
}
.toolbar { .toolbar {
padding-left: @rlMainBorderSize; 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 { .b-content {
bottom: @rlBottomMargin; bottom: @rlBottomMargin;
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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