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

move classes to portable server project

This commit is contained in:
Luke Pulverenti 2016-11-02 16:53:50 -04:00
parent 1c0379bee1
commit c203b7253b
9 changed files with 67 additions and 88 deletions

View file

@ -184,6 +184,10 @@ define(['browser'], function (browser) {
case 'ts':
supported = testCanPlayTs();
videoCodecs.push('h264');
if (canPlayH265()) {
videoCodecs.push('h265');
videoCodecs.push('hevc');
}
profileContainer = 'ts,mpegts';
break;
default:

View file

@ -85,7 +85,7 @@
}
.homePageSection {
margin-top: 30px;
margin-top: 3em;
}
.sectionHeaderButton {
@ -132,12 +132,12 @@
}
.homePageSection h1 {
padding-left: 2vw;
padding-left: 3.1vw;
}
.homePageSection .itemsContainer {
padding-left: 1vw;
padding-right: 1vw;
padding-left: 2.5vw;
padding-right: 2.5vw;
}
@media all and (min-width: 1200px) {

View file

@ -70,7 +70,7 @@ h1, h1 a {
}
.cardImageContainer {
border-radius: 7px;
border-radius: 6px;
}
.noSecondaryNavPage .itemBackdrop {
@ -104,3 +104,8 @@ h1, h1 a {
-webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);
}
.cardOverlayButton {
-webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);
}

View file

@ -41,39 +41,34 @@
<a href="livetvitems.html?type=Programs&IsAiring=true" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
</div>
<div is="emby-itemscontainer" class="activeProgramItems itemsContainer"></div>
<br />
</div>
<div id="upcomingTvMovies" class="homePageSection" style="margin-top: 1em;">
<div id="upcomingTvMovies" class="homePageSection">
<div>
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingMovies}</h1>
<a href="livetvitems.html?type=Programs&IsMovie=true" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
</div>
<div is="emby-itemscontainer" class="upcomingTvMovieItems itemsContainer"></div>
<br />
</div>
<div id="upcomingSports" class="homePageSection" style="margin-top: 1em;">
<div id="upcomingSports" class="homePageSection">
<div>
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingSports}</h1>
<a href="livetvitems.html?type=Programs&IsSports=true" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
</div>
<div is="emby-itemscontainer" class="upcomingSportsItems itemsContainer"></div>
<br />
</div>
<div id="upcomingKids" class="homePageSection" style="margin-top: 1em;">
<div id="upcomingKids" class="homePageSection">
<div>
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingForKids}</h1>
<a href="livetvitems.html?type=Programs&IsKids=true" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
</div>
<div is="emby-itemscontainer" class="upcomingKidsItems itemsContainer"></div>
<br />
</div>
<div id="upcomingPrograms" class="homePageSection" style="margin-top: 1em;">
<div id="upcomingPrograms" class="homePageSection">
<div>
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingPrograms}</h1>
<a href="livetvitems.html?type=Programs&IsKids=false&IsMovie=false&IsSports=false" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
</div>
<div is="emby-itemscontainer" class="upcomingProgramItems itemsContainer"></div>
<br />
</div>
</div>
<div class="pageTabContent ehsContent fullWidth flexPageTabContent absolutePageTabContent" id="guideTab" data-index="1" style="width:auto;padding-top:0; padding-bottom: 0;">

View file

