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

added new studio image provider

This commit is contained in:
Luke Pulverenti 2013-12-29 00:32:03 -05:00
parent f9ec680145
commit dfec6b307b
16 changed files with 95 additions and 128 deletions

View file

@ -63,9 +63,12 @@
<div data-role="collapsible" data-collapsed="false" style="margin-top: 2em;">
<h3>Rating and Reviews</h3>
<div>
<br />
<div id="ratingLine"></div>
<div id="latestReviews"></div>
</div>
</div>
<div data-role="collapsible" data-collapsed="false" style="margin-top: 2em;">
<h3>Developer Info</h3>

View file

@ -108,7 +108,6 @@
margin-top: .5em;
margin-bottom: 0;
padding-left: 7px;
text-transform: uppercase;
}
.libraryViewNav {

View file

@ -288,11 +288,11 @@ input[type="range"]::-ms-fill-upper {
}
.positionSliderContainer {
width: 400px;
width: 300px;
}
.itemVideo {
left: -560px;
left: -420px;
}
}
@ -301,12 +301,8 @@ input[type="range"]::-ms-fill-upper {
width: 500px;
}
.positionSliderContainer {
width: 500px;
}
.itemVideo {
left: -660px;
left: -420px;
}
}
@ -315,11 +311,7 @@ input[type="range"]::-ms-fill-upper {
width: 550px;
}
.positionSliderContainer {
width: 550px;
}
.itemVideo {
left: -710px;
left: -400px;
}
}

View file

