1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge branch 'master' into patch-2

This commit is contained in:
Freako 2023-10-18 20:37:05 +00:00 committed by GitHub
commit 84d14c31aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 614 additions and 369 deletions

View file

@ -724,8 +724,13 @@ class ItemsView {
const currentItem = self.currentItem;
if (currentItem && !self.hasFilters) {
const values = self.getSortValues();
playbackManager.play({
items: [currentItem],
queryOptions: {
SortBy: values.sortBy,
SortOrder: values.sortOrder
},
autoplay: true
});
} else {
@ -960,10 +965,7 @@ class ItemsView {
getSortValues() {
const basekey = this.getSettingsKey();
return {
sortBy: userSettings.getFilter(basekey + '-sortby') || this.getDefaultSortBy(),
sortOrder: userSettings.getFilter(basekey + '-sortorder') === 'Descending' ? 'Descending' : 'Ascending'
};
return userSettings.getSortValuesLegacy(basekey, this.getDefaultSortBy());
}
getDefaultSortBy() {

View file

@ -1,19 +1,48 @@
import RemoteControl from '../../../components/remotecontrol/remotecontrol';
import { playbackManager } from '../../../components/playback/playbackmanager';
import libraryMenu from '../../../scripts/libraryMenu';
import '../../../elements/emby-button/emby-button';
export default function (view) {
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;
}
}
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();