mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
center guide grid
This commit is contained in:
parent
35e37c8027
commit
e91d8b6800
11 changed files with 109 additions and 89 deletions
|
@ -42,6 +42,7 @@
|
||||||
margin-left: 80px;
|
margin-left: 80px;
|
||||||
border-left: 1px solid #444;
|
border-left: 1px solid #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tvProgramCurrentTimeSlot {
|
.tvProgramCurrentTimeSlot {
|
||||||
background-color: green;
|
background-color: green;
|
||||||
}
|
}
|
||||||
|
@ -132,13 +133,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.channelTimeslotHeader {
|
.channelTimeslotHeader {
|
||||||
position: absolute;
|
float: left;
|
||||||
left: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeslotHeaders {
|
.timeslotHeaders {
|
||||||
position: absolute;
|
|
||||||
right: 13px;
|
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
@ -197,24 +195,25 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.channelHeaderCell:hover {
|
.channelHeaderCell:hover {
|
||||||
background-color: #38c;
|
background-color: #38c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.channelList {
|
.channelList {
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
overflow-x: hidden;
|
overflow-x: scroll;
|
||||||
position: absolute;
|
float: left;
|
||||||
left: 10px;
|
border-bottom: 4px solid #3B3B3B;
|
||||||
bottom: 46px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.programGrid {
|
.programGrid {
|
||||||
position: absolute;
|
|
||||||
bottom: 30px;
|
|
||||||
right: 0;
|
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programGrid, .timeslotHeaders {
|
||||||
|
margin-left: 190px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeslotCell, .timeslotHeader {
|
.timeslotCell, .timeslotHeader {
|
||||||
|
@ -237,21 +236,9 @@
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeslotCellInnerWithProgram:hover {
|
.timeslotCellInnerWithProgram:hover {
|
||||||
background-color: #38c;
|
background-color: #38c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeslotHeaders, .programGrid {
|
|
||||||
left: 201px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.channelTimeslotHeader, .timeslotHeaders {
|
|
||||||
top: 150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.channelList, .programGrid {
|
|
||||||
top: 180px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.channelHeaderCell, .timeslotCell {
|
.channelHeaderCell, .timeslotCell {
|
||||||
height: 52px;
|
height: 52px;
|
||||||
|
@ -265,6 +252,7 @@
|
||||||
.guideProgramTime {
|
.guideProgramTime {
|
||||||
padding: 0 .5em .35em;
|
padding: 0 .5em .35em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plainProgramInfo {
|
.plainProgramInfo {
|
||||||
background-color: #252525;
|
background-color: #252525;
|
||||||
}
|
}
|
||||||
|
@ -284,16 +272,68 @@
|
||||||
top: 7px;
|
top: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 500px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 600px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 700px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 800px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 900px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 700px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 1000px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 800px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 1100px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 900px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-height: 1200px) {
|
||||||
|
|
||||||
|
.channelList, .programGrid {
|
||||||
|
height: 1000px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
|
|
||||||
.channelHeaderCell, .channelTimeslotHeader {
|
|
||||||
width: 90px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.timeslotHeaders, .programGrid {
|
|
||||||
left: 91px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.guideChannelImage {
|
.guideChannelImage {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,11 +27,18 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div style="text-align: center;">
|
||||||
|
<div style="position: relative; margin: 0 auto; display: inline-block; text-align: left; max-width:100%;">
|
||||||
|
|
||||||
|
<div style="white-space:nowrap;">
|
||||||
<div class="channelTimeslotHeader"> </div>
|
<div class="channelTimeslotHeader"> </div>
|
||||||
<div class="timeslotHeaders"></div>
|
<div class="timeslotHeaders"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="white-space:nowrap;">
|
||||||
<div class="channelList"></div>
|
<div class="channelList"></div>
|
||||||
<div class="programGrid">
|
<div class="programGrid"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,19 +10,19 @@
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<form class="liveTvSettingsForm" style="display: none;">
|
<form class="liveTvSettingsForm" style="display: none;">
|
||||||
|
|
||||||
<br />
|
<div style="margin-top: 2.5em;">
|
||||||
<div>
|
|
||||||
<p>Active service: <span id="activeServiceName"></span></p>
|
<p>Active service: <span id="activeServiceName"></span></p>
|
||||||
<p>Status: <span id="activeServiceStatus"></span></p>
|
<p>Status: <span id="activeServiceStatus"></span></p>
|
||||||
<p>Version: <span id="activeServiceVersion"></span></p>
|
<p>Version: <span id="activeServiceVersion"></span></p>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
<br />
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
<li>
|
<li>
|
||||||
<label for="selectActiveService">Change active service: </label>
|
<label for="selectActiveService">Change active service: </label>
|
||||||
<select id="selectActiveService" data-mini="true">
|
<select id="selectActiveService" data-mini="true">
|
||||||
</select>
|
</select>
|
||||||
<div class="fieldDescription">Although multiple tv plugins can be installed only one can be active at a time.</div>
|
<div class="fieldDescription">Multiple tv plugins can be installed but only one can be active at a time.</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
@ -46,6 +46,9 @@
|
||||||
</select>
|
</select>
|
||||||
<div class="fieldDescription">Downloading more days worth of guide data provides the ability to schedule out further in advance and view more listings, but it will also take longer to download. Auto will choose based on the number of channels.</div>
|
<div class="fieldDescription">Downloading more days worth of guide data provides the ability to schedule out further in advance and view more listings, but it will also take longer to download. Auto will choose based on the number of channels.</div>
|
||||||
</li>
|
</li>
|
||||||
|
</ul>
|
||||||
|
<br />
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
<li>
|
<li>
|
||||||
<button type="submit" data-theme="b" data-icon="check">
|
<button type="submit" data-theme="b" data-icon="check">
|
||||||
Save
|
Save
|
||||||
|
|
|
@ -36,7 +36,8 @@
|
||||||
context: 'games',
|
context: 'games',
|
||||||
useAverageAspectRatio: false,
|
useAverageAspectRatio: false,
|
||||||
showTitle: true,
|
showTitle: true,
|
||||||
showParentTitle: true
|
showParentTitle: true,
|
||||||
|
centerText: true
|
||||||
});
|
});
|
||||||
|
|
||||||
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
||||||
|
|
|
@ -255,11 +255,7 @@
|
||||||
|
|
||||||
LibraryBrowser.renderOverview($('.itemOverview', page), item);
|
LibraryBrowser.renderOverview($('.itemOverview', page), item);
|
||||||
|
|
||||||
if (item.CommunityRating || item.CriticRating) {
|
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item)).show();
|
|
||||||
} else {
|
|
||||||
$('.itemCommunityRating', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.Type != "Episode" && item.Type != "Movie" && item.Type != "Series") {
|
if (item.Type != "Episode" && item.Type != "Movie" && item.Type != "Series") {
|
||||||
var premiereDateElem = $('#itemPremiereDate', page).show();
|
var premiereDateElem = $('#itemPremiereDate', page).show();
|
||||||
|
|
|
@ -1508,20 +1508,8 @@
|
||||||
html += '<div class="starRatingValue">';
|
html += '<div class="starRatingValue">';
|
||||||
html += item.CommunityRating.toFixed(1);
|
html += item.CommunityRating.toFixed(1);
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
} else {
|
||||||
//var rating = item.CommunityRating / 2;
|
html += '<div style="display:inline-block;margin-left:-1.25em;"></div>';
|
||||||
|
|
||||||
//for (var i = 1; i <= 5; i++) {
|
|
||||||
// if (rating <= i - 1) {
|
|
||||||
// html += "<div class='starRating emptyStarRating' title='" + item.CommunityRating + "'></div>";
|
|
||||||
// }
|
|
||||||
// else if (rating < i) {
|
|
||||||
// html += "<div class='starRating halfStarRating' title='" + item.CommunityRating + "'></div>";
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// html += "<div class='starRating' title='" + item.CommunityRating + "'></div>";
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.CriticRating != null) {
|
if (item.CriticRating != null) {
|
||||||
|
|
|
@ -12,11 +12,7 @@
|
||||||
|
|
||||||
$('.itemEpisodeName', page).html(program.EpisodeTitle || '');
|
$('.itemEpisodeName', page).html(program.EpisodeTitle || '');
|
||||||
|
|
||||||
if (program.CommunityRating) {
|
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(program));
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(program)).show();
|
|
||||||
} else {
|
|
||||||
$('.itemCommunityRating', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
LibraryBrowser.renderGenres($('.itemGenres', page), program, context);
|
LibraryBrowser.renderGenres($('.itemGenres', page), program, context);
|
||||||
LibraryBrowser.renderOverview($('.itemOverview', page), program);
|
LibraryBrowser.renderOverview($('.itemOverview', page), program);
|
||||||
|
|
|
@ -44,11 +44,7 @@
|
||||||
|
|
||||||
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
|
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
|
||||||
|
|
||||||
if (item.CommunityRating) {
|
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item)).show();
|
|
||||||
} else {
|
|
||||||
$('.itemCommunityRating', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||||
|
|
||||||
|
|
|
@ -45,11 +45,7 @@
|
||||||
|
|
||||||
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
|
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
|
||||||
|
|
||||||
if (item.CommunityRating) {
|
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item)).show();
|
|
||||||
} else {
|
|
||||||
$('.itemCommunityRating', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||||
|
|
||||||
|
|
|
@ -32,11 +32,7 @@
|
||||||
|
|
||||||
$('.itemEpisodeName', page).html(programInfo.EpisodeTitle || '');
|
$('.itemEpisodeName', page).html(programInfo.EpisodeTitle || '');
|
||||||
|
|
||||||
if (programInfo.CommunityRating) {
|
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(programInfo));
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(programInfo)).show();
|
|
||||||
} else {
|
|
||||||
$('.itemCommunityRating', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
LibraryBrowser.renderGenres($('.itemGenres', page), programInfo, context);
|
LibraryBrowser.renderGenres($('.itemGenres', page), programInfo, context);
|
||||||
LibraryBrowser.renderOverview($('.itemOverview', page), programInfo);
|
LibraryBrowser.renderOverview($('.itemOverview', page), programInfo);
|
||||||
|
|
|
@ -192,7 +192,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Chrome or IE with plugin installed
|
// Chrome or IE with plugin installed
|
||||||
if (media.canPlayType('video/webm').replace(/no/, '')) {
|
if (media.canPlayType('video/webm').replace(/no/, '') && !$.browser.mozilla) {
|
||||||
return '.webm';
|
return '.webm';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -616,6 +616,7 @@
|
||||||
|
|
||||||
// Some 1080- videos are reported as 1912?
|
// Some 1080- videos are reported as 1912?
|
||||||
if (maxAllowedWidth >= 1910) {
|
if (maxAllowedWidth >= 1910) {
|
||||||
|
options.push({ name: '1080p - 15Mbps', maxWidth: 1920, bitrate: 15000000 });
|
||||||
options.push({ name: '1080p - 10Mbps', maxWidth: 1920, bitrate: 10000000 });
|
options.push({ name: '1080p - 10Mbps', maxWidth: 1920, bitrate: 10000000 });
|
||||||
options.push({ name: '1080p - 8Mbps', maxWidth: 1920, bitrate: 8000000 });
|
options.push({ name: '1080p - 8Mbps', maxWidth: 1920, bitrate: 8000000 });
|
||||||
options.push({ name: '1080p - 6Mbps', maxWidth: 1920, bitrate: 6000000 });
|
options.push({ name: '1080p - 6Mbps', maxWidth: 1920, bitrate: 6000000 });
|
||||||
|
@ -888,11 +889,11 @@
|
||||||
|
|
||||||
}).on("error", function () {
|
}).on("error", function () {
|
||||||
|
|
||||||
|
|
||||||
var errorCode = this.error ? this.error.code : '';
|
var errorCode = this.error ? this.error.code : '';
|
||||||
console.log('Html5 Video error code: ' + errorCode);
|
console.log('Html5 Video error code: ' + errorCode);
|
||||||
|
|
||||||
}).on("ended.playbackstopped", onPlaybackStopped).on('ended.playnext', playNextAfterEnded);
|
}).on("ended.playbackstopped", onPlaybackStopped)
|
||||||
|
.on('ended.playnext', playNextAfterEnded);
|
||||||
|
|
||||||
currentItem = item;
|
currentItem = item;
|
||||||
curentDurationTicks = item.RunTimeTicks;
|
curentDurationTicks = item.RunTimeTicks;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue