mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
fix duplicate latest recordings section
This commit is contained in:
parent
71980ad405
commit
61a71a50fb
11 changed files with 77 additions and 36 deletions
|
@ -14,12 +14,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.391",
|
"version": "1.4.394",
|
||||||
"_release": "1.4.391",
|
"_release": "1.4.394",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.391",
|
"tag": "1.4.394",
|
||||||
"commit": "9a257cba74955044faf6fbcce9c8dccdfe3ea3c6"
|
"commit": "a0c442434641afe149678493728f2630558f763e"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.1",
|
"_target": "^1.2.1",
|
||||||
|
|
|
@ -240,7 +240,7 @@ define(['browser'], function (browser) {
|
||||||
return function (options) {
|
return function (options) {
|
||||||
|
|
||||||
options = options || {};
|
options = options || {};
|
||||||
var physicalAudioChannels = options.audioChannels || (browser.tv || browser.xboxOne || browser.ps4 ? 6 : 2);
|
var physicalAudioChannels = options.audioChannels || (browser.tv || browser.xboxOne || browser.ps4 || !browser.mobile ? 6 : 2);
|
||||||
|
|
||||||
var bitrateSetting = getMaxBitrate();
|
var bitrateSetting = getMaxBitrate();
|
||||||
|
|
||||||
|
@ -308,8 +308,8 @@ define(['browser'], function (browser) {
|
||||||
videoAudioCodecs.push('dts');
|
videoAudioCodecs.push('dts');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (browser.edgeUwp) {
|
if (options.supportsTrueHd) {
|
||||||
//videoAudioCodecs.push('truehd');
|
videoAudioCodecs.push('truehd');
|
||||||
}
|
}
|
||||||
|
|
||||||
videoAudioCodecs = videoAudioCodecs.filter(function (c) {
|
videoAudioCodecs = videoAudioCodecs.filter(function (c) {
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 1.2em .9em;
|
padding: 1.2em .9em;
|
||||||
transition: none !important;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
@ -307,8 +307,8 @@
|
||||||
.programIcon {
|
.programIcon {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: .25em;
|
margin-right: .25em;
|
||||||
height: auto;
|
height: 1em;
|
||||||
width: auto;
|
width: 1em;
|
||||||
font-size: 1.6em;
|
font-size: 1.6em;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
@ -423,10 +423,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.guide-date-tab-button {
|
.guide-date-tab-button {
|
||||||
font-weight: 500 !important;
|
font-weight: normal !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
padding-top: .3em !important;
|
padding: .3em .7em !important;
|
||||||
padding-bottom: .3em !important;
|
margin: 0 .3em !important;
|
||||||
opacity: .25;
|
opacity: .25;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@
|
||||||
color: #52B54B !important;
|
color: #52B54B !important;
|
||||||
border-color: transparent !important;
|
border-color: transparent !important;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
font-weight: 500 !important;
|
font-weight: normal !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.guide-date-tab-button:focus {
|
.guide-date-tab-button:focus {
|
||||||
|
@ -444,14 +444,6 @@
|
||||||
|
|
||||||
.layout-tv .guide-date-tab-button:focus {
|
.layout-tv .guide-date-tab-button:focus {
|
||||||
background-color: #52B54B !important;
|
background-color: #52B54B !important;
|
||||||
border-radius: .25em !important;
|
border-radius: .15em !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (min-width: 1200px) {
|
|
||||||
|
|
||||||
.guide-date-tab-button {
|
|
||||||
padding-left: 1em !important;
|
|
||||||
padding-right: 1em !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -57,6 +57,24 @@ define(['focusManager', 'dom', 'scrollStyles'], function (focusManager, dom) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toStart(container, elem, horizontal) {
|
||||||
|
var pos = getPosition(container, elem, horizontal);
|
||||||
|
|
||||||
|
if (container.scrollTo) {
|
||||||
|
if (horizontal) {
|
||||||
|
container.scrollTo(pos.start, 0);
|
||||||
|
} else {
|
||||||
|
container.scrollTo(0, pos.start);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (horizontal) {
|
||||||
|
container.scrollLeft = Math.round(pos.start);
|
||||||
|
} else {
|
||||||
|
container.scrollTop = Math.round(pos.start);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function centerOnFocus(e, scrollSlider, horizontal) {
|
function centerOnFocus(e, scrollSlider, horizontal) {
|
||||||
var focused = focusManager.focusableParent(e.target);
|
var focused = focusManager.focusableParent(e.target);
|
||||||
|
|
||||||
|
@ -102,6 +120,7 @@ define(['focusManager', 'dom', 'scrollStyles'], function (focusManager, dom) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toCenter: toCenter
|
toCenter: toCenter,
|
||||||
|
toStart: toStart
|
||||||
};
|
};
|
||||||
});
|
});
|
|
@ -13,6 +13,9 @@ define(['browser', 'dom', 'css!./viewcontainer-lite'], function (browser, dom) {
|
||||||
if (browser.tv) {
|
if (browser.tv) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (navigator.userAgent.toLowerCase().indexOf('embytheaterpi') !== -1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return browser.supportsCssAnimation();
|
return browser.supportsCssAnimation();
|
||||||
}
|
}
|
||||||
|
|
|
@ -305,8 +305,8 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10%;
|
top: 13.5%;
|
||||||
right: 20%;
|
right: 19.5%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
|
@ -321,11 +321,28 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
||||||
|
|
||||||
@media all and (max-width: 1200px) {
|
@media all and (max-width: 1200px) {
|
||||||
|
|
||||||
|
.detailLogo {
|
||||||
|
right: 2%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (min-width: 800px) and (max-width: 1100px) {
|
||||||
|
|
||||||
.detailLogo {
|
.detailLogo {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media all and (max-width: 800px) {
|
||||||
|
|
||||||
|
.detailLogo {
|
||||||
|
top: 20%;
|
||||||
|
right: 2%;
|
||||||
|
height: 50px;
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.itemDetailImage {
|
.itemDetailImage {
|
||||||
border: solid 1px transparent;
|
border: solid 1px transparent;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -791,7 +808,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
||||||
|
|
||||||
.mediaInfoText {
|
.mediaInfoText {
|
||||||
background: rgba(31,31,31,.7);
|
background: rgba(31,31,31,.7);
|
||||||
padding: .25em .5em;
|
padding: .3em .5em;
|
||||||
border-radius: .25em;
|
border-radius: .25em;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
margin-right: .5em;
|
margin-right: .5em;
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
<button is="emby-button" type="button" class="btnPlay detailFloatingButton hide fab autoSize" title="${ButtonPlay}"><i class="md-icon">play_arrow</i></button>
|
<button is="emby-button" type="button" class="btnPlay detailFloatingButton hide fab autoSize" title="${ButtonPlay}"><i class="md-icon">play_arrow</i></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="detailLogo"></div>
|
||||||
|
|
||||||
<div class="detailPageContent">
|
<div class="detailPageContent">
|
||||||
|
|
||||||
<div class="detailPagePrimaryContainer">
|
<div class="detailPagePrimaryContainer">
|
||||||
|
@ -22,8 +24,6 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="detailPagePrimaryContent">
|
<div class="detailPagePrimaryContent">
|
||||||
|
|
||||||
<div class="detailLogo"></div>
|
|
||||||
|
|
||||||
<div class="detailSection" style="margin-bottom: 0;">
|
<div class="detailSection" style="margin-bottom: 0;">
|
||||||
|
|
||||||
<h1 class="parentName" style="margin: .25em 0;"></h1>
|
<h1 class="parentName" style="margin: .25em 0;"></h1>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'imageLoader', 'libraryMenu', 'shell', 'globalize', 'browser', 'events', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost, imageLoader, libraryMenu, shell, globalize, browser, events) {
|
define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'imageLoader', 'libraryMenu', 'shell', 'globalize', 'browser', 'events', 'scrollHelper', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost, imageLoader, libraryMenu, shell, globalize, browser, events, scrollHelper) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
function getPromise(params) {
|
function getPromise(params) {
|
||||||
|
@ -79,7 +79,6 @@
|
||||||
positionTo: button,
|
positionTo: button,
|
||||||
cancelTimer: false,
|
cancelTimer: false,
|
||||||
record: false,
|
record: false,
|
||||||
editImages: false,
|
|
||||||
deleteItem: item.IsFolder === true
|
deleteItem: item.IsFolder === true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1355,6 +1354,13 @@
|
||||||
|
|
||||||
renderCollectionItems(page, item, collectionItemTypes, result.Items);
|
renderCollectionItems(page, item, collectionItemTypes, result.Items);
|
||||||
}
|
}
|
||||||
|
else if (item.Type === 'Episode') {
|
||||||
|
|
||||||
|
var card = childrenItemsContainer.querySelector('.card[data-id="' + item.Id + '"]');
|
||||||
|
if (card) {
|
||||||
|
scrollHelper.toStart(childrenItemsContainer, card.previousSibling || card, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (item.Type == "Season") {
|
if (item.Type == "Season") {
|
||||||
|
|
|
@ -207,7 +207,7 @@
|
||||||
html += '<h1>Try Emby Theater<button is="paper-icon-button-light" style="margin-left:1em;" onclick="this.parentNode.parentNode.remove();" class="autoSize"><i class="md-icon">close</i></button></h1>';
|
html += '<h1>Try Emby Theater<button is="paper-icon-button-light" style="margin-left:1em;" onclick="this.parentNode.parentNode.remove();" class="autoSize"><i class="md-icon">close</i></button></h1>';
|
||||||
|
|
||||||
var nameText = AppInfo.isNativeApp ? 'Emby Theater' : '<a href="https://emby.media/download" target="_blank">Emby Theater</a>';
|
var nameText = AppInfo.isNativeApp ? 'Emby Theater' : '<a href="https://emby.media/download" target="_blank">Emby Theater</a>';
|
||||||
html += '<p>A beautiful app for your TV and large screen tablet. ' + nameText + ' runs on Windows, Xbox One, Google Chrome, FireFox, Microsoft Edge and Opera.</p>';
|
html += '<p>A beautiful app for your TV and large screen tablet. ' + nameText + ' runs on Windows, Xbox One, Raspberry Pi, Samsung Smart TVs, Sony PS4, Web Browsers, and more.</p>';
|
||||||
html += '<div class="itemsContainer vertical-wrap">';
|
html += '<div class="itemsContainer vertical-wrap">';
|
||||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater1.png', 'https://emby.media/download');
|
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater1.png', 'https://emby.media/download');
|
||||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater2.png', 'https://emby.media/download');
|
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater2.png', 'https://emby.media/download');
|
||||||
|
@ -650,7 +650,8 @@
|
||||||
limit: 5,
|
limit: 5,
|
||||||
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
|
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
|
||||||
IsInProgress: false,
|
IsInProgress: false,
|
||||||
EnableTotalRecordCount: false
|
EnableTotalRecordCount: false,
|
||||||
|
IsLibraryItem: false
|
||||||
|
|
||||||
}).then(function (result) {
|
}).then(function (result) {
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var holidayThemeKey = 'holidaytheme6';
|
var holidayThemeKey = 'holidaytheme7';
|
||||||
function getHolidayTheme() {
|
function getHolidayTheme() {
|
||||||
return appSettings.get(holidayThemeKey);
|
return appSettings.get(holidayThemeKey);
|
||||||
}
|
}
|
||||||
|
@ -354,7 +354,11 @@
|
||||||
window.generateSnowflakes = generateSnowflakes;
|
window.generateSnowflakes = generateSnowflakes;
|
||||||
window.stopSnowflakes = function () {
|
window.stopSnowflakes = function () {
|
||||||
stopped = true;
|
stopped = true;
|
||||||
$('.snowflake').remove();
|
|
||||||
|
var elems = document.querySelectorAll('.snowflake');
|
||||||
|
for (var i = 0, length = elems.length; i < length; i++) {
|
||||||
|
elems[i].parentNode.removeChild(elems[i]);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue