From 668aec40621d8a5128def822ab8fcfe5f5d363a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kr=C3=BChlmann?= Date: Thu, 1 Jan 2026 16:20:09 +0100 Subject: [PATCH] Force focus --- src/main/resources/static/js/landing.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/resources/static/js/landing.js b/src/main/resources/static/js/landing.js index d119de2..f33e3e7 100644 --- a/src/main/resources/static/js/landing.js +++ b/src/main/resources/static/js/landing.js @@ -8,6 +8,13 @@ document.addEventListener("DOMContentLoaded", () => { return; } + function keepInputFocused() { + if (document.activeElement !== searchInput) { + searchInput.focus({ preventScroll: true }); + searchInput.select(); + } + } + let channels = []; function updateSuggestions(term) { @@ -38,6 +45,9 @@ document.addEventListener("DOMContentLoaded", () => { } searchInput.addEventListener("input", (event) => updateSuggestions(event.target.value || "")); + searchInput.addEventListener("blur", () => { + requestAnimationFrame(keepInputFocused); + }); searchForm.addEventListener("submit", (event) => { event.preventDefault(); @@ -49,5 +59,7 @@ document.addEventListener("DOMContentLoaded", () => { window.location.href = `/view/${encodeURIComponent(broadcaster)}/broadcast`; }); + keepInputFocused(); + window.addEventListener("focus", keepInputFocused); loadChannels(); });