rework detail page a little

This commit is contained in:
Luke Pulverenti 2015-02-02 23:54:52 -05:00
parent 0eb55addaa
commit 911880340e
28 changed files with 464 additions and 179 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 B

View File

@ -50,13 +50,8 @@
@media all and (max-width: 1200px) { @media all and (max-width: 1200px) {
.libraryPage > .ui-content { .libraryPage > .ui-content {
padding-left: .4em !important; padding-left: .5em !important;
padding-right: .4em !important; padding-right: .5em !important;
}
.detailSection {
margin-left: .25em;
margin-right: .25em;
} }
} }
@ -140,10 +135,14 @@
} }
.detailButtonsContainer { .detailButtonsContainer {
padding: .35em 0 .35em; padding: 0 0 .5em;
text-align: center; text-align: center;
} }
.detailButtonsContainer a, .detailButtonsContainer button {
margin-top: 0;
}
.viewSettings { .viewSettings {
margin: 0 0 .25em; margin: 0 0 .25em;
text-align: center; text-align: center;
@ -260,7 +259,7 @@
display: inline-block; display: inline-block;
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
padding: 2px 4px; padding: 1px 6px 0;
border-radius: 2px; border-radius: 2px;
} }
@ -371,7 +370,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
background-size: cover; background-size: cover;
background-position: center 15%; background-position: center 15%;
background-repeat: no-repeat; background-repeat: no-repeat;
height: 600px; height: 500px;
position: relative; position: relative;
} }
@ -384,14 +383,11 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
} }
.noBackdrop { .noBackdrop {
height: auto; height: 260px;
border: 0;
} }
.noBackdrop .itemBackdropContent { .noBackdrop .itemBackdropContent {
background-color: transparent; background-color: transparent;
position: static;
margin-top: 1em;
} }
.lnkSibling { .lnkSibling {
@ -410,12 +406,10 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
text-decoration: underline; text-decoration: underline;
} }
@media all and (max-width: 1000px) { .lnkSibling:not(.hide) {
display: block;
.lnkSibling {
display: none !important;
} }
}
.lnkPreviousItem { .lnkPreviousItem {
left: 10px; left: 10px;
@ -425,19 +419,34 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
right: 0; right: 0;
} }
.detailImageContainer {
position: absolute;
}
.detailImageContainer {
top: -66px;
}
.itemDetailImage { .itemDetailImage {
max-height: 280px;
max-width: 320px;
-moz-box-shadow: 0px 0 20px #000; -moz-box-shadow: 0px 0 20px #000;
-webkit-box-shadow: 0px 0 20px #000; -webkit-box-shadow: 0px 0 20px #000;
box-shadow: 0px 0 20px #000; box-shadow: 0px 0 20px #000;
border: solid 1px #222; border: solid 1px #222;
margin-top: -20px;
margin-bottom: 10px;
} }
.noBackdrop .itemDetailImage { .thumbDetailImage {
margin-top: 0; max-width: 360px;
max-height: 360px;
}
.squareDetailImage {
max-width: 240px;
max-height: 240px;
}
.portraitDetailImage {
max-width: 240px;
max-height: 360px;
} }
.itemDetailGalleryLink img:hover { .itemDetailGalleryLink img:hover {
@ -446,9 +455,31 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
box-shadow: 0 0 20px 3px #38c; box-shadow: 0 0 20px 3px #38c;
} }
.itemByNameImageContainer .itemDetailImage { .detailContentEffectedByThumbImage:not(.lastDetailContentEffectedByImage) {
margin: 0 !important; margin-left: 380px;
max-height: 220px; }
.detailContentEffectedBySquareImage:not(.lastDetailContentEffectedByImage) {
margin-left: 260px;
}
.detailContentEffectedByPortraitImage {
margin-left: 260px;
}
.detailContentEffectedByImage a {
}
.lastDetailContentEffectedByImage.detailContentEffectedByThumbImage {
padding: 0 .5em;
}
.lastDetailContentEffectedByImage.detailContentEffectedBySquareImage {
padding: 0 .5em;
}
.lastDetailContentEffectedByImage.detailContentEffectedByPortraitImage {
min-height: 140px;
} }
.parentName { .parentName {
@ -457,6 +488,57 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
margin-bottom: .5em; margin-bottom: .5em;
} }
@media all and (min-width: 800px) {
.lastDetailContentEffectedByImage.detailContentEffectedBySquareImage {
margin-top: 2em;
}
}
@media all and (max-width: 1000px) {
.detailImageContainer {
margin-left: 20px;
}
.thumbDetailImage {
max-width: 340px;
}
.squareDetailImage {
max-width: 220px;
}
.portraitDetailImage {
max-width: 220px;
}
.lastDetailContentEffectedByImage.detailContentEffectedByPortraitImage {
min-height: 110px;
}
}
@media all and (max-width: 800px) {
.detailContentEffectedByThumbImage {
margin-left: 0 !important;
padding: 0 1em;
}
.detailContentEffectedBySquareImage {
margin-left: 0 !important;
padding: 0 1em;
}
.detailContentEffectedByPortraitImage {
margin-left: 0 !important;
padding: 0 1em;
}
.parentName {
margin-bottom: 1em;
}
}
.inlineItemName { .inlineItemName {
font-size: 22px; font-size: 22px;
} }
@ -609,7 +691,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
.detailImageProgressContainer { .detailImageProgressContainer {
position: absolute; position: absolute;
bottom: 10px; bottom: 3px;
right: 0; right: 0;
left: 0; left: 0;
text-align: center; text-align: center;
@ -642,19 +724,13 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
display: none; display: none;
} }
.itemBackdrop { .itemBackdrop:not(.noBackdrop) {
height: auto; height: 280px;
}
.itemBackdropContent {
position: static;
padding: 1em 1em .5em;
} }
.itemDetailImage { .itemDetailImage {
max-height: 240px; max-height: 240px;
max-width: 100px; max-width: 100px;
margin-top: 0;
} }
.mobileOverview:not(.hide), .mobileGenres, .mobileDetailButtons { .mobileOverview:not(.hide), .mobileGenres, .mobileDetailButtons {
@ -669,34 +745,28 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
font-size: 18px; font-size: 18px;
} }
.inlineItemName + .itemMiscInfo { .primaryDetailPageContent p {
margin-left: 0 !important; margin: 1em 0 !important;
margin-top: 1em;
display: block !important;
}
.primaryDetailPageContent .userDataIcons {
margin-left: 0 !important;
margin-top: 1em;
display: block;
}
}
@media all and (min-width: 750px) {
.lnkSibling:not(.hide) {
display: block;
} }
.itemBackdrop:not(.noBackdrop) { .backdropDetailPageContent {
border-bottom: 1px solid #111; text-align: center;
}
.detailImageContainer {
display: none;
}
.noBackdrop .detailImageContainer {
display: block;
position: static;
text-align: center;
} }
} }
@media all and (min-width: 750px) { @media all and (min-width: 750px) {
.detailPageContent { .detailPageContent {
max-width: 900px; max-width: 1000px;
width: auto; width: auto;
} }
} }
@ -1312,3 +1382,27 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
margin-right: 1em; margin-right: 1em;
} }
} }
.smallDetailImageContainer img {
-moz-box-shadow: 0px 0 20px #000;
-webkit-box-shadow: 0px 0 20px #000;
box-shadow: 0px 0 20px #000;
border: solid 1px #222;
max-width: 240px;
max-height: 240px;
}
@media all and (max-width: 800px) {
.smallDetailImageContainer img {
max-width: 120px;
max-height: 120px;
}
}
@media all and (max-width: 1000px) {
.smallDetailImageContainer {
padding-left: 1em;
}
}

