commit: 33777fab47b65975d343d219c0b1866ba6849b3f
parent b0789fd6fd280a3dc8cefb4cb2410abec4be9ae6
Author: Henry Jameson <me@hjkos.com>
Date: Sun, 18 Apr 2021 15:39:06 +0300
small refactoring to uncouple tab-switcher from settings modal
Diffstat:
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/components/settings_modal/settings_modal_content.js b/src/components/settings_modal/settings_modal_content.js
@@ -53,6 +53,9 @@ const SettingsModalContent = {
},
open () {
return this.$store.state.interface.settingsModalState !== 'hidden'
+ },
+ bodyLock () {
+ return this.$store.state.interface.settingsModalState === 'visible'
}
},
methods: {
diff --git a/src/components/settings_modal/settings_modal_content.vue b/src/components/settings_modal/settings_modal_content.vue
@@ -4,6 +4,7 @@
class="settings_tab-switcher"
:side-tab-bar="true"
:scrollable-tabs="true"
+ :body-scroll-lock="bodyLock"
>
<div
:label="$t('settings.general')"
diff --git a/src/components/tab_switcher/tab_switcher.jsx b/src/components/tab_switcher/tab_switcher.jsx
@@ -33,6 +33,11 @@ export default {
required: false,
type: Boolean,
default: false
+ },
+ bodyScrollLock: {
+ required: false,
+ type: Boolean,
+ default: false
}
},
data () {
@@ -50,9 +55,6 @@ export default {
return this.active
}
},
- settingsModalVisible () {
- return this.settingsModalState === 'visible'
- },
...mapState({
settingsModalState: state => state.interface.settingsModalState
})
@@ -161,7 +163,11 @@ export default {
<div class="tabs">
{tabs}
</div>
- <div ref="contents" class={'contents' + (this.scrollableTabs ? ' scrollable-tabs' : '')} v-body-scroll-lock={this.settingsModalVisible}>
+ <div
+ ref="contents"
+ class={'contents' + (this.scrollableTabs ? ' scrollable-tabs' : '')}
+ v-body-scroll-lock={this.bodyScrollLock}
+ >
{contents}
</div>
</div>