@@ -32,6 +32,8 @@ <h1 id="headline"></h1>
3232 </ div >
3333
3434 < div id ="main-content " class ="hidden ">
35+ < p class ="quiet-banner hidden " id ="preview-banner "> </ p >
36+ < p class ="quiet-banner hidden " id ="show-running-banner "> </ p >
3537 < p class ="quiet-banner hidden " id ="quiet-banner "> </ p >
3638 < p class ="quiet-banner hidden " id ="outside-window-banner "> </ p >
3739 < div class ="buttons ">
@@ -74,6 +76,8 @@ <h3 class="social-footer-title">Unsere Kanäle:</h3>
7476 const btnKids = document . getElementById ( 'btn-kids' ) ;
7577 const btnRequest = document . getElementById ( 'btn-request' ) ;
7678 const btnDonate = document . getElementById ( 'btn-donate' ) ;
79+ const previewBanner = document . getElementById ( 'preview-banner' ) ;
80+ const showRunningBanner = document . getElementById ( 'show-running-banner' ) ;
7781 const quietBanner = document . getElementById ( 'quiet-banner' ) ;
7882 const outsideWindowBanner = document . getElementById ( 'outside-window-banner' ) ;
7983 const statusBox = document . getElementById ( 'status' ) ;
@@ -246,7 +250,8 @@ <h3 class="social-footer-title">Unsere Kanäle:</h3>
246250 markStatus ( '' , 'Bereit (Vorschau).' ) ;
247251 setStatusDetails ( 'player' , 'Show 1' , 'Jingle Bells' ) ;
248252 updateCountdown ( { time : next . toISOString ( ) , label : 'Show' } ) ;
249- note . textContent = 'Dies ist eine Vorschau ohne Verbindung zum FPP.' ;
253+ previewBanner . textContent = 'Dies ist eine Vorschau ohne Verbindung zum FPP.' ;
254+ previewBanner . classList . remove ( 'hidden' ) ;
250255 applyLocks ( { disableAllButtons : false , disableShowButtons : false } ) ;
251256 renderQueue ( queue [ 0 ] , queue ) ;
252257 }
@@ -271,14 +276,16 @@ <h3 class="social-footer-title">Unsere Kanäle:</h3>
271276
272277 markStatus ( isRunning ? 'running' : '' , isRunning ? 'Show läuft gerade.' : 'Bereit.' ) ;
273278 setStatusDetails ( modeName , playlistLabel , currentSequence ) ;
274- note . textContent = data . note || '' ;
275279 updateCountdown ( data . nextShow , data . scheduledShowsEnabled !== false ) ;
276280
277281 const lockReason = applyLocks ( data . locks ) ;
278282 const isQuiet = Boolean ( data . locks && data . locks . quiet ) ;
279283 const isOutsideWindow = Boolean ( data . locks && data . locks . outsideShowWindow ) ;
280284 const showPeriod = data . locks && data . locks . showPeriod ;
281285
286+ // Hide preview banner in normal mode
287+ previewBanner . classList . add ( 'hidden' ) ;
288+
282289 if ( isOutsideWindow && showPeriod ) {
283290 const dateRange = showPeriod . startDate && showPeriod . endDate
284291 ? `${ showPeriod . startDate } - ${ showPeriod . endDate } ` : '' ;
@@ -300,19 +307,29 @@ <h3 class="social-footer-title">Unsere Kanäle:</h3>
300307 outsideWindowBanner . appendChild ( line3 ) ;
301308 outsideWindowBanner . classList . remove ( 'hidden' ) ;
302309 quietBanner . classList . add ( 'hidden' ) ;
310+ showRunningBanner . classList . add ( 'hidden' ) ;
311+ note . textContent = data . note || '' ;
303312 } else if ( isQuiet && showPeriod ) {
304313 quietBanner . textContent = `Ruhezeit ${ showPeriod . endTime } –${ showPeriod . startTime } – keine Wiedergabe möglich.` ;
305314 quietBanner . classList . remove ( 'hidden' ) ;
306315 outsideWindowBanner . classList . add ( 'hidden' ) ;
316+ showRunningBanner . classList . add ( 'hidden' ) ;
317+ note . textContent = data . note || '' ;
318+ } else if ( lockReason && ! isQuiet && ! isOutsideWindow ) {
319+ // Show the lock reason in the banner instead of the note section
320+ showRunningBanner . textContent = lockReason ;
321+ showRunningBanner . classList . remove ( 'hidden' ) ;
322+ quietBanner . classList . add ( 'hidden' ) ;
323+ outsideWindowBanner . classList . add ( 'hidden' ) ;
324+ note . textContent = data . note || '' ;
307325 } else {
308326 quietBanner . classList . add ( 'hidden' ) ;
309327 outsideWindowBanner . classList . add ( 'hidden' ) ;
328+ showRunningBanner . classList . add ( 'hidden' ) ;
329+ note . textContent = data . note || '' ;
310330 }
311331
312332 renderQueue ( data . currentRequest , data . queue || [ ] ) ;
313- if ( ! note . textContent && lockReason && ! isQuiet && ! isOutsideWindow ) {
314- note . textContent = lockReason ;
315- }
316333 } catch ( err ) {
317334 console . error ( 'Statusfehler' , err ) ;
318335 markStatus ( 'error' , 'Status konnte nicht geladen werden.' ) ;
0 commit comments