@ -8,7 +8,6 @@
text-decoration: none;
text-align: left;
overflow: hidden;
border: 2px solid #1b1b1b;
-webkit-transition: all 500ms ease;
-moz-transition: all 500ms ease;
-o-transition: all 500ms ease;
@ -17,13 +16,12 @@
}
.posterItem:hover {
-moz-box-shadow: 0 0 20px 3px #2572EB;
-webkit-box-shadow: 0 0 20px 3px #2572EB;
box-shadow: 0 0 20px 3px #2572EB;
-moz-box-shadow: 0 0 20px 3px #52B54B;
-webkit-box-shadow: 0 0 20px 3px #52B54B;
box-shadow: 0 0 20px 3px #52B54B;
}
.smallBackdropPosterItem, .smallPosterItem {
margin: 3px;
}
@ -33,6 +31,8 @@
background-repeat: no-repeat;
background-position: center bottom;
background-color: #000;
border: 2px solid #1b1b1b;
position: relative;
}
.transparentPosterItem .posterItemImage {
@ -43,8 +43,8 @@
background-color: #999;
}
.borderlessPosterItem {
border: 0;
.borderlessPosterItem .posterItemImage {
border-color: transparent;
}
.posterItemStoreText {
@ -63,7 +63,6 @@
text-wrap: none;
white-space: nowrap;
padding: 5px 4px 4px;
background-color: #222;
text-shadow: none;
font-size: 14px;
font-weight: 300;
@ -89,7 +88,7 @@
.posterItemTextOverlay .posterItemText {
background-color: transparent;
padding-top: 1px !important;
padding: 1px 5px 4px !important;
}
.posterItemTextOverlay .posterItemText:first-child {
@ -114,33 +113,20 @@
}
.squarePosterItem {
width: 150px;
width: 154px;
}
.squarePosterItem .posterItemImage {
height: 150px;
}
.storeItem {
display: inline-block;
margin: 0 15px 15px 0;
}
.storeItem, .storePosterItem {
width: 160px;
}
.storePosterItem .posterItemImage {
height: 90px;
}
.storeReviewCount {
display: none;
}
.backdropPosterItem {
width: 288px;
width: 292px;
}
.backdropPosterItem .posterItemImage {
@ -148,16 +134,16 @@
}
.smallBackdropPosterItem {
width: 168px;
width: 172px;
}
.smallBackdropPosterItem .posterItemImage {
height: 94.5px;
}
.portraitPosterItem {
width: 102px;
}
.portraitPosterItem {
width: 106px;
}
.portraitPosterItem .posterItemImage {
height: 153px;
@ -179,7 +165,7 @@
@media all and (min-width: 540px) {
.backdropPosterItem {
width: 256px;
width: 260px;
}
.backdropPosterItem .posterItemImage {
@ -190,7 +176,7 @@
@media all and (min-width: 540px) {
.smallBackdropPosterItem {
width: 184px;
width: 188px;
}
.smallBackdropPosterItem .posterItemImage {
@ -201,23 +187,15 @@
@media all and (min-width: 650px) {
.backdropPosterItem {
width: 272px;
width: 276px;
}
.backdropPosterItem .posterItemImage {
height: 153px;
}
.storeItem, .storePosterItem {
width: 192px;
}
.storePosterItem .posterItemImage {
height: 110px;
}
.smallBackdropPosterItem {
width: 192px;
width: 196px;
}
.smallBackdropPosterItem .posterItemImage {
@ -228,7 +206,7 @@
@media all and (min-width: 750px) {
.portraitPosterItem {
width: 108px;
width: 112px;
}
.portraitPosterItem .posterItemImage {
@ -239,7 +217,7 @@
@media all and (min-width: 1200px) {
.backdropPosterItem {
width: 272px;
width: 276px;
}
.backdropPosterItem .posterItemImage {
@ -247,7 +225,7 @@
}
.portraitPosterItem {
width: 134px;
width: 138px;
}
.portraitPosterItem .posterItemImage {
@ -255,25 +233,13 @@
}
.smallBackdropPosterItem {
width: 224px;
width: 228px;
}
.smallBackdropPosterItem .posterItemImage {
height: 126px;
}
.storeItem, .storePosterItem {
width: 270px;
}
.storePosterItem .posterItemImage {
height: 154px;
}
.posterItemStoreText {
font-size: 15px;
}
.storeReviewCount {
display: inline;
}
@ -282,7 +248,7 @@
@media all and (min-width: 1440px) {
.squarePosterItem {
width: 170px;
width: 174px;
}
.squarePosterItem .posterItemImage {
@ -290,7 +256,7 @@
}
.portraitPosterItem {
width: 134px;
width: 138px;
}
.portraitPosterItem .posterItemImage {
@ -303,7 +269,7 @@
}
.backdropPosterItem {
width: 288px;
width: 292px;
}
.backdropPosterItem .posterItemImage {
@ -314,7 +280,7 @@
@media all and (min-width: 1920px) {
.squarePosterItem {
width: 200px;
width: 204px;
}
.squarePosterItem .posterItemImage {
@ -322,7 +288,7 @@
}
.portraitPosterItem {
width: 160px;
width: 164px;
}
.portraitPosterItem .posterItemImage {

View file

@ -52,6 +52,7 @@ body {
h1 {
font-weight: 300;
font-size: 2.22em;
text-transform: uppercase;
}
.ui-loader h1 {

View file

@ -53,7 +53,7 @@
</div>
</div>
<div style="padding: 10px 15px;">
<div style="padding: 10px 0;">
<div data-role="fieldcontain" id="fldPath">
<label for="txtPath">Path:</label>
<input type="text" id="txtPath" name="txtPath" data-mini="true" readonly="readonly" />
@ -388,9 +388,6 @@
</div>
<div class="fieldDescription editorfieldDescription">Leave empty to inherit settings from a parent item, or the global default value.</div>
<br />
<p>
Slide a field to 'off' to lock it and prevent it's data from being changed.
</p>
<div id="providerSettingsContainer" style="display: none">
</div>

View file

@ -13,18 +13,21 @@
<a href="livetvseriestimers.html">Series</a>
</div>
<div data-role="content">
<div style="max-width: 720px; margin: 0 auto;">
<table class="ehsContent">
<tr>
<td>
<div id="latestRecordings" style="display: none;">
<h1 class="listHeader">Latest Recordings</h1>
<div id="latestRecordingItems"></div>
</div>
<br />
<div id="recordingGroups" style="display: none;">
<h1 class="listHeader">Recording Groups</h1>
<h1 class="listHeader">All Recordings</h1>
<div id="recordingGroupItems"></div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</body>

View file

@ -22,13 +22,14 @@
<div id="recentlyAddedAlbums">
</div>
<br />
<h1 class="listHeader">Latest Songs</h1>
<div id="recentlyAddedSongs">
</div>
<div id="recentlyPlayed" style="display: none;">
<br />
<h1 class="listHeader">Recently Played</h1>
<div id="recentlyPlayedSongs">
@ -36,6 +37,7 @@
</div>
<div id="topPlayed" style="display: none;">
<br />
<h1 class="listHeader">Frequently Played</h1>
<div id="topPlayedSongs">

View file

@ -72,6 +72,7 @@
//positive
var html = '<div data-role="collapsible" data-collapsed="true" style="margin-top: 2em;" >';
html += '<h3>Latest Outstanding Reviews</h3>';
var positive = response1[0];
var hasReviews = false;
if (positive && positive.length > 0) {

View file

@ -1077,7 +1077,8 @@
var html = '';
html += "<h3>Fields</h3>";
html += "<h1>Fields</h1>";
html += "<p>Slide a field to 'off' to lock it and prevent it's data from being changed.</p>";
html += generateSliders(metadatafields, 'Fields');
container.html(html).trigger('create');
for (var fieldIndex = 0; fieldIndex < lockedFields.length; fieldIndex++) {

View file

@ -874,7 +874,16 @@
style += "background-color:" + background + ";";
}
html += '<div class="posterItemImage" style="' + style + '"></div>';
html += '<div class="posterItemImage" style="' + style + '">';
if (item.LocationType == "Offline" || item.LocationType == "Virtual") {
if (options.showLocationTypeIndicator !== false) {
html += LibraryBrowser.getOfflineIndicatorHtml(item);
}
} else if (options.showUnplayedIndicator !== false) {
html += LibraryBrowser.getUnplayedIndicatorHtml(item);
}
html += '</div>';
var name = LibraryBrowser.getPosterViewDisplayName(item);
@ -933,14 +942,6 @@
html += "</div>";
}
if (item.LocationType == "Offline" || item.LocationType == "Virtual") {
if (options.showLocationTypeIndicator !== false) {
html += LibraryBrowser.getOfflineIndicatorHtml(item);
}
} else if (options.showUnplayedIndicator !== false) {
html += LibraryBrowser.getUnplayedIndicatorHtml(item);
}
html += "</a>";
}

View file

@ -39,7 +39,7 @@
var html = '';
html += '<div data-role="collapsible" class="recordingGroupCollapsible" data-recordinggroupid="' + group.Id + '" style="margin-top:1em">';
html += '<div data-role="collapsible" class="recordingGroupCollapsible" data-recordinggroupid="' + group.Id + '" style="margin-top:1em" data-mini="true" data-content-theme="false">';
html += '<h3>' + group.Name + '</h3>';
@ -84,7 +84,7 @@
var html = '';
html += '<ul data-role="listview" data-split-icon="delete" data-inset="false">';
html += '<ul data-role="listview" data-split-icon="delete" data-inset="true">';
for (var i = 0, length = recordings.length; i < length; i++) {
@ -176,7 +176,7 @@
apiClient.getLiveTvRecordings({
userId: Dashboard.getCurrentUserId(),
limit: 6
limit: 8
}).done(function (result) {

View file

@ -31,7 +31,8 @@
html += LibraryBrowser.getPosterDetailViewHtml({
items: result.Items,
context: "movies"
context: "movies",
shape: "backdrop"
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);

View file

@ -70,19 +70,19 @@
var category = plugin.category || "General";
if (category != currentCategory) {
html += '<h2 style="margin: .5em 0 0;">' + category + '</h2>';
html += '<h2 class="listHeader">' + category + '</h2>';
currentCategory = category;
}
var href = plugin.externalUrl ? plugin.externalUrl : "addplugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid;
var target = plugin.externalUrl ? ' target="_blank"' : '';
html += "<div class='storeItem'><a class='posterItem storePosterItem transparentPosterItem borderlessPosterItem' style='background: #D4D4D4!important' href='" + href + "' " + target + ">";
html += "<a class='storeItem backdropPosterItem posterItem transparentPosterItem borderlessPosterItem' href='" + href + "' " + target + ">";
if (plugin.thumbImage) {
html += '<div class="posterItemImage" style="background-image:url(\'' + plugin.thumbImage + '\');background-size:cover;"></div>';
html += '<div class="posterItemImage" style="background-image:url(\'' + plugin.thumbImage + '\');background-size:cover;">';
} else {
html += '<div class="posterItemImage defaultPosterItemImage" style="background-image:url(\'css/images/items/list/collection.png\');"></div>';
html += '<div class="posterItemImage defaultPosterItemImage" style="background-image:url(\'css/images/items/list/collection.png\');">';
}
if (plugin.isPremium) {
@ -92,24 +92,23 @@
html += "<div class='premiumBanner'><img src='css/images/supporter/supporterflag.png' /></div>";
}
}
html += "</div>";
html += "</a>";
html += "<div class='posterItemStoreText' style='font-weight: bold'>";
html += "<div class='posterItemText' style='color:#000;font-weight:400;font-size:16px;'>";
var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function (ip) {
return ip.Name == plugin.name;
})[0];
if (installedPlugin) {
html += plugin.name + " (Installed)";
html += plugin.name;
} else {
html += plugin.name;
}
html += "</div>";
html += "<div class='posterItemStoreText' >";
html += "<div class='posterItemText' style='color:#000;font-weight:400;'>";
html += plugin.price > 0 ? "$" + plugin.price.toFixed(2) : "Free";
html += Dashboard.getStoreRatingHtml(plugin.avgRating, plugin.id, plugin.name);
@ -118,7 +117,7 @@
html += "</span>";
html += "</div>";
html += "</div>";
html += "</a>";
pluginhtml += html;

View file

@ -1229,13 +1229,13 @@ var Dashboard = {
getStoreRatingHtml: function (rating, id, name, noLinks) {
var html = "<div style='margin-left: 5px; margin-right: 5px; display: inline-block'>";
var html = "<div style='margin-left: 5px; margin-right: 5px; display: inline-block; vertical-align:middle;'>";
if (!rating) rating = 0;
for (var i = 1; i <= 5; i++) {
var title = noLinks ? rating + " stars" : "Rate " + i + (i > 1 ? " stars" : " star");
html += noLinks ? "" : "<a href='#' data-id=" + id + " data-name='" + name + "' data-rating=" + i + " onclick='Dashboard.ratePackage(this);' >";
html += noLinks ? "" : "<span data-id=" + id + " data-name='" + name + "' data-rating=" + i + " onclick='Dashboard.ratePackage(this);return false;' >";
if (rating <= i - 1) {
html += "<div class='storeStarRating emptyStarRating' title='" + title + "'></div>";
} else if (rating < i) {
@ -1243,7 +1243,7 @@ var Dashboard = {
} else {
html += "<div class='storeStarRating' title='" + title + "'></div>";
}
html += noLinks ? "" : "</a>";
html += noLinks ? "" : "</span>";
}
html += "</div>";

View file

@ -31,7 +31,8 @@
html += LibraryBrowser.getPosterDetailViewHtml({
items: result.Items,
context: "tv"
context: "tv",
shape: "backdrop"
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);