Enhance focus management in TV mode by delaying focus call after iframe removal
This commit is contained in:
@@ -611,7 +611,8 @@ const SlideUtils = {
|
|||||||
if (!container) {
|
if (!container) {
|
||||||
container = this.createElement("div", {
|
container = this.createElement("div", {
|
||||||
id: "slides-container",
|
id: "slides-container",
|
||||||
className: "noautofocus"
|
className: "noautofocus",
|
||||||
|
tabIndex: "-1"
|
||||||
});
|
});
|
||||||
document.body.appendChild(container);
|
document.body.appendChild(container);
|
||||||
}
|
}
|
||||||
@@ -2516,10 +2517,13 @@ const SlideshowManager = {
|
|||||||
document.documentElement.classList.contains('layout-tv') ||
|
document.documentElement.classList.contains('layout-tv') ||
|
||||||
document.body.classList.contains('layout-tv');
|
document.body.classList.contains('layout-tv');
|
||||||
if (isTvMode) {
|
if (isTvMode) {
|
||||||
const container = document.getElementById("slides-container");
|
// Use setTimeout to execute AFTER Jellyfin's focus manager processes the iframe removal
|
||||||
if (container) {
|
setTimeout(() => {
|
||||||
container.focus({ preventScroll: true });
|
const container = document.getElementById("slides-container");
|
||||||
}
|
if (container && container.style.display !== 'none') {
|
||||||
|
container.focus({ preventScroll: true });
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user