@@ -51,6 +51,7 @@ const state = {
5151 autoConnect : true ,
5252 liveFilter : true ,
5353 viewerCount : false ,
54+ hideMetrics : false ,
5455 connected : false ,
5556 polling : false ,
5657 pollTimer : null ,
@@ -86,6 +87,7 @@ function cacheElements() {
8687 els . autoConnect = document . getElementById ( 'auto-connect' ) ;
8788 els . liveFilter = document . getElementById ( 'live-filter' ) ;
8889 els . viewerCount = document . getElementById ( 'viewer-count' ) ;
90+ els . hideMetrics = document . getElementById ( 'hide-metrics' ) ;
8991 els . showToken = document . getElementById ( 'show-token' ) ;
9092 els . signinBtn = document . getElementById ( 'signin-btn' ) ;
9193 els . clearAuthBtn = document . getElementById ( 'clear-auth-btn' ) ;
@@ -383,6 +385,7 @@ function loadConfig() {
383385 ? Boolean ( saved . liveFilter )
384386 : true ;
385387 state . viewerCount = saved . viewerCount !== undefined ? Boolean ( saved . viewerCount ) : false ;
388+ state . hideMetrics = saved . hideMetrics !== undefined ? Boolean ( saved . hideMetrics ) : false ;
386389}
387390
388391function saveConfig ( ) {
@@ -394,7 +397,8 @@ function saveConfig() {
394397 pollInterval : state . pollInterval ,
395398 autoConnect : state . autoConnect ,
396399 liveFilter : state . liveFilter ,
397- viewerCount : state . viewerCount
400+ viewerCount : state . viewerCount ,
401+ hideMetrics : state . hideMetrics
398402 } ;
399403 try {
400404 localStorage . setItem ( STORAGE_KEY , JSON . stringify ( payload ) ) ;
@@ -466,6 +470,8 @@ function updateInputs() {
466470 if ( els . pollInterval ) els . pollInterval . value = state . pollInterval ;
467471 if ( els . autoConnect ) els . autoConnect . checked = state . autoConnect ;
468472 if ( els . liveFilter ) els . liveFilter . checked = state . liveFilter ;
473+ if ( els . hideMetrics ) els . hideMetrics . checked = state . hideMetrics ;
474+ applyMetricsVisibility ( ) ;
469475 updateViewerCountControl ( ) ;
470476 updateActionButtons ( ) ;
471477}
@@ -478,6 +484,8 @@ function syncStateFromInputs() {
478484 state . pollInterval = clamp ( ( els . pollInterval && els . pollInterval . value ) || DEFAULT_POLL_INTERVAL , MIN_POLL_INTERVAL , MAX_POLL_INTERVAL ) ;
479485 state . autoConnect = ! ! ( els . autoConnect && els . autoConnect . checked ) ;
480486 state . liveFilter = ! ! ( els . liveFilter && els . liveFilter . checked ) ;
487+ state . hideMetrics = ! ! ( els . hideMetrics && els . hideMetrics . checked ) ;
488+ applyMetricsVisibility ( ) ;
481489 if ( ! extension . settingsLoaded ) {
482490 state . viewerCount = ! ! ( els . viewerCount && els . viewerCount . checked ) ;
483491 }
@@ -491,6 +499,12 @@ function syncStateFromInputs() {
491499 updateActionButtons ( ) ;
492500}
493501
502+ function applyMetricsVisibility ( ) {
503+ if ( typeof document !== 'undefined' && document . body ) {
504+ document . body . classList . toggle ( 'hide-metrics' , ! ! state . hideMetrics ) ;
505+ }
506+ }
507+
494508function updateViewerCountControl ( ) {
495509 if ( ! els . viewerCount ) return ;
496510 const enabled = isViewerTrackingEnabled ( ) ;
@@ -1285,7 +1299,8 @@ function bindEvents() {
12851299 }
12861300 } ) ;
12871301 } ) ;
1288- [ els . autoConnect , els . liveFilter , els . viewerCount ] . forEach ( ( checkbox ) => {
1302+ [ els . autoConnect , els . liveFilter , els . viewerCount , els . hideMetrics ] . forEach ( ( checkbox ) => {
1303+ if ( ! checkbox ) return ;
12891304 checkbox . addEventListener ( 'change' , ( ) => {
12901305 syncStateFromInputs ( ) ;
12911306 saveConfig ( ) ;
0 commit comments