commit: 1187727b6065363c253f399a6da53725a493fb32
parent 54fd7e2be6e8dcbe3c57deb5c3688916cbc53648
Author: Henry Jameson <me@hjkos.com>
Date: Mon, 21 Mar 2022 21:29:51 +0200
fix tabswitcher bugs
Diffstat:
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/components/interactions/interactions.js b/src/components/interactions/interactions.js
@@ -1,4 +1,5 @@
import Notifications from '../notifications/notifications.vue'
+import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
const tabModeDict = {
mentions: ['mention'],
@@ -20,7 +21,8 @@ const Interactions = {
}
},
components: {
- Notifications
+ Notifications,
+ TabSwitcher
}
}
diff --git a/src/components/tab_switcher/tab_switcher.jsx b/src/components/tab_switcher/tab_switcher.jsx
@@ -1,5 +1,5 @@
// eslint-disable-next-line no-unused
-import { h } from 'vue'
+import { h, Fragment } from 'vue'
import { mapState } from 'vuex'
import { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'
@@ -43,14 +43,14 @@ export default {
},
data () {
return {
- active: findFirstUsable(this.$slots.default())
+ active: findFirstUsable(this.slots())
}
},
computed: {
activeIndex () {
// In case of controlled component
if (this.activeTab) {
- return this.$slots.default().findIndex(slot => this.activeTab === slot.key)
+ return this.slots().findIndex(slot => this.activeTab === slot.key)
} else {
return this.active
}
@@ -74,6 +74,9 @@ export default {
},
// DO NOT put it to computed, it doesn't work (caching?)
slots () {
+ if (this.$slots.default()[0].type === Fragment) {
+ return this.$slots.default()[0].children
+ }
return this.$slots.default()
},
setTab (index) {