logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
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:

Msrc/components/settings_modal/settings_modal_content.js3+++
Msrc/components/settings_modal/settings_modal_content.vue1+
Msrc/components/tab_switcher/tab_switcher.jsx14++++++++++----
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>