View File

@ -186,10 +186,6 @@
color: #fff !important; color: #fff !important;
} }
.musicViewMenu {
background-image: url(images/items/folders/music.png);
}
.homeViewMenu { .homeViewMenu {
background-image: url(images/mblogoicon.png) !important; background-image: url(images/mblogoicon.png) !important;
background-size: 39px 26px !important; background-size: 39px 26px !important;

View File

@ -123,9 +123,13 @@
padding: 1em 2em; padding: 1em 2em;
} }
.btn-large i { .btn.btn-inline {
font-size: 1.6rem; padding: .6em 1.25em .6em 34px;
} }
.btn-large i {
font-size: 1.6rem;
}
.btn-floating-large i { .btn-floating-large i {
font-size: 1.6rem; font-size: 1.6rem;
@ -155,6 +159,10 @@
font-family: Roboto !important; font-family: Roboto !important;
} }
.btnSmall {
font-size: 13px;
}
.btnCancel { .btnCancel {
background-color: #444; background-color: #444;
} }
@ -172,6 +180,7 @@
display: inline-block; display: inline-block;
width: auto; width: auto;
margin-bottom: 0; margin-bottom: 0;
padding: .6em .5em .6em .5em!important;
} }
button.btn:not(.btn-inline), button.btn-large:not(.btn-inline) { button.btn:not(.btn-inline), button.btn-large:not(.btn-inline) {
@ -182,7 +191,7 @@ button.btn:not(.btn-inline), button.btn-large:not(.btn-inline) {
vertical-align: middle; vertical-align: middle;
} }
.btn i { .btn:not(.btn-inline):not(.btnNoText) i {
position: absolute; position: absolute;
left: 10px; left: 10px;
} }
@ -192,3 +201,11 @@ button.btn:not(.btn-inline), button.btn-large:not(.btn-inline) {
left: 24px; left: 24px;
top: 22px; top: 22px;
} }
.btnNoText {
padding: .6em .5em!important;
}
.btnNoText {
border-radius: 5px;
}

