mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge remote-tracking branch 'upstream/master' into translate-everything
This commit is contained in:
commit
3543a60b8b
53 changed files with 1287 additions and 1116 deletions
|
@ -271,6 +271,9 @@ define([], function () {
|
|||
|
||||
if (!browser.tizen) {
|
||||
browser.orsay = userAgent.toLowerCase().indexOf('smarthub') !== -1;
|
||||
} else {
|
||||
var v = (navigator.appVersion).match(/Tizen (\d+).(\d+)/);
|
||||
browser.tizenVersion = parseInt(v[1]);
|
||||
}
|
||||
|
||||
if (browser.edgeUwp) {
|
||||
|
|
|
@ -214,6 +214,15 @@ define(['browser'], function (browser) {
|
|||
break;
|
||||
case 'avi':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
// New Samsung TV don't support XviD/DivX
|
||||
// Explicitly add supported codecs to make other codecs be transcoded
|
||||
if (browser.tizenVersion >= 4) {
|
||||
videoCodecs.push('h264');
|
||||
if (canPlayH265(videoTestElement, options)) {
|
||||
videoCodecs.push('h265');
|
||||
videoCodecs.push('hevc');
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'mpg':
|
||||
case 'mpeg':
|
||||
|
|
|
@ -73,7 +73,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
}
|
||||
|
||||
if (user && user.localUser) {
|
||||
if (headerHomeButton) {
|
||||
if (headerHomeButton && !layoutManager.mobile) {
|
||||
headerHomeButton.classList.remove("hide");
|
||||
}
|
||||
|
||||
|
@ -243,15 +243,20 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="material-icons navMenuOptionIcon">wifi</i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
|
||||
}
|
||||
|
||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnSettings" data-itemid="settings" href="#"><i class="material-icons navMenuOptionIcon settings"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSettings") + "</span></a>";
|
||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="material-icons navMenuOptionIcon exit_to_app"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
|
||||
html += "</div>";
|
||||
}
|
||||
|
||||
// add buttons to navigation drawer
|
||||
navDrawerScrollContainer.innerHTML = html;
|
||||
// bind logout button click to method
|
||||
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
|
||||
|
||||
var btnSettings = navDrawerScrollContainer.querySelector(".btnSettings");
|
||||
if (btnSettings) {
|
||||
btnSettings.addEventListener("click", onSettingsClick);
|
||||
}
|
||||
|
||||
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
|
||||
if (btnLogout) {
|
||||
btnLogout.addEventListener("click", onLogoutClick);
|
||||
}
|
||||
|
@ -598,6 +603,10 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
}
|
||||
}
|
||||
|
||||
function onSettingsClick() {
|
||||
Dashboard.navigate("mypreferencesmenu.html");
|
||||
}
|
||||
|
||||
function onLogoutClick() {
|
||||
Dashboard.logout();
|
||||
}
|
||||
|
@ -788,7 +797,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
var headerCastButton;
|
||||
var headerSearchButton;
|
||||
var headerAudioPlayerButton;
|
||||
var enableLibraryNavDrawer = !layoutManager.tv;
|
||||
var enableLibraryNavDrawer = layoutManager.desktop;
|
||||
var skinHeader = document.querySelector(".skinHeader");
|
||||
var requiresUserRefresh = true;
|
||||
var lastOpenTime = new Date().getTime();
|
||||
|
@ -863,6 +872,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
pageClassOn("pageshow", "page", function (e) {
|
||||
var page = this;
|
||||
var isDashboardPage = page.classList.contains("type-interior");
|
||||
var isHomePage = page.classList.contains("homePage");
|
||||
var isLibraryPage = !isDashboardPage && page.classList.contains("libraryPage");
|
||||
var apiClient = getCurrentApiClient();
|
||||
|
||||
|
@ -874,7 +884,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
|||
refreshDashboardInfoInDrawer(apiClient);
|
||||
} else {
|
||||
if (mainDrawerButton) {
|
||||
if (enableLibraryNavDrawer) {
|
||||
if (enableLibraryNavDrawer || isHomePage) {
|
||||
mainDrawerButton.classList.remove("hide");
|
||||
} else {
|
||||
mainDrawerButton.classList.add("hide");
|
||||
|
|
|
@ -355,39 +355,6 @@ var AppInfo = {};
|
|||
return headroom;
|
||||
}
|
||||
|
||||
function getCastSenderApiLoader() {
|
||||
var ccLoaded = false;
|
||||
return {
|
||||
load: function () {
|
||||
if (ccLoaded) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
var fileref = document.createElement("script");
|
||||
fileref.setAttribute("type", "text/javascript");
|
||||
|
||||
fileref.onload = function () {
|
||||
ccLoaded = true;
|
||||
resolve();
|
||||
};
|
||||
|
||||
fileref.setAttribute("src", "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js");
|
||||
document.querySelector("head").appendChild(fileref);
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function getDummyCastSenderApiLoader() {
|
||||
return {
|
||||
load: function () {
|
||||
window.chrome = window.chrome || {};
|
||||
return Promise.resolve();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function createSharedAppFooter(appFooter) {
|
||||
return new appFooter({});
|
||||
}
|
||||
|
@ -439,28 +406,16 @@ var AppInfo = {};
|
|||
defineResizeObserver();
|
||||
define("dialog", [componentsPath + "/dialog/dialog"], returnFirstDependency);
|
||||
|
||||
if (preferNativeAlerts && window.confirm) {
|
||||
define("confirm", [componentsPath + "/confirm/nativeconfirm"], returnFirstDependency);
|
||||
} else {
|
||||
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
||||
}
|
||||
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
||||
|
||||
if ((preferNativeAlerts || browser.xboxOne) && window.confirm) {
|
||||
define("prompt", [componentsPath + "/prompt/nativeprompt"], returnFirstDependency);
|
||||
} else {
|
||||
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
||||
}
|
||||
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
||||
|
||||
define("loading", [componentsPath + "/loading/loading"], returnFirstDependency);
|
||||
define("multi-download", [componentsPath + "/multidownload"], returnFirstDependency);
|
||||
define("fileDownloader", [componentsPath + "/filedownloader"], returnFirstDependency);
|
||||
define("localassetmanager", [bowerPath + "/apiclient/localassetmanager"], returnFirstDependency);
|
||||
|
||||
if ("cordova" === self.appMode || "android" === self.appMode) {
|
||||
define("castSenderApiLoader", [], getDummyCastSenderApiLoader);
|
||||
} else {
|
||||
define("castSenderApiLoader", [], getCastSenderApiLoader);
|
||||
}
|
||||
define("castSenderApiLoader", [componentsPath + "/castSenderApi"], returnFirstDependency);
|
||||
|
||||
define("transfermanager", [bowerPath + "/apiclient/sync/transfermanager"], returnFirstDependency);
|
||||
define("filerepository", [bowerPath + "/apiclient/sync/filerepository"], returnFirstDependency);
|
||||
|
@ -734,8 +689,8 @@ var AppInfo = {};
|
|||
"resize-observer-polyfill",
|
||||
"shaka",
|
||||
"swiper",
|
||||
"queryString",
|
||||
"sortable",
|
||||
"libjass",
|
||||
"webcomponents",
|
||||
"material-icons",
|
||||
"jellyfin-noto",
|
||||
|
@ -800,9 +755,6 @@ var AppInfo = {};
|
|||
define("headroom", [componentsPath + "/headroom/headroom"], returnFirstDependency);
|
||||
define("scroller", [componentsPath + "/scroller"], returnFirstDependency);
|
||||
define("navdrawer", [componentsPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
||||
define("queryString", [bowerPath + "/query-string/index"], function () {
|
||||
return queryString;
|
||||
});
|
||||
|
||||
define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency);
|
||||
define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue