diff options
| author | eugenijm <eugenijm@protonmail.com> | 2020-07-21 14:53:01 +0300 |
|---|---|---|
| committer | eugenijm <eugenijm@protonmail.com> | 2020-07-23 09:53:51 +0300 |
| commit | dac075c61a33eafa6778d04b9f972dbc1e1dfb57 (patch) | |
| tree | 7048fc60cdc7c3d3029bccd61c30d63d79b15435 | |
| parent | 25a015b4715b7e85af310bae0ed360f98aef6205 (diff) | |
Fix mobile setting modal behavior: ensure the mobile browser address bar doesn't overlap the modal top panel.
| -rw-r--r-- | src/App.scss | 16 | ||||
| -rw-r--r-- | src/components/settings_modal/settings_modal.js | 15 | ||||
| -rw-r--r-- | src/components/settings_modal/settings_modal.scss | 3 |
3 files changed, 33 insertions, 1 deletions
diff --git a/src/App.scss b/src/App.scss index e2e2d079..21c00bac 100644 --- a/src/App.scss +++ b/src/App.scss @@ -943,6 +943,22 @@ nav { line-height: 1.3rem; } +.settings-modal-layout { + @media all and (max-width: 800px) { + height: 100%; + + body { + height: 100vh; + overflow-y: hidden; + position: fixed; + } + + #app { + height: 100%; + } + } +} + .chat-layout { // Needed for smoother chat navigation in the desktop Safari (otherwise the chat layout "jumps" as the chat opens). overflow: hidden; diff --git a/src/components/settings_modal/settings_modal.js b/src/components/settings_modal/settings_modal.js index f0d49c91..b6880445 100644 --- a/src/components/settings_modal/settings_modal.js +++ b/src/components/settings_modal/settings_modal.js @@ -36,6 +36,21 @@ const SettingsModal = { modalPeeked () { return this.$store.state.interface.settingsModalState === 'minimized' } + }, + watch: { + modalActivated (newValue) { + if (newValue) { + let html = document.querySelector('html') + if (html) { + html.classList.add('settings-modal-layout') + } + } else { + let html = document.querySelector('html') + if (html) { + html.classList.remove('settings-modal-layout') + } + } + } } } diff --git a/src/components/settings_modal/settings_modal.scss b/src/components/settings_modal/settings_modal.scss index 0da4d9a8..e7f4d3d3 100644 --- a/src/components/settings_modal/settings_modal.scss +++ b/src/components/settings_modal/settings_modal.scss @@ -1,6 +1,7 @@ @import 'src/_variables.scss'; .settings-modal { overflow: hidden; + height: 100%; &.peek { .settings-modal-panel { @@ -27,7 +28,7 @@ @media all and (max-width: 800px) { max-width: 100vw; - height: 100vh; + height: 100%; } >.panel-body { |
