@@ -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