Skip to content

Commit 91f32ef

Browse files
authored
fix(client): logic of hidden tabs and categories (#130)
1 parent c309c64 commit 91f32ef

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

packages/client/src/composables/state-tab.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,29 +55,33 @@ export function useAllTabs() {
5555
})
5656
const categorizedTabs = computed(() => {
5757
const { hiddenTabCategories, hiddenTabs, pinnedTabs } = devtoolsClientState.value.tabSettings
58+
const pinnedHidden = hiddenTabCategories.includes('pinned')
5859
// TODO: custom tabs
5960
const tabs = allTabs.value.reduce<CategorizedTabs>((prev, [category, tabs]) => {
6061
const data: [CategorizedCategory, CategorizedTab[]] = [{ hidden: false, name: category }, []]
61-
let hiddenCount = 0
62+
const categoryHidden = hiddenTabCategories.includes(category)
6263
tabs.forEach((tab) => {
63-
const hidden = hiddenTabs.includes(tab.name) || hiddenTabCategories.includes(category)
64-
if (hidden)
65-
hiddenCount += 1
64+
const tabHidden = hiddenTabs.includes(tab.name)
6665

6766
if (pinnedTabs.includes(tab.name)) {
6867
prev[0][1].push({
6968
...tab,
70-
hidden,
69+
hidden: tabHidden || pinnedHidden,
7170
})
7271
}
73-
else { data[1].push({ ...tab, hidden }) }
72+
else {
73+
const hidden = tabHidden || categoryHidden
74+
data[1].push({ ...tab, hidden })
75+
}
7476
})
75-
if (hiddenCount === tabs.length)
76-
data[0].hidden = true
77+
data[0].hidden = data[1].every(t => t.hidden)
7778
prev.push(data)
7879
return prev
7980
}, [[{ name: 'pinned', hidden: false }, []]])
8081

82+
// set pinned category hidden value
83+
tabs[0][0].hidden = tabs[0][1].every(t => t.hidden)
84+
8185
// sort pinned tabs by pinned order
8286
tabs[0][1].sort((a, b) => pinnedTabs.indexOf(a.name) - pinnedTabs.indexOf(b.name))
8387
return tabs

0 commit comments

Comments
 (0)