@@ -55,29 +55,33 @@ export function useAllTabs() {
55
55
} )
56
56
const categorizedTabs = computed ( ( ) => {
57
57
const { hiddenTabCategories, hiddenTabs, pinnedTabs } = devtoolsClientState . value . tabSettings
58
+ const pinnedHidden = hiddenTabCategories . includes ( 'pinned' )
58
59
// TODO: custom tabs
59
60
const tabs = allTabs . value . reduce < CategorizedTabs > ( ( prev , [ category , tabs ] ) => {
60
61
const data : [ CategorizedCategory , CategorizedTab [ ] ] = [ { hidden : false , name : category } , [ ] ]
61
- let hiddenCount = 0
62
+ const categoryHidden = hiddenTabCategories . includes ( category )
62
63
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 )
66
65
67
66
if ( pinnedTabs . includes ( tab . name ) ) {
68
67
prev [ 0 ] [ 1 ] . push ( {
69
68
...tab ,
70
- hidden,
69
+ hidden : tabHidden || pinnedHidden ,
71
70
} )
72
71
}
73
- else { data [ 1 ] . push ( { ...tab , hidden } ) }
72
+ else {
73
+ const hidden = tabHidden || categoryHidden
74
+ data [ 1 ] . push ( { ...tab , hidden } )
75
+ }
74
76
} )
75
- if ( hiddenCount === tabs . length )
76
- data [ 0 ] . hidden = true
77
+ data [ 0 ] . hidden = data [ 1 ] . every ( t => t . hidden )
77
78
prev . push ( data )
78
79
return prev
79
80
} , [ [ { name : 'pinned' , hidden : false } , [ ] ] ] )
80
81
82
+ // set pinned category hidden value
83
+ tabs [ 0 ] [ 0 ] . hidden = tabs [ 0 ] [ 1 ] . every ( t => t . hidden )
84
+
81
85
// sort pinned tabs by pinned order
82
86
tabs [ 0 ] [ 1 ] . sort ( ( a , b ) => pinnedTabs . indexOf ( a . name ) - pinnedTabs . indexOf ( b . name ) )
83
87
return tabs
0 commit comments