diff --git a/src/components/settings_modal/settings_modal_user_content.js b/src/components/settings_modal/settings_modal_user_content.js
index 7a05adbb1..4f6ffe4fb 100644
--- a/src/components/settings_modal/settings_modal_user_content.js
+++ b/src/components/settings_modal/settings_modal_user_content.js
@@ -76,7 +76,7 @@ const SettingsModalContent = {
data () {
return {
navCollapsed: false,
- childCollapsed: false
+ navHideHeader: false
}
},
methods: {
@@ -97,15 +97,15 @@ const SettingsModalContent = {
},
nestedTooBig () {
this.navCollapsed = false
- this.childCollapsed = this.$refs.generalTab.getNavMode()
- console.log(this.navCollapsed, this.childCollapsed)
this.$refs.tabSwitcher.showNav()
},
nestedTooSmall () {
this.navCollapsed = true
- this.childCollapsed = this.$refs.generalTab.getNavMode()
- console.log(this.navCollapsed, this.childCollapsed)
this.$refs.tabSwitcher.hideNav()
+ },
+ nestedNavSide (side) {
+ console.log('SWITCH')
+ this.navHideHeader = side === 'content'
}
},
mounted () {
diff --git a/src/components/settings_modal/settings_modal_user_content.vue b/src/components/settings_modal/settings_modal_user_content.vue
index b992796ef..22271d533 100644
--- a/src/components/settings_modal/settings_modal_user_content.vue
+++ b/src/components/settings_modal/settings_modal_user_content.vue
@@ -5,6 +5,7 @@
:scrollable-tabs="true"
:child-collapsed="childCollapsed"
:body-scroll-lock="bodyLock"
+ :hide-header="navHideHeader"
>
nestedNavSide(side)"
@too-small="() => nestedTooSmall()"
@too-big="() => nestedTooBig()"
/>
diff --git a/src/components/tab_switcher/vertical_tab_switcher.jsx b/src/components/tab_switcher/vertical_tab_switcher.jsx
index be7c94a50..bb3fb7305 100644
--- a/src/components/tab_switcher/vertical_tab_switcher.jsx
+++ b/src/components/tab_switcher/vertical_tab_switcher.jsx
@@ -37,13 +37,17 @@ export default {
required: false,
type: Boolean,
default: null
+ },
+ hideHeader: {
+ required: false,
+ type: Boolean,
+ default: null
}
},
- emits: ['tooBig', 'tooSmall'],
+ emits: ['tooBig', 'tooSmall', 'sideSwitch'],
data () {
return {
active: findFirstUsable(this.slots()),
- childCollapsed: null,
resizeHandler: null,
navMode: false,
navSide: 'content'
@@ -89,7 +93,7 @@ export default {
return (e) => {
e.preventDefault()
this.setTab(index)
- onResize()
+ this.onResize()
}
},
setTab (index) {
@@ -97,7 +101,7 @@ export default {
this.onSwitch.call(null, this.slots()[index].key)
}
this.active = index
- this.navSide = 'content'
+ this.changeNavSide('content')
},
showNav () {
this.navMode = false
@@ -105,6 +109,10 @@ export default {
hideNav () {
this.navMode = true
},
+ changeNavSide (side) {
+ this.navSide = side
+ this.$emit('sideSwitch', side)
+ },
getNavMode () {
return this.navMode
},
@@ -115,11 +123,6 @@ export default {
const navWidth = this.$refs.nav?.clientWidth
const contentsWidth = this.$refs.contents?.clientWidth
- const nestedSwitcher = this.$refs.contents?.querySelector('.vertical-tab-switcher')
- if (nestedSwitcher) {
- const childHeader = nestedSwitcher.querySelector('.tab-content-label')
- this.childCollapsed = childHeader?.checkVisibility()
- }
// if contents takes more space than its container
if (contentsWidth < tabContentWidth) {
if (this.parentCollapsed) {
@@ -190,12 +193,13 @@ export default {
: ''
const headerClasses = ['tab-content-label']
- if (this.childCollapsed) {
+ console.log(this.hideHeader)
+ if (this.hideHeader) {
headerClasses.push('-hidden')
}
const header = (
)