maximise display

This commit is contained in:
Flatlogic Bot 2026-04-02 07:29:40 +00:00
parent 5f6b8289df
commit e8e0abdac5

View File

@ -60,9 +60,12 @@ document.addEventListener('DOMContentLoaded', () => {
const syncFullscreenButton = () => { const syncFullscreenButton = () => {
if (!fullscreenButton) return; if (!fullscreenButton) return;
const isFullscreen = !!document.fullscreenElement; const isFullscreen = !!document.fullscreenElement;
fullscreenButton.textContent = isFullscreen fullscreenButton.title = isFullscreen
? (fullscreenButton.dataset.labelExit || 'Exit full display') ? (fullscreenButton.dataset.labelExit || 'Exit full display')
: (fullscreenButton.dataset.labelEnter || 'Full display'); : (fullscreenButton.dataset.labelEnter || 'Full display');
fullscreenButton.innerHTML = isFullscreen
? '<i class="bi bi-fullscreen-exit"></i>'
: '<i class="bi bi-arrows-fullscreen"></i>';
fullscreenButton.setAttribute('aria-pressed', isFullscreen ? 'true' : 'false'); fullscreenButton.setAttribute('aria-pressed', isFullscreen ? 'true' : 'false');
}; };
@ -71,8 +74,10 @@ document.addEventListener('DOMContentLoaded', () => {
try { try {
if (document.fullscreenElement) { if (document.fullscreenElement) {
await document.exitFullscreen(); await document.exitFullscreen();
window.localStorage.setItem('hospitalQueue:autoFullscreen', 'false');
} else { } else {
await document.documentElement.requestFullscreen(); await document.documentElement.requestFullscreen();
window.localStorage.setItem('hospitalQueue:autoFullscreen', 'true');
} }
} catch (error) { } catch (error) {
console.warn('Fullscreen toggle failed', error); console.warn('Fullscreen toggle failed', error);
@ -80,6 +85,28 @@ document.addEventListener('DOMContentLoaded', () => {
}); });
document.addEventListener('fullscreenchange', syncFullscreenButton); document.addEventListener('fullscreenchange', syncFullscreenButton);
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) { } else if (fullscreenButton) {
fullscreenButton.hidden = true; fullscreenButton.hidden = true;
} }