fix duplicate latest recordings section

This commit is contained in:
Luke Pulverenti 2016-12-20 00:22:31 -05:00
parent 71980ad405
commit 61a71a50fb
11 changed files with 77 additions and 36 deletions

View File

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.391",
"_release": "1.4.391",
"version": "1.4.394",
"_release": "1.4.394",
"_resolution": {
"type": "version",
"tag": "1.4.391",
"commit": "9a257cba74955044faf6fbcce9c8dccdfe3ea3c6"
"tag": "1.4.394",
"commit": "a0c442434641afe149678493728f2630558f763e"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View File

@ -240,7 +240,7 @@ define(['browser'], function (browser) {
return function (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();
@ -308,8 +308,8 @@ define(['browser'], function (browser) {
videoAudioCodecs.push('dts');
}
if (browser.edgeUwp) {
//videoAudioCodecs.push('truehd');
if (options.supportsTrueHd) {
videoAudioCodecs.push('truehd');
}
videoAudioCodecs = videoAudioCodecs.filter(function (c) {

View File

@ -14,7 +14,6 @@
flex-shrink: 0;
margin: 0;
padding: 1.2em .9em;
transition: none !important;
position: relative;
text-transform: uppercase;
font-weight: bold;

View File

@ -307,8 +307,8 @@
.programIcon {
margin-left: auto;
margin-right: .25em;
height: auto;
width: auto;
height: 1em;
width: 1em;
font-size: 1.6em;
color: #ddd;
flex-shrink: 0;
@ -423,10 +423,10 @@
}
.guide-date-tab-button {
font-weight: 500 !important;
font-weight: normal !important;
color: inherit !important;
padding-top: .3em !important;
padding-bottom: .3em !important;
padding: .3em .7em !important;
margin: 0 .3em !important;
opacity: .25;
}
@ -434,7 +434,7 @@
color: #52B54B !important;
border-color: transparent !important;
opacity: 1;
font-weight: 500 !important;
font-weight: normal !important;
}
.guide-date-tab-button:focus {
@ -444,14 +444,6 @@
.layout-tv .guide-date-tab-button:focus {
background-color: #52B54B !important;
border-radius: .25em !important;
border-radius: .15em !important;
color: #fff !important;
}
@media all and (min-width: 1200px) {
.guide-date-tab-button {
padding-left: 1em !important;
padding-right: 1em !important;
}
}

View File

@ -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) {
var focused = focusManager.focusableParent(e.target);
@ -102,6 +120,7 @@ define(['focusManager', 'dom', 'scrollStyles'], function (focusManager, dom) {
}
}
},
toCenter: toCenter
toCenter: toCenter,
toStart: toStart
};
});

View File

@ -13,6 +13,9 @@ define(['browser', 'dom', 'css!./viewcontainer-lite'], function (browser, dom) {
if (browser.tv) {
return false;
}
if (navigator.userAgent.toLowerCase().indexOf('embytheaterpi') !== -1) {
return false;
}
return browser.supportsCssAnimation();
}

View File

@ -305,8 +305,8 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
width: 300px;
height: 70px;
position: absolute;
top: 10%;
right: 20%;
top: 13.5%;
right: 19.5%;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
@ -321,11 +321,28 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
@media all and (max-width: 1200px) {
.detailLogo {
right: 2%;
}
}
@media all and (min-width: 800px) and (max-width: 1100px) {
.detailLogo {
display: none;
}
}
@media all and (max-width: 800px) {
.detailLogo {
top: 20%;
right: 2%;
height: 50px;
width: 250px;
}
}
.itemDetailImage {
border: solid 1px transparent;
width: 100%;
@ -791,7 +808,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
.mediaInfoText {
background: rgba(31,31,31,.7);
padding: .25em .5em;
padding: .3em .5em;
border-radius: .25em;
color: #ddd;
margin-right: .5em;

View File

@ -15,15 +15,15 @@
<button is="emby-button" type="button" class="btnPlay detailFloatingButton hide fab autoSize" title="${ButtonPlay}"><i class="md-icon">play_arrow</i></button>
</div>
<div class="detailPageContent">
<div class="detailLogo"></div>
<div class="detailPageContent">
<div class="detailPagePrimaryContainer">
<div class="detailImageContainer">
</div>
<div class="detailPagePrimaryContent">
<div class="detailLogo"></div>
<div class="detailSection" style="margin-bottom: 0;">
<h1 class="parentName" style="margin: .25em 0;"></h1>

View File

@ -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';
function getPromise(params) {
@ -79,7 +79,6 @@
positionTo: button,
cancelTimer: false,
record: false,
editImages: false,
deleteItem: item.IsFolder === true
};
@ -1355,6 +1354,13 @@
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") {

View File

@ -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>';
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 += 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');
@ -650,7 +650,8 @@
limit: 5,
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
IsInProgress: false,
EnableTotalRecordCount: false
EnableTotalRecordCount: false,
IsLibraryItem: false
}).then(function (result) {

View File

@ -95,7 +95,7 @@
}
}
var holidayThemeKey = 'holidaytheme6';
var holidayThemeKey = 'holidaytheme7';
function getHolidayTheme() {
return appSettings.get(holidayThemeKey);
}
@ -354,7 +354,11 @@
window.generateSnowflakes = generateSnowflakes;
window.stopSnowflakes = function () {
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]);
}
};
//