View File

@ -1001,11 +1001,12 @@ progress {
.accentButton { .accentButton {
display: inline-block; display: inline-block;
background: rgba(51, 136, 204, .8); background: rgba(51, 136, 204, .9);
border-radius: 1000px; border-radius: 1000px;
padding: 4px 10px; padding: 4px 10px;
color: #fff !important; color: #fff !important;
font-weight: normal !important; font-size: 13px;
font-weight: 400 !important;
text-decoration: none; text-decoration: none;
vertical-align: middle; vertical-align: middle;
border: 0; border: 0;

View File

@ -415,14 +415,6 @@
position: relative; position: relative;
} }
.posterItemDefaultText {
position: absolute;
top: 30%;
left: 0;
right: 0;
text-align: center;
}
.myLibraryPosterItem { .myLibraryPosterItem {
width: 42%; width: 42%;
min-width: 50px; min-width: 50px;
@ -436,12 +428,17 @@
background-color: rgba(82, 181, 75, 0.7); background-color: rgba(82, 181, 75, 0.7);
} }
.myLibraryPosterItem .posterItemDefaultText { .myLibraryPosterItem .posterItemText {
top: 0; top: 0;
left: 0; left: 0;
line-height: 34px; line-height: 34px;
text-align: left; text-align: left;
padding: 0 0 0 34px; padding: 0 0 0 12px;
position: absolute;
}
.myLibraryPosterItem i {
margin-right: 10px;
} }
.moviesPosterItem .posterItemImage, .trailersPosterItem .posterItemImage { .moviesPosterItem .posterItemImage, .trailersPosterItem .posterItemImage {
@ -479,6 +476,7 @@
.musicvideosPosterItem .posterItemImage { .musicvideosPosterItem .posterItemImage {
background-color: rgba(143, 54, 168, 0.7); background-color: rgba(143, 54, 168, 0.7);
} }
@media all and (min-width: 600px) { @media all and (min-width: 600px) {
.myLibraryPosterItem { .myLibraryPosterItem {
@ -487,6 +485,7 @@
min-width: 160px; min-width: 160px;
} }
} }
@media all and (min-width: 1000px) { @media all and (min-width: 1000px) {
.myLibraryPosterItem { .myLibraryPosterItem {
@ -494,4 +493,4 @@
/* Specify a min width just in case the container doesn't have a width */ /* Specify a min width just in case the container doesn't have a width */
min-width: 220px; min-width: 220px;
} }
} }

View File

@ -123,7 +123,7 @@
<table class="detailPageContent primaryDetailPageContent"> <table class="detailPageContent primaryDetailPageContent">
<tr> <tr>
<td style="vertical-align: top; padding: 0 1em 0 0;"> <td style="vertical-align: top; padding: 0 1em 0 0;">
<div id="itemImage" class="itemImageContainer itemByNameImageContainer"></div> <div id="itemImage" class="itemImageContainer smallDetailImageContainer"></div>
</td> </td>
<td style="vertical-align: top; padding: 0;"> <td style="vertical-align: top; padding: 0;">
<p style="margin-top:0;"><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p> <p style="margin-top:0;"><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p>

View File

@ -109,56 +109,36 @@
<div id="itemBackdrop" class="itemBackdrop noBackdrop"> <div id="itemBackdrop" class="itemBackdrop noBackdrop">
<div class="itemBackdropContent"> <div class="itemBackdropContent">
<table class="detailPageContent primaryDetailPageContent">
<tr> <div class="detailPageContent primaryDetailPageContent backdropDetailPageContent">
<td style="vertical-align: top; padding: 0 .8em 0 0;">
<div class="itemImageContainer"> <div class="detailImageContainer">
<div id="itemImage"> </div>
</div>
</div> <div class="detailContentEffectedByImage">
</td> <p><span class="parentName"></span><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p>
<td style="vertical-align: top; padding: 0; position: relative;"> <p style="margin:1.1em 0">
<p><span class="parentName"></span><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p> <span class="itemCommunityRating"></span>
<p> <span class="userDataIcons"></span>
<span class="itemCommunityRating"></span> </p>
<span class="userDataIcons"></span>
</p> <div class="detailButtonsContainer desktopDetailButtons" style="text-align:left;">
<p id="artist"></p> <span class="missingIndicator" style="margin: 0 .5em; display: none;">
<p class="itemGenres desktopGenres"></p> <span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span>
<p class="itemOverview desktopOverview"></p> </span>
<div class="detailButtonsContainer desktopDetailButtons" style="text-align: left;"> <span class="offlineIndicator" style="margin: 0 .5em; display: none;">
<span class="missingIndicator" style="margin: 0 .5em; display: none;"> <span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span>
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span> </span>
</span> <button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
<span class="offlineIndicator" style="margin: 0 .5em; display: none;"> <button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button>
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span> <a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a>
</span> <a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a>
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button> <a class="btnSync hide" data-role="button" data-icon="cloud" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
<button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button> <button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonMore}</button>
<a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a> </div>
<a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a> </div>
<a class="btnSync hide" data-role="button" data-icon="cloud" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
</div>
</td>
</tr>
</table>
<div class="detailButtonsContainer mobileDetailButtons">
<span class="missingIndicator" style="margin: 0 .5em; display: none;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span>
</span>
<span class="offlineIndicator" style="margin: 0 .5em; display: none;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span>
</span>
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
<button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button>
<a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a>
<a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a>
<a class="btnSync hide" data-role="button" data-icon="cloud" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
</div> </div>
<p class="itemGenres mobileGenres"></p>
<p class="itemOverview mobileOverview"></p>
</div> </div>
<a href="#" id="lnkPreviousItem" class="lnkPreviousItem lnkSibling hide" data-role="button" title="${ButtonPrevious}" data-icon="carat-l" data-mini="true" data-inline="true" data-iconpos="notext">${ButtonPrevious}</a> <a href="#" id="lnkPreviousItem" class="lnkPreviousItem lnkSibling hide" data-role="button" title="${ButtonPrevious}" data-icon="carat-l" data-mini="true" data-inline="true" data-iconpos="notext">${ButtonPrevious}</a>
<a href="#" id="lnkNextItem" class="lnkNextItem lnkSibling hide" data-role="button" title="${ButtonNext}" data-icon="carat-r" data-mini="true" data-inline="true" data-iconpos="notext">${ButtonNext}</a> <a href="#" id="lnkNextItem" class="lnkNextItem lnkSibling hide" data-role="button" title="${ButtonNext}" data-icon="carat-r" data-mini="true" data-inline="true" data-iconpos="notext">${ButtonNext}</a>
@ -166,7 +146,29 @@
<div data-role="content"> <div data-role="content">
<div class="detailPageContent"> <div class="detailPageContent">
<br /> <div class="detailSection" style="margin-bottom:1.5em;">
<div class="detailSectionContent detailContentEffectedByImage lastDetailContentEffectedByImage">
<div class="detailButtonsContainer mobileDetailButtons">
<span class="missingIndicator" style="margin: 0 .5em; display: none;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span>
</span>
<span class="offlineIndicator" style="margin: 0 .5em; display: none;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span>
</span>
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
<button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button>
<a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a>
<a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a>
<a class="btnSync hide" data-role="button" data-icon="cloud" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonMore}</button>
</div>
<p id="artist"></p>
<p class="itemGenres"></p>
<p class="itemOverview"></p>
<p id="seriesAirTime"></p>
</div>
</div>
<div class="collectionItems"></div> <div class="collectionItems"></div>
<div id="childrenCollapsible" class="hide detailSection"> <div id="childrenCollapsible" class="hide detailSection">
<div class="detailSectionHeader"> <div class="detailSectionHeader">
@ -188,21 +190,19 @@
</div> </div>
<div id="castContent" class="detailSectionContent"></div> <div id="castContent" class="detailSectionContent"></div>
</div> </div>
<div class="detailSection detailCollapsibleSection detailsSection"> <div class="detailSection detailsSection">
<div data-role="collapsible" class="detailPageCollabsible" data-content-theme="false"> <div class="detailSectionHeader">
<h2>${HeaderDetails}</h2> ${HeaderDetails}
<div> </div>
<div class="tabDetails"> <div class="detailSectionContent" style="padding:0 1em;">
<p id="players"></p> <div class="tabDetails">
<p id="seriesAirTime"></p> <p id="players"></p>
<p id="itemBudget"></p> <p id="itemBudget"></p>
<p id="itemRevenue"></p> <p id="itemRevenue"></p>
<p class="itemExternalLinks"></p> <p class="itemExternalLinks"></p>
<p class="itemStudios"></p>
<p class="itemStudios"></p> <p class="itemKeywords"></p>
<p class="itemKeywords"></p> <p class="itemTags"></p>
<p class="itemTags"></p>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -13,8 +13,8 @@
<a href="livetvtimers.html">${TabScheduled}</a> <a href="livetvtimers.html">${TabScheduled}</a>
<a href="livetvseriestimers.html">${TabSeries}</a> <a href="livetvseriestimers.html">${TabSeries}</a>
</div> </div>
<div id="itemBackdrop" class="itemBackdrop noBackdrop"> <div>
<div class="itemBackdropContent"> <div>
<table class="detailPageContent primaryDetailPageContent"> <table class="detailPageContent primaryDetailPageContent">
<tr> <tr>
<td style="vertical-align: top; padding: 0 1em 0 0;"> <td style="vertical-align: top; padding: 0 1em 0 0;">

View File

@ -25,42 +25,42 @@
var item = items[i]; var item = items[i];
var imgUrl; var icon;
switch (item.CollectionType) { switch (item.CollectionType) {
case "movies": case "movies":
imgUrl = "css/images/items/folders/movies.png"; icon = "fa-film";
break; break;
case "music": case "music":
imgUrl = "css/images/items/folders/music.png"; icon = "fa-music";
break; break;
case "photos": case "photos":
imgUrl = "css/images/items/folders/photos.png"; icon = "fa-photo";
break; break;
case "livetv": case "livetv":
case "tvshows": case "tvshows":
imgUrl = "css/images/items/folders/tv.png"; icon = "fa-video-camera";
break; break;
case "games": case "games":
imgUrl = "css/images/items/folders/games.png"; icon = "fa-gamepad";
break; break;
case "trailers": case "trailers":
imgUrl = "css/images/items/folders/movies.png"; icon = "fa-film";
break; break;
case "homevideos": case "homevideos":
imgUrl = "css/images/items/folders/homevideos.png"; icon = "fa-video-camera";
break; break;
case "musicvideos": case "musicvideos":
imgUrl = "css/images/items/folders/musicvideos.png"; icon = "fa-video-camera";
break; break;
case "books": case "books":
imgUrl = "css/images/items/folders/books.png"; icon = "fa-book";
break; break;
case "channels": case "channels":
imgUrl = "css/images/items/folders/channels.png"; icon = "fa-video-camera";
break; break;
default: default:
imgUrl = "css/images/items/folders/folder.png"; icon = "fa-folder-o";
break; break;
} }
@ -75,14 +75,13 @@
html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" href="' + href + '">'; html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" href="' + href + '">';
var style = 'background-image:url(\'' + imgUrl + '\');';
var imageCssClass = ''; var imageCssClass = '';
html += '<div class="posterItemImage ' + imageCssClass + '" style="' + style + '">'; html += '<div class="posterItemImage ' + imageCssClass + '">';
html += '</div>'; html += '</div>';
html += "<div class='posterItemDefaultText posterItemText'>"; html += "<div class='posterItemDefaultText posterItemText'>";
html += '<i class="fa ' + icon + '"></i>';
html += item.Name; html += item.Name;
html += "</div>"; html += "</div>";

View File

@ -146,7 +146,7 @@
var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemimages.html?id=" + item.Id : ""; var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemimages.html?id=" + item.Id : "";
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, imageHref)); LibraryBrowser.renderDetailImage($('.detailImageContainer', page), item, imageHref);
} }
function onWebSocketMessage(e, data) { function onWebSocketMessage(e, data) {

View File

@ -299,6 +299,10 @@
var commands = []; var commands = [];
if (BoxSetEditor.supportsAddingToCollection(item)) {
commands.push('addtocollection');
}
if (PlaylistManager.supportsPlaylists(item)) { if (PlaylistManager.supportsPlaylists(item)) {
commands.push('playlist'); commands.push('playlist');
} }
@ -377,6 +381,10 @@
html += '<ul data-role="listview" style="min-width: 180px;">'; html += '<ul data-role="listview" style="min-width: 180px;">';
html += '<li data-role="list-divider">' + Globalize.translate('HeaderMenu') + '</li>'; html += '<li data-role="list-divider">' + Globalize.translate('HeaderMenu') + '</li>';
if (commands.indexOf('addtocollection') != -1) {
html += '<li><a href="#" onclick="$(\'.playFlyout\').popup(\'close\');BoxSetEditor.showPanel([\'' + itemId + '\']);">' + Globalize.translate('ButtonAddToCollection') + '</a></li>';
}
if (commands.indexOf('playlist') != -1) { if (commands.indexOf('playlist') != -1) {
html += '<li><a href="#" onclick="$(\'.playFlyout\').popup(\'close\');PlaylistManager.showPanel([\'' + itemId + '\']);">' + Globalize.translate('ButtonAddToPlaylist') + '</a></li>'; html += '<li><a href="#" onclick="$(\'.playFlyout\').popup(\'close\');PlaylistManager.showPanel([\'' + itemId + '\']);">' + Globalize.translate('ButtonAddToPlaylist') + '</a></li>';
} }
@ -2118,13 +2126,13 @@
var url; var url;
var imageHeight = 280; var imageHeight = 360;
if (preferThumb && imageTags.Thumb) { if (preferThumb && imageTags.Thumb) {
url = ApiClient.getScaledImageUrl(item.Id, { url = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb", type: "Thumb",
maxHeight: imageHeight, height: imageHeight,
tag: item.ImageTags.Thumb tag: item.ImageTags.Thumb
}); });
} }
@ -2132,7 +2140,7 @@
url = ApiClient.getScaledImageUrl(item.Id, { url = ApiClient.getScaledImageUrl(item.Id, {
type: "Primary", type: "Primary",
maxHeight: imageHeight, height: imageHeight,
tag: item.ImageTags.Primary tag: item.ImageTags.Primary
}); });
} }
@ -2140,7 +2148,7 @@
url = ApiClient.getScaledImageUrl(item.Id, { url = ApiClient.getScaledImageUrl(item.Id, {
type: "Backdrop", type: "Backdrop",
maxHeight: imageHeight, height: imageHeight,
tag: item.BackdropImageTags[0] tag: item.BackdropImageTags[0]
}); });
} }
@ -2148,7 +2156,7 @@
url = ApiClient.getScaledImageUrl(item.Id, { url = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb", type: "Thumb",
maxHeight: imageHeight, height: imageHeight,
tag: item.ImageTags.Thumb tag: item.ImageTags.Thumb
}); });
} }
@ -2156,7 +2164,7 @@
url = ApiClient.getScaledImageUrl(item.Id, { url = ApiClient.getScaledImageUrl(item.Id, {
type: "Disc", type: "Disc",
maxHeight: imageHeight, height: imageHeight,
tag: item.ImageTags.Disc tag: item.ImageTags.Disc
}); });
} }
@ -2164,7 +2172,7 @@
url = ApiClient.getScaledImageUrl(item.AlbumId, { url = ApiClient.getScaledImageUrl(item.AlbumId, {
type: "Primary", type: "Primary",
maxHeight: imageHeight, height: imageHeight,
tag: item.AlbumPrimaryImageTag tag: item.AlbumPrimaryImageTag
}); });
@ -2218,6 +2226,175 @@
return html; return html;
}, },
renderDetailImage: function (elem, item, href, preferThumb) {
var imageTags = item.ImageTags || {};
if (item.PrimaryImageTag) {
imageTags.Primary = item.PrimaryImageTag;
}
var html = '';
var url;
var shape = 'portrait';
var imageHeight = 360;
var detectRatio = false;
if (preferThumb && imageTags.Thumb) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb",
height: imageHeight,
tag: item.ImageTags.Thumb
});
shape = 'thumb';
}
else if (imageTags.Primary) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Primary",
height: imageHeight,
tag: item.ImageTags.Primary
});
detectRatio = true;
}
else if (item.BackdropImageTags && item.BackdropImageTags.length) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Backdrop",
height: imageHeight,
tag: item.BackdropImageTags[0]
});
shape = 'thumb';
}
else if (imageTags.Thumb) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb",
height: imageHeight,
tag: item.ImageTags.Thumb
});
shape = 'thumb';
}
else if (imageTags.Disc) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Disc",
height: imageHeight,
tag: item.ImageTags.Disc
});
shape = 'square';
}
else if (item.AlbumId && item.AlbumPrimaryImageTag) {
url = ApiClient.getScaledImageUrl(item.AlbumId, {
type: "Primary",
height: imageHeight,
tag: item.AlbumPrimaryImageTag
});
shape = 'square';
}
else if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicGenre") {
url = "css/images/items/detail/audio.png";
shape = 'square';
}
else if (item.MediaType == "Game" || item.Type == "GameGenre") {
url = "css/images/items/detail/game.png";
shape = 'square';
}
else if (item.Type == "Person") {
url = "css/images/items/detail/person.png";
shape = 'square';
}
else if (item.Type == "Genre" || item.Type == "Studio") {
url = "css/images/items/detail/video.png";
shape = 'square';
}
else if (item.Type == "TvChannel") {
url = "css/images/items/detail/tv.png";
shape = 'square';
}
else {
url = "css/images/items/detail/video.png";
shape = 'square';
}
if (!href) {
href = "itemgallery.html?id=" + item.Id;
}
var linkToGallery = LibraryBrowser.shouldDisplayGallery(item);
html += '<div style="position:relative;">';
if (linkToGallery) {
html += "<a class='itemDetailGalleryLink' href='" + href + "'>";
}
if (detectRatio && item.PrimaryImageAspectRatio) {
if (Math.abs(item.PrimaryImageAspectRatio - 1.777777778) < .3) {
shape = 'thumb';
} else if (Math.abs(item.PrimaryImageAspectRatio - 1) < .2) {
shape = 'square';
}
}
var imgCssClass = 'itemDetailImage';
if (shape == 'thumb') {
imgCssClass += ' thumbDetailImage';
}
else if (shape == 'square') {
imgCssClass += ' squareDetailImage';
} else {
imgCssClass += ' portraitDetailImage';
}
html += "<img class='" + imgCssClass + "' src='" + url + "' />";
if (linkToGallery) {
html += "</a>";
}
var progressHtml = item.IsFolder ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
if (progressHtml) {
html += '<div class="detailImageProgressContainer">';
html += progressHtml;
html += "</div>";
}
html += "</div>";
elem.html(html);
var page = $(elem).parents('.page');
var detailContentEffectedByImage = $('.detailContentEffectedByImage', page);
if (shape == 'thumb') {
detailContentEffectedByImage.addClass('detailContentEffectedByThumbImage');
detailContentEffectedByImage.removeClass('detailContentEffectedBySquareImage');
detailContentEffectedByImage.removeClass('detailContentEffectedByPortraitImage');
detailContentEffectedByImage.addClass('detailContentEffectedByThumbImage');
detailContentEffectedByImage.removeClass('detailContentEffectedBySquareImage');
detailContentEffectedByImage.removeClass('detailContentEffectedByPortraitImage');
}
else if (shape == 'square') {
detailContentEffectedByImage.removeClass('detailContentEffectedByThumbImage');
detailContentEffectedByImage.addClass('detailContentEffectedBySquareImage');
detailContentEffectedByImage.removeClass('detailContentEffectedByPortraitImage');
} else {
detailContentEffectedByImage.removeClass('detailContentEffectedByThumbImage');
detailContentEffectedByImage.removeClass('detailContentEffectedBySquareImage');
detailContentEffectedByImage.addClass('detailContentEffectedByPortraitImage');
}
},
getMiscInfoHtml: function (item) { getMiscInfoHtml: function (item) {
var miscInfo = []; var miscInfo = [];

View File

@ -27,7 +27,7 @@
userId: userId, userId: userId,
TargetId: target, TargetId: target,
Quality: $('#selectQuality', form).val(), Quality: $('#selectQuality', form).val() || null,
Name: $('#txtSyncJobName', form).val(), Name: $('#txtSyncJobName', form).val(),
@ -108,14 +108,16 @@
html += '<br/>'; html += '<br/>';
html += '<div>'; if (result.Options.indexOf('Quality') != -1) {
html += '<label for="selectQuality">' + Globalize.translate('LabelQuality') + '</label>'; html += '<div>';
html += '<select id="selectQuality" data-mini="true">'; html += '<label for="selectQuality">' + Globalize.translate('LabelQuality') + '</label>';
html += '<option value="High">' + Globalize.translate('OptionHigh') + '</option>'; html += '<select id="selectQuality" data-mini="true">';
html += '<option value="Medium">' + Globalize.translate('OptionMedium') + '</option>'; html += '<option value="High">' + Globalize.translate('OptionHigh') + '</option>';
html += '<option value="Low">' + Globalize.translate('OptionLow') + '</option>'; html += '<option value="Medium">' + Globalize.translate('OptionMedium') + '</option>';
html += '</select>'; html += '<option value="Low">' + Globalize.translate('OptionLow') + '</option>';
html += '</div>'; html += '</select>';
html += '</div>';
}
//html += '<div data-role="collapsible" style="margin:1.5em 0">'; //html += '<div data-role="collapsible" style="margin:1.5em 0">';
//html += '<h2>' + Globalize.translate('HeaderSettings') + '</h2>'; //html += '<h2>' + Globalize.translate('HeaderSettings') + '</h2>';