@@ -466,10 +466,21 @@ export class ExternalServicesManager {
466466 /**
467467 * Extract and determine status display values
468468 */
469- getStatusDisplayValues ( statusIndicator ) {
469+ getStatusDisplayValues ( statusIndicator , isFeed = false ) {
470470 const statusClass = statusIndicator === "none" ? "operational" : statusIndicator ;
471- const statusIcon = statusClass === "operational" ? "check-circle" : "exclamation-triangle" ;
472- const statusColor = statusClass === "operational" ? "success" : statusClass === "minor" ? "warning" : "error" ;
471+ // Map icons per status
472+ let statusIcon = 'exclamation-triangle' ;
473+ if ( statusClass === 'operational' ) statusIcon = 'check-circle' ;
474+ else if ( statusClass === 'major' ) statusIcon = 'times-circle' ;
475+ else if ( statusClass === 'minor' ) statusIcon = 'exclamation-triangle' ;
476+
477+ // For Atom/RSS feeds, map major->error, minor->warning
478+ if ( isFeed ) {
479+ const statusColor = statusClass === 'operational' ? 'success' : ( statusClass === 'major' ? 'error' : 'warning' ) ;
480+ return { statusClass, statusIcon, statusColor } ;
481+ }
482+
483+ const statusColor = statusClass === 'operational' ? 'success' : statusClass === 'minor' ? 'warning' : 'error' ;
473484 return { statusClass, statusIcon, statusColor } ;
474485 }
475486
@@ -478,7 +489,7 @@ export class ExternalServicesManager {
478489 */
479490 updateServiceCardStatus ( serviceCard , statusDescription , statusClass , statusIcon , statusColor ) {
480491 // Update card class
481- serviceCard . classList . remove ( "loading" , "error" ) ;
492+ serviceCard . classList . remove ( "loading" , "error" , "status-success" , "status-warning" , "status-error" ) ;
482493
483494 // Update status span
484495 const statusSpan = serviceCard . querySelector ( ".service-status" ) ;
@@ -487,6 +498,9 @@ export class ExternalServicesManager {
487498 statusSpan . innerHTML = `<i class="fas fa-${ statusIcon } "></i> ` ;
488499 statusSpan . appendChild ( document . createTextNode ( this . utils . sanitizeInput ( statusDescription ) ) ) ;
489500 }
501+
502+ // Add card-level status class for visual emphasis
503+ serviceCard . classList . add ( `status-${ statusColor } ` ) ;
490504 }
491505
492506 /**
@@ -550,7 +564,7 @@ export class ExternalServicesManager {
550564 return ;
551565 }
552566
553- const { statusClass, statusIcon, statusColor } = this . getStatusDisplayValues ( data . status . indicator ) ;
567+ const { statusClass, statusIcon, statusColor } = this . getStatusDisplayValues ( data . status . indicator , true ) ;
554568 this . updateServiceCardStatus ( serviceCard , data . status . description , statusClass , statusIcon , statusColor ) ;
555569 } catch ( error ) {
556570 console . error ( `Failed to load ${ serviceDef . name } feed status:` , error ) ;
@@ -580,7 +594,7 @@ export class ExternalServicesManager {
580594 return ;
581595 }
582596
583- const { statusClass, statusIcon, statusColor } = this . getStatusDisplayValues ( data . status . indicator ) ;
597+ const { statusClass, statusIcon, statusColor } = this . getStatusDisplayValues ( data . status . indicator , false ) ;
584598 this . updateServiceCardStatus ( serviceCard , data . status . description , statusClass , statusIcon , statusColor ) ;
585599 } catch ( error ) {
586600 console . error ( `Failed to load ${ serviceDef . name } status:` , error ) ;
0 commit comments