diff --git a/src/controllers/itemdetailpage.js b/src/controllers/itemdetailpage.js
index e46a1d226..cd701a481 100644
--- a/src/controllers/itemdetailpage.js
+++ b/src/controllers/itemdetailpage.js
@@ -235,7 +235,20 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuild
var name = itemHelper.getDisplayName(item, {
includeParentInfo: !1
});
- html && !parentNameLast ? html += '
' + name + "
" : html = parentNameLast ? '' + name + "
" + html : '' + name + "
" + html, container.innerHTML = html, html.length ? container.classList.remove("hide") : container.classList.add("hide")
+
+ var offset = parentNameLast ? ".25em" : ".5em";
+ if (html && !parentNameLast) {
+ html += '' + name + '
';
+ } else {
+ html = '' + name + "
" + html;
+ }
+
+ if (item.OriginalTitle && item.OriginalTitle != item.Name) {
+ html += '' + item.OriginalTitle + '
';
+ }
+
+ container.innerHTML = html;
+ html.length ? container.classList.remove("hide") : container.classList.add("hide")
}
function setTrailerButtonVisibility(page, item) {
@@ -380,6 +393,18 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuild
}
}
+ function renderUserInfo(page, item) {
+ var lastPlayedElement = page.querySelector(".itemLastPlayed");
+
+ if (item.UserData && item.UserData.LastPlayedDate) {
+ lastPlayedElement.classList.remove("hide");
+ var datePlayed = datetime.parseISO8601Date(item.UserData.LastPlayedDate);
+ lastPlayedElement.innerHTML = globalize.translate("DatePlayed") + " " + datetime.toLocaleDateString(datePlayed) + " " + datetime.getDisplayTime(datePlayed);
+ } else {
+ lastPlayedElement.classList.add("hide");
+ }
+ }
+
function renderLinks(linksElem, item) {
var html = [];
if (item.DateCreated && itemHelper.enableDateAddedDisplay(item)) {
@@ -531,22 +556,64 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuild
}
function renderDetails(page, item, apiClient, context, isStatic) {
- renderSimilarItems(page, item, context), renderMoreFromSeason(page, item, apiClient), renderMoreFromArtist(page, item, apiClient), renderDirector(page, item, apiClient, context, isStatic), renderGenres(page, item, apiClient, context, isStatic), renderChannelGuide(page, apiClient, item);
+ renderSimilarItems(page, item, context);
+ renderMoreFromSeason(page, item, apiClient);
+ renderMoreFromArtist(page, item, apiClient);
+ renderDirector(page, item, apiClient, context, isStatic);
+ renderGenres(page, item, apiClient, context, isStatic);
+ renderChannelGuide(page, apiClient, item);
+
var taglineElement = page.querySelector(".tagline");
- item.Taglines && item.Taglines.length ? (taglineElement.classList.remove("hide"), taglineElement.innerHTML = item.Taglines[0]) : taglineElement.classList.add("hide");
- var overview = page.querySelector(".overview"),
- externalLinksElem = page.querySelector(".itemExternalLinks");
- "Season" !== item.Type && "MusicAlbum" !== item.Type && "MusicArtist" !== item.Type || (overview.classList.add("detailsHiddenOnMobile"), externalLinksElem.classList.add("detailsHiddenOnMobile")), renderOverview([overview], item);
- var i, length, itemMiscInfo = page.querySelectorAll(".itemMiscInfo-primary");
- for (i = 0, length = itemMiscInfo.length; i < length; i++) mediaInfo.fillPrimaryMediaInfo(itemMiscInfo[i], item, {
- interactive: !0,
- episodeTitle: !1,
- subtitles: !1
- }), itemMiscInfo[i].innerHTML && "SeriesTimer" !== item.Type ? itemMiscInfo[i].classList.remove("hide") : itemMiscInfo[i].classList.add("hide");
- for (itemMiscInfo = page.querySelectorAll(".itemMiscInfo-secondary"), i = 0, length = itemMiscInfo.length; i < length; i++) mediaInfo.fillSecondaryMediaInfo(itemMiscInfo[i], item, {
- interactive: !0
- }), itemMiscInfo[i].innerHTML ? itemMiscInfo[i].classList.remove("hide") : itemMiscInfo[i].classList.add("hide");
- reloadUserDataButtons(page, item), renderLinks(externalLinksElem, item), renderTags(page, item), renderSeriesAirTime(page, item, isStatic)
+ if (item.Taglines && item.Taglines.length) {
+ taglineElement.classList.remove("hide");
+ taglineElement.innerHTML = item.Taglines[0];
+ } else {
+ taglineElement.classList.add("hide");
+ }
+
+ var overview = page.querySelector(".overview");
+ var externalLinksElem = page.querySelector(".itemExternalLinks");
+
+ if ("Season" !== item.Type && "MusicAlbum" !== item.Type && "MusicArtist" !== item.Type) {
+ overview.classList.add("detailsHiddenOnMobile");
+ externalLinksElem.classList.add("detailsHiddenOnMobile");
+ }
+ renderOverview([overview], item);
+
+ var i, itemMiscInfo;
+ itemMiscInfo = page.querySelectorAll(".itemMiscInfo-primary");
+ for (i = 0; i < itemMiscInfo.length; i++) {
+ mediaInfo.fillPrimaryMediaInfo(itemMiscInfo[i], item, {
+ interactive: !0,
+ episodeTitle: !1,
+ subtitles: !1
+ });
+
+ if (itemMiscInfo[i].innerHTML && "SeriesTimer" !== item.Type) {
+ itemMiscInfo[i].classList.remove("hide");
+ } else {
+ itemMiscInfo[i].classList.add("hide");
+ }
+ }
+
+ itemMiscInfo = page.querySelectorAll(".itemMiscInfo-secondary")
+ for (i = 0; i < itemMiscInfo.length; i++) {
+ mediaInfo.fillSecondaryMediaInfo(itemMiscInfo[i], item, {
+ interactive: !0
+ })
+
+ if (itemMiscInfo[i].innerHTML && "SeriesTimer" !== item.Type) {
+ itemMiscInfo[i].classList.remove("hide");
+ } else {
+ itemMiscInfo[i].classList.add("hide");
+ }
+ }
+
+ reloadUserDataButtons(page, item);
+ renderLinks(externalLinksElem, item);
+ renderUserInfo(page, item);
+ renderTags(page, item);
+ renderSeriesAirTime(page, item, isStatic)
}
function enableScrollX() {
diff --git a/src/itemdetails.html b/src/itemdetails.html
index 45e4a40df..1af02d239 100644
--- a/src/itemdetails.html
+++ b/src/itemdetails.html
@@ -30,6 +30,10 @@
+
+
+
+
@@ -191,6 +195,7 @@