1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/controllers/playback/queue/index.js

53 lines
1.5 KiB
JavaScript
Raw Normal View History

import RemoteControl from "../../../components/remotecontrol/remotecontrol";
import { playbackManager } from "../../../components/playback/playbackmanager";
import libraryMenu from "../../../scripts/libraryMenu";
import "../../../elements/emby-button/emby-button";
2021-01-26 22:20:12 -05:00
export default function (view) {
2023-07-06 11:49:55 -04:00
const remoteControl = new RemoteControl();
remoteControl.init(view, view.querySelector(".remoteControlContent"));
let currentPlayer;
function onKeyDown(e) {
if (e.keyCode === 32 && e.target.tagName !== "BUTTON") {
playbackManager.playPause(currentPlayer);
e.preventDefault();
e.stopPropagation();
}
}
function releaseCurrentPlayer() {
const player = currentPlayer;
if (player) currentPlayer = null;
}
function bindToPlayer(player) {
if (player !== currentPlayer) {
releaseCurrentPlayer();
currentPlayer = player;
if (!player) return;
}
}
view.addEventListener("viewshow", function () {
libraryMenu.setTransparentMenu(true);
bindToPlayer(playbackManager.getCurrentPlayer());
document.addEventListener("keydown", onKeyDown);
if (remoteControl) {
remoteControl.onShow();
}
});
view.addEventListener("viewbeforehide", function () {
libraryMenu.setTransparentMenu(false);
document.removeEventListener("keydown", onKeyDown);
releaseCurrentPlayer();
if (remoteControl) {
remoteControl.destroy();
}
});
}