@ -110,17 +110,14 @@
page.querySelector('#selectHomeSection3').value = displayPreferences.CustomPrefs.home2 || '';
page.querySelector('#selectHomeSection4').value = displayPreferences.CustomPrefs.home3 || '';
var promise1 = ApiClient.getItems(user.Id, {
sortBy: "SortName"
});
var promise2 = ApiClient.getUserViews({}, user.Id);
var promise3 = ApiClient.getJSON(ApiClient.getUrl("Users/" + user.Id + "/GroupingOptions"));
var promise1 = ApiClient.getUserViews({}, user.Id);
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Users/" + user.Id + "/GroupingOptions"));
Promise.all([promise1, promise2, promise3]).then(function (responses) {
Promise.all([promise1, promise2]).then(function (responses) {
renderViews(page, user, responses[2]);
renderViews(page, user, responses[1]);
renderLatestItems(page, user, responses[0]);
renderViewOrder(page, user, responses[1]);
renderViewOrder(page, user, responses[0]);
Dashboard.hideLoadingMsg();
});

View file

@ -252,23 +252,7 @@
return html;
}
function loadRecentlyAdded(elem, user) {
var moviesFrag = document.createElement('div');
var episodesFrag = document.createElement('div');
elem.classList.remove('homePageSection');
moviesFrag.classList.add('homePageSection');
episodesFrag.classList.add('homePageSection');
elem.appendChild(moviesFrag);
elem.appendChild(episodesFrag);
loadLatestMovies(moviesFrag, user);
loadLatestEpisodes(episodesFrag, user);
}
function loadLatestMovies(elem, user) {
function renderLatestSection(elem, user, parent) {
var options = {
@ -276,7 +260,7 @@
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Thumb",
IncludeItemTypes: "Movie"
ParentId: parent.Id
};
return ApiClient.getJSON(ApiClient.getUrl('Users/' + user.Id + '/Items/Latest', options)).then(function (items) {
@ -286,21 +270,28 @@
var scrollX = enableScrollX();
if (items.length) {
html += '<h1 class="listHeader">' + Globalize.translate('HeaderLatestMovies') + '</h1>';
html += '<h1 class="listHeader">' + Globalize.translate('LatestFromLibrary', parent.Name) + '</h1>';
if (scrollX) {
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
} else {
html += '<div is="emby-itemscontainer" class="itemsContainer vertical-wrap">';
}
var viewType = parent.CollectionType;
var shape = viewType === 'movies' ?
getPortraitShape() :
getThumbShape();
html += cardBuilder.getCardsHtml({
items: items,
shape: getPortraitShape(),
shape: shape,
preferThumb: viewType != 'movies',
showUnplayedIndicator: false,
showChildCountIndicator: true,
lazy: true,
context: 'home',
centerText: true,
overlayPlayButton: true,
overlayPlayButton: viewType !== 'photos',
allowBottomPadding: !enableScrollX()
});
html += '</div>';
@ -311,47 +302,38 @@
});
}
function loadLatestEpisodes(elem, user) {
function loadRecentlyAdded(elem, user) {
var options = {
elem.classList.remove('homePageSection');
Limit: 12,
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Thumb",
IncludeItemTypes: "Episode"
};
return getUserViews(user.Id).then(function (items) {
return ApiClient.getJSON(ApiClient.getUrl('Users/' + user.Id + '/Items/Latest', options)).then(function (items) {
var excludeViewTypes = ['playlists', 'livetv', 'boxsets', 'channels'];
var excludeItemTypes = ['Channel'];
var html = '';
for (var i = 0, length = items.length; i < length; i++) {
var scrollX = enableScrollX();
var item = items[i];
if (items.length) {
html += '<h1 class="listHeader">' + Globalize.translate('HeaderLatestEpisodes') + '</h1>';
if (scrollX) {
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
} else {
html += '<div is="emby-itemscontainer" class="itemsContainer vertical-wrap">';
if (user.Configuration.LatestItemsExcludes.indexOf(item.Id) !== -1) {
continue;
}
html += cardBuilder.getCardsHtml({
items: items,
preferThumb: true,
shape: getThumbShape(),
showUnplayedIndicator: false,
showChildCountIndicator: true,
lazy: true,
context: 'home',
overlayPlayButton: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
if (excludeViewTypes.indexOf(item.CollectionType || []) !== -1) {
continue;
}
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
// not implemented yet
if (excludeItemTypes.indexOf(item.Type) !== -1) {
continue;
}
var frag = document.createElement('div');
frag.classList.add('homePageSection');
elem.appendChild(frag);
renderLatestSection(frag, user, item);
}
});
}

View file

@ -1694,14 +1694,9 @@ var AppInfo = {};
if (Dashboard.isRunningInCordova() && browserInfo.android) {
if (MainActivity.getChromeVersion() >= 48) {
//define("audiorenderer", ["scripts/htmlmediarenderer"]);
window.VlcAudio = true;
define("audiorenderer", ["cordova/android/vlcplayer"]);
} else {
window.VlcAudio = true;
define("audiorenderer", ["cordova/android/vlcplayer"]);
}
define("videorenderer", ["cordova/android/vlcplayer"]);
}
else if (Dashboard.isRunningInCordova() && browserInfo.safari) {

View file

@ -103,7 +103,7 @@
preferThumb: true,
context: 'tv',
lazy: true,
overlayPlayButton: true
overlayMoreButton: true
});
}
else if (viewStyle == "ThumbCard") {
@ -160,7 +160,7 @@
context: 'tv',
centerText: true,
lazy: true,
overlayPlayButton: true
overlayMoreButton: true
});
}

View file

@ -2020,5 +2020,6 @@
"LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.",
"ButtonPlayExternalPlayer": "Play with external player",
"NotScheduledToRecord": "Not scheduled to record",
"SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update."
"SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.",
"LatestFromLibrary": "Latest {0}"
}