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

update details

This commit is contained in:
Luke Pulverenti 2016-12-03 02:58:48 -05:00
parent 65ccdb73c7
commit 11e4966819
10 changed files with 131 additions and 88 deletions

View file

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.366",
"_release": "1.4.366",
"version": "1.4.368",
"_release": "1.4.368",
"_resolution": {
"type": "version",
"tag": "1.4.366",
"commit": "0f80ba74da6484e52961e2199505d30a86fe5666"
"tag": "1.4.368",
"commit": "6d80986170e396308e4e9c1865b97375c1769708"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View file

@ -176,7 +176,24 @@
currentLoadingBackdrop = instance;
}
function getItemImageUrls(item) {
var standardWidths = [480, 720, 1280, 1440, 1920];
function getBackdropMaxWidth() {
var width = dom.getWindowSize().innerWidth;
if (standardWidths.indexOf(width) !== -1) {
return width;
}
var roundScreenTo = 100;
width = Math.floor(width / roundScreenTo) * roundScreenTo;
return Math.min(width, 1920);
}
function getItemImageUrls(item, imageOptions) {
imageOptions = imageOptions || {};
var apiClient = connectionManager.getApiClient(item.ServerId);
@ -184,12 +201,12 @@
return item.BackdropImageTags.map(function (imgTag, index) {
return apiClient.getScaledImageUrl(item.Id, {
return apiClient.getScaledImageUrl(item.Id, Object.assign(imageOptions, {
type: "Backdrop",
tag: imgTag,
maxWidth: Math.min(dom.getWindowSize().innerWidth, 1920),
maxWidth: getBackdropMaxWidth(),
index: index
});
}));
});
}
@ -197,19 +214,19 @@
return item.ParentBackdropImageTags.map(function (imgTag, index) {
return apiClient.getScaledImageUrl(item.ParentBackdropItemId, {
return apiClient.getScaledImageUrl(item.ParentBackdropItemId, Object.assign(imageOptions, {
type: "Backdrop",
tag: imgTag,
maxWidth: Math.min(dom.getWindowSize().innerWidth, 1920),
maxWidth: getBackdropMaxWidth(),
index: index
});
}));
});
}
return [];
}
function getImageUrls(items) {
function getImageUrls(items, imageOptions) {
var list = [];
@ -219,7 +236,7 @@
for (var i = 0, length = items.length; i < length; i++) {
var itemImages = getItemImageUrls(items[i]);
var itemImages = getItemImageUrls(items[i], imageOptions);
itemImages.forEach(onImg);
}
@ -252,9 +269,9 @@
var rotationInterval;
var currentRotatingImages = [];
var currentRotationIndex = -1;
function setBackdrops(items, enableImageRotation) {
function setBackdrops(items, imageOptions, enableImageRotation) {
var images = getImageUrls(items);
var images = getImageUrls(items, imageOptions);
if (images.length) {
@ -307,11 +324,11 @@
currentRotationIndex = -1;
}
function setBackdrop(url) {
function setBackdrop(url, imageOptions) {
if (url) {
if (typeof url !== 'string') {
url = getImageUrls([url])[0];
url = getImageUrls([url], imageOptions)[0];
}
}

View file

@ -300,7 +300,7 @@ define(['browser'], function (browser) {
hlsVideoAudioCodecs.push('mp3');
}
if (browser.tizen) {
if (browser.tizen || options.supportsDts) {
videoAudioCodecs.push('dca');
videoAudioCodecs.push('dts');
}

View file

@ -15,7 +15,7 @@
user-select: none;
cursor: pointer;
z-index: 0;
padding: 0.85em 0.57em;
padding: 0.95em 0.64em;
font-weight: normal;
vertical-align: middle;
border: 0;
@ -50,13 +50,13 @@
.fab {
display: inline-flex;
border-radius: 50%;
background-color: rgb(170,170, 170);
background-color: rgba(170,170,190, .4);
padding: .6em;
box-sizing: border-box;
align-items: center;
justify-content: center;
text-align: center;
color: #222;
color: #fff;
margin: 0;
}

View file

@ -31,11 +31,14 @@
right: 0;
bottom: 0;
z-index: -1;
-webkit-filter: blur(20px);
}
.backdropImage {
/*-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
filter: blur(20px);*/
}
.libraryPage .header {
@ -291,6 +294,36 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
margin-right: 2em;
}
.detailPagePrimaryContent {
position: relative;
flex-grow: 1;
}
.detailLogo {
width: 300px;
height: 80px;
position: absolute;
top: 10%;
right: 20%;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
}
@media all and (max-width: 1400px) {
.detailLogo {
right: 10%;
}
}
@media all and (max-width: 1000px) {
.detailLogo {
display: none;
}
}
.itemDetailImage {
border: solid 1px transparent;
width: 280px;
@ -323,7 +356,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
.itemDetailImage {
height: 120px;
width: auto!important;
width: auto !important;
}
.btnPlaySimple {

View file

@ -16,14 +16,6 @@
$('#txtMetadataPath', page).val(config.MetadataPath || '');
$('#txtMetadataNetworkPath', page).val(config.MetadataNetworkPath || '');
$('#chkPeopleActors', page).checked(config.PeopleMetadataOptions.DownloadActorMetadata);
$('#chkPeopleComposers', page).checked(config.PeopleMetadataOptions.DownloadComposerMetadata);
$('#chkPeopleDirectors', page).checked(config.PeopleMetadataOptions.DownloadDirectorMetadata);
$('#chkPeopleProducers', page).checked(config.PeopleMetadataOptions.DownloadProducerMetadata);
$('#chkPeopleWriters', page).checked(config.PeopleMetadataOptions.DownloadWriterMetadata);
$('#chkPeopleOthers', page).checked(config.PeopleMetadataOptions.DownloadOtherPeopleMetadata);
$('#chkPeopleGuestStars', page).checked(config.PeopleMetadataOptions.DownloadGuestStarMetadata);
Dashboard.hideLoadingMsg();
}
@ -75,14 +67,6 @@
config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val();
config.FanartApiKey = $('#txtFanartApiKey', form).val();
config.PeopleMetadataOptions.DownloadActorMetadata = $('#chkPeopleActors', form).checked();
config.PeopleMetadataOptions.DownloadComposerMetadata = $('#chkPeopleComposers', form).checked();
config.PeopleMetadataOptions.DownloadDirectorMetadata = $('#chkPeopleDirectors', form).checked();
config.PeopleMetadataOptions.DownloadGuestStarMetadata = $('#chkPeopleGuestStars', form).checked();
config.PeopleMetadataOptions.DownloadProducerMetadata = $('#chkPeopleProducers', form).checked();
config.PeopleMetadataOptions.DownloadWriterMetadata = $('#chkPeopleWriters', form).checked();
config.PeopleMetadataOptions.DownloadOtherPeopleMetadata = $('#chkPeopleOthers', form).checked();
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
});

View file

@ -12,9 +12,12 @@
<div class="detailImageContainer">
</div>
<div class="detailPagePrimaryContent">
<div class="detailLogo"></div>
<div class="syncLocalContainer hide" style="margin-top: 1em; display: inline-flex; padding: 0 .5em;">
<label class="checkboxContainer" style="margin: 0;">
<input type="checkbox" is="emby-checkbox" class="chkOffline" />
<input type="checkbox" is="emby-checkbox" class="chkOffline"/>
<span>${MakeAvailableOffline}</span>
</label>
</div>

View file

@ -29,46 +29,6 @@
<div class="fieldDescription checkboxFieldDescription">${OptionSaveMetadataAsHiddenHelp}</div>
</div>
<div is="emby-collapse" title="${HeaderPeople}">
<div class="collapseContent">
<br />
<div>
<h3 class="checkboxListLabel">${HeaderDownloadPeopleMetadataFor}</h3>
<div class="checkboxList">
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleActors" data-filter="Sunday" />
<span>${OptionActors}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleComposers" data-filter="Sunday" />
<span>${OptionComposers}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleDirectors" data-filter="Sunday" />
<span>${OptionDirectors}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleGuestStars" data-filter="Sunday" />
<span>${OptionGuestStars}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleProducers" data-filter="Sunday" />
<span>${OptionProducers}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleWriters" data-filter="Sunday" />
<span>${OptionWriters}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDays" id="chkPeopleOthers" data-filter="Sunday" />
<span>${OptionOthers}</span>
</label>
</div>
<div class="fieldDescription checkboxFieldDescription">${HeaderDownloadPeopleMetadataForHelp}</div>
</div>
</div>
</div>
<div is="emby-collapse" title="${HeaderTV}">
<div class="collapseContent">
<div class="inputContainer">

View file

@ -111,11 +111,14 @@
window.scrollTo(0, 0);
renderImage(page, item, user);
renderLogo(page, item, ApiClient);
setInitialCollapsibleState(page, item, context, user);
renderDetails(page, item, context);
backdrop.setBackdrops([item], false);
backdrop.setBackdrops([item], {
blur: 48
}, false);
LibraryBrowser.renderDetailPageBackdrop(page, item, imageLoader);
@ -266,6 +269,42 @@
Dashboard.hideLoadingMsg();
}
function logoImageUrl(item, apiClient, options) {
options = options || {};
options.type = "Logo";
if (item.ImageTags && item.ImageTags.Logo) {
options.tag = item.ImageTags.Logo;
return apiClient.getScaledImageUrl(item.Id, options);
}
if (item.ParentLogoImageTag) {
options.tag = item.ParentLogoImageTag;
return apiClient.getScaledImageUrl(item.ParentLogoItemId, options);
}
return null;
}
function renderLogo(page, item, apiClient) {
var url = logoImageUrl(item, apiClient, {
maxWidth: 300
});
var detailLogo = page.querySelector('.detailLogo');
if (url) {
detailLogo.classList.remove('hide');
detailLogo.classList.add('lazy');
detailLogo.setAttribute('data-src', url);
imageLoader.lazyImage(detailLogo);
} else {
detailLogo.classList.add('hide');
}
}
function showRecordingFields(page, item, user) {
if (currentRecordingFields) {
@ -593,7 +632,7 @@
var dateAddedElement = page.querySelector('#dateAdded');
if (!item.IsFolder && item.Type !== 'Program' && item.Type !== 'TvChannel' && item.Type !== 'Trailer') {
if (!item.IsFolder && item.MediaType && item.Type !== 'Program' && item.Type !== 'TvChannel' && item.Type !== 'Trailer') {
dateAddedElement.classList.remove('hide');
dateAddedElement.innerHTML = globalize.translate('DateAddedValue', datetime.toLocaleDateString(datetime.parseISO8601Date(item.DateCreated)));
} else {
@ -1046,6 +1085,8 @@
var scrollX = false;
var isList = false;
var scrollClass = 'hiddenScrollX';
if (item.Type == "MusicAlbum") {
html = listView.getListViewHtml({
@ -1077,16 +1118,20 @@
}
else if (item.Type == "Season" || item.Type == "Episode") {
scrollX = item.Type == "Episode";
scrollClass = 'smoothScrollX';
html = cardBuilder.getCardsHtml({
items: result.Items,
shape: getThumbShape(false),
shape: getThumbShape(scrollX),
showTitle: true,
displayAsSpecial: item.Type == "Season" && item.IndexNumber,
playFromHere: true,
overlayText: true,
lazy: true,
showDetailsMenu: true,
overlayPlayButton: true
overlayPlayButton: true,
allowBottomPadding: !scrollX
});
}
else if (item.Type == "GameSystem") {
@ -1102,11 +1147,12 @@
var elem = page.querySelector('.childrenItemsContainer');
if (scrollX) {
elem.classList.add('hiddenScrollX');
elem.classList.add(scrollClass);
elem.classList.remove('vertical-wrap');
elem.classList.remove('vertical-list');
} else {
elem.classList.remove('hiddenScrollX');
elem.classList.remove('smoothScrollX');
if (isList) {
elem.classList.add('vertical-list');

View file

@ -1,6 +1,6 @@
.ui-body-b .raised {
background: rgba(170,170, 170, 1);
color: #222;
background: rgba(170,170,190, .4);
color: #fff;
}
.ui-body-a .raised {