@@ -16,9 +16,9 @@ export default function SummaryComponent (stats: SummaryStats): string {
1616 const { totalServers, runningServers, highRiskCredentials, implicitLatestVersions, transportBreakdown } = stats
1717
1818 // Create progress bars (20 characters wide, following existing convention)
19- const runningBar = createProgressBar ( runningServers , totalServers , 20 , 'green' )
20- const securityBar = createProgressBar ( highRiskCredentials , totalServers , 20 , 'red' )
21- const versionBar = createProgressBar ( implicitLatestVersions , totalServers , 20 , 'red' )
19+ const runningBar = createProgressBar ( runningServers , totalServers , 20 , 'green' , false )
20+ const securityBar = createProgressBar ( highRiskCredentials , totalServers , 20 , 'red' , true )
21+ const versionBar = createProgressBar ( implicitLatestVersions , totalServers , 20 , 'red' , true )
2222
2323 // Format transport breakdown
2424 const transportText = `stdio: ${ transportBreakdown . stdio } | SSE: ${ transportBreakdown . sse } | HTTP: ${ transportBreakdown . http } `
@@ -35,7 +35,7 @@ export default function SummaryComponent (stats: SummaryStats): string {
3535 return lines . join ( '\n' )
3636}
3737
38- function createProgressBar ( count : number , total : number , width : number , color : 'green' | 'red' ) : string {
38+ function createProgressBar ( count : number , total : number , width : number , color : 'green' | 'red' , emptyIsGood : boolean = false ) : string {
3939 if ( total === 0 ) {
4040 const emptyBar = '░' . repeat ( width )
4141 return emptyBar
@@ -53,7 +53,12 @@ function createProgressBar (count: number, total: number, width: number, color:
5353 empty = styleText ( [ 'green' ] , '░' . repeat ( emptyWidth ) )
5454 } else { // red
5555 filled = styleText ( [ 'redBright' ] , '█' . repeat ( filledWidth ) )
56- empty = styleText ( [ 'red' ] , '░' . repeat ( emptyWidth ) )
56+ // If count is 0 and emptyIsGood is true, use green for empty sections (0 issues is good)
57+ if ( count === 0 && emptyIsGood ) {
58+ empty = styleText ( [ 'green' ] , '░' . repeat ( emptyWidth ) )
59+ } else {
60+ empty = styleText ( [ 'red' ] , '░' . repeat ( emptyWidth ) )
61+ }
5762 }
5863
5964 return `${ filled } ${ empty } `
0 commit comments