diff --git a/assets/js/main.js b/assets/js/main.js index 53c024d..da716e1 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -60,9 +60,12 @@ document.addEventListener('DOMContentLoaded', () => { const syncFullscreenButton = () => { if (!fullscreenButton) return; const isFullscreen = !!document.fullscreenElement; - fullscreenButton.textContent = isFullscreen + fullscreenButton.title = isFullscreen ? (fullscreenButton.dataset.labelExit || 'Exit full display') : (fullscreenButton.dataset.labelEnter || 'Full display'); + fullscreenButton.innerHTML = isFullscreen + ? '' + : ''; fullscreenButton.setAttribute('aria-pressed', isFullscreen ? 'true' : 'false'); }; @@ -71,8 +74,10 @@ document.addEventListener('DOMContentLoaded', () => { try { if (document.fullscreenElement) { await document.exitFullscreen(); + window.localStorage.setItem('hospitalQueue:autoFullscreen', 'false'); } else { await document.documentElement.requestFullscreen(); + window.localStorage.setItem('hospitalQueue:autoFullscreen', 'true'); } } catch (error) { console.warn('Fullscreen toggle failed', error); @@ -80,6 +85,28 @@ document.addEventListener('DOMContentLoaded', () => { }); document.addEventListener('fullscreenchange', syncFullscreenButton); syncFullscreenButton(); + + if (window.localStorage.getItem('hospitalQueue:autoFullscreen') === 'true') { + const autoFs = async () => { + if (!document.fullscreenElement) { + try { await document.documentElement.requestFullscreen(); } catch (e) {} + } + document.removeEventListener('click', autoFs); + document.removeEventListener('keydown', autoFs); + document.removeEventListener('touchstart', autoFs); + }; + try { + document.documentElement.requestFullscreen().catch(() => { + document.addEventListener('click', autoFs); + document.addEventListener('keydown', autoFs); + document.addEventListener('touchstart', autoFs); + }); + } catch (e) { + document.addEventListener('click', autoFs); + document.addEventListener('keydown', autoFs); + document.addEventListener('touchstart', autoFs); + } + } } else if (fullscreenButton) { fullscreenButton.hidden = true; }