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;
}