mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 23:42:37 -07:00
242 lines
9.3 KiB
HTML
242 lines
9.3 KiB
HTML
<%inherit file="base.html"/>
|
|
|
|
<%def name="headIncludes()">
|
|
</%def>
|
|
|
|
<%def name="body()">
|
|
<div class="container-fluid">
|
|
% for section in config['home_sections']:
|
|
% if section == 'current_activity':
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="padded-header" id="current-activity-header">
|
|
<h3>Activity</h3>
|
|
</div>
|
|
<div id="currentActivity">
|
|
<div class="text-muted"><i class="fa fa-refresh fa-spin"></i> Checking for activity...</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
% elif section == 'watch_stats':
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="padded-header">
|
|
<h3>Watch Statistics <small>Last ${config['home_stats_length']} days</small></h3>
|
|
</div>
|
|
<div id="home-stats" class="home-platforms">
|
|
<div class="text-muted"><i class="fa fa-refresh fa-spin"></i> Loading stats...</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
% elif section == 'library_stats':
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="padded-header" id="library-statistics-header">
|
|
<h3>Library Statistics <small>${config['pms_name']}</small></h3>
|
|
</div>
|
|
<div id="library-stats" class="library-platforms">
|
|
<div class="text-muted"><i class="fa fa-refresh fa-spin"></i> Loading stats...</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
% elif section == 'recently_added':
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="padded-header">
|
|
<ul class="nav nav-header nav-dashboard pull-right" style="margin-top: -12px;">
|
|
<li>
|
|
<a href="#" id="recently-added-page-left" class="paginate btn-gray disabled" data-id="+1"><i class="fa fa-lg fa-chevron-left"></i></a>
|
|
</li>
|
|
<li>
|
|
<a href="#" id="recently-added-page-right" class="paginate btn-gray disabled" data-id="-1"><i class="fa fa-lg fa-chevron-right"></i></a>
|
|
</li>
|
|
</ul>
|
|
<h3>Recently Added <small>
|
|
<a href="#" class="toggle-recently-added-type btn-gray disabled" id="toggle-recently-added-movie" data-type="movie">Movies</a>
|
|
<a href="#" class="toggle-recently-added-type btn-gray disabled" id="toggle-recently-added-season" data-type="season">TV Shows</a>
|
|
<a href="#" class="toggle-recently-added-type btn-gray disabled" id="toggle-recently-added-album" data-type="album">Music</a></small></h3>
|
|
</div>
|
|
<div id="recentlyAdded" style="margin-right: -15px;">
|
|
<div class="text-muted"><i class="fa fa-refresh fa-spin"></i> Looking for new items...</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
% endif
|
|
% endfor
|
|
</div>
|
|
</%def>
|
|
|
|
<%def name="javascriptIncludes()">
|
|
<script src="${http_root}js/moment-with-locale.js"></script>
|
|
<script>
|
|
function currentActivityHeader() {
|
|
$.ajax({
|
|
url: 'get_current_activity_header',
|
|
cache: false,
|
|
async: true,
|
|
complete: function(xhr, status) {
|
|
$("#current-activity-header").html(xhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
currentActivityHeader();
|
|
|
|
function currentActivity() {
|
|
$.ajax({
|
|
url: 'get_current_activity',
|
|
cache: false,
|
|
async: true,
|
|
complete: function(xhr, status) {
|
|
$("#currentActivity").html(xhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
currentActivity();
|
|
|
|
setInterval(function () {
|
|
$('.bar, .bufferbar').tooltip('destroy');
|
|
currentActivityHeader();
|
|
currentActivity();
|
|
}, 15000);
|
|
|
|
function getHomeStats(days) {
|
|
$.ajax({
|
|
url: 'home_stats',
|
|
cache: false,
|
|
async: true,
|
|
data: { },
|
|
complete: function(xhr, status) {
|
|
$("#home-stats").html(xhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
getHomeStats();
|
|
|
|
function getLibraryStats() {
|
|
$.ajax({
|
|
url: 'library_stats',
|
|
cache: false,
|
|
async: true,
|
|
data: { },
|
|
complete: function(xhr, status) {
|
|
$("#library-stats").html(xhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
getLibraryStats();
|
|
|
|
function recentlyAdded() {
|
|
$.ajax({
|
|
url: 'get_recently_added',
|
|
type: "GET",
|
|
async: true,
|
|
data: { count : 50 },
|
|
complete: function(xhr, status) {
|
|
$("#recentlyAdded").html(xhr.responseText);
|
|
highlightAddedScrollerButton();
|
|
if ($('.dashboard-recent-media-instance li[data-type=movie]').length) { $('#toggle-recently-added-movie').removeClass('disabled'); }
|
|
if ($('.dashboard-recent-media-instance li[data-type=season]').length) { $('#toggle-recently-added-season').removeClass('disabled'); }
|
|
if ($('.dashboard-recent-media-instance li[data-type=album]').length) { $('#toggle-recently-added-album').removeClass('disabled'); }
|
|
|
|
$('.toggle-recently-added-type').not('.disabled').click(function () {
|
|
var scroller = $("#recently-added-row-scroller");
|
|
var media_type = $(this).data('type');
|
|
var margin_right = $(this).hasClass('text-muted') ? '25px' : 0;
|
|
var toggle_items = $('.dashboard-recent-media-instance li[data-type=' + media_type + ']');
|
|
var containerWidth = $("body").find(".container-fluid").width();
|
|
|
|
if (margin_right == 0) {
|
|
toggle_items.stop().animate({ width: 'toggle', marginRight: margin_right }, 1000, function () {
|
|
toggle_items.hide();
|
|
|
|
var scroller_width = $('.dashboard-recent-media-instance li:visible').length * 175;
|
|
scroller.width(scroller_width);
|
|
|
|
if (scroller_width < containerWidth) {
|
|
$("#recently-added-page-right").addClass("disabled").blur();
|
|
} else {
|
|
$("#recently-added-page-right").removeClass("disabled");
|
|
}
|
|
})
|
|
} else {
|
|
scroller.width(50 * 175);
|
|
toggle_items.stop().animate({ width: 'toggle', marginRight: margin_right }, 1000, function () {
|
|
toggle_items.show();
|
|
|
|
var scroller_width = $('.dashboard-recent-media-instance li:visible').length * 175;
|
|
scroller.width(scroller_width);
|
|
|
|
if (scroller_width < containerWidth) {
|
|
$("#recently-added-page-right").addClass("disabled").blur();
|
|
} else {
|
|
$("#recently-added-page-right").removeClass("disabled");
|
|
}
|
|
})
|
|
}
|
|
|
|
leftTotal = 0;
|
|
scroller.animate({ left: leftTotal }, 1000);
|
|
$("#recently-added-page-left").addClass("disabled").blur();
|
|
$(this).toggleClass('text-muted').blur();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
recentlyAdded();
|
|
|
|
var date_format = 'YYYY-MM-DD';
|
|
var time_format = 'hh:mm a';
|
|
$.ajax({
|
|
url: 'get_date_formats',
|
|
type: 'GET',
|
|
success: function(data) {
|
|
date_format = data.date_format;
|
|
time_format = data.time_format;
|
|
}
|
|
});
|
|
|
|
function highlightAddedScrollerButton() {
|
|
var scroller = $("#recently-added-row-scroller");
|
|
var numElems = scroller.find("li:visible").length;
|
|
scroller.width(numElems * 175);
|
|
if (scroller.width() > $("body").find(".container-fluid").width()) {
|
|
$("#recently-added-page-right").removeClass("disabled");
|
|
} else {
|
|
$("#recently-added-page-right").addClass("disabled");
|
|
}
|
|
}
|
|
|
|
$(window).resize(function () {
|
|
highlightAddedScrollerButton();
|
|
});
|
|
|
|
var leftTotal = 0;
|
|
$(".paginate").click(function (e) {
|
|
e.preventDefault();
|
|
var scroller = $("#recently-added-row-scroller");
|
|
var containerWidth = $("body").find(".container-fluid").width();
|
|
var scrollAmount = $(this).data("id") * parseInt((containerWidth - 15) / 175) * 175;
|
|
var leftMax = Math.min(-parseInt(scroller.width()) + Math.abs(scrollAmount), 0);
|
|
|
|
leftTotal = Math.max(Math.min(leftTotal + scrollAmount, 0), leftMax);
|
|
scroller.animate({ left: leftTotal }, 250);
|
|
|
|
if (leftTotal == 0) {
|
|
$("#recently-added-page-left").addClass("disabled").blur();
|
|
} else {
|
|
$("#recently-added-page-left").removeClass("disabled");
|
|
}
|
|
|
|
if (leftTotal == leftMax) {
|
|
$("#recently-added-page-right").addClass("disabled").blur();
|
|
} else {
|
|
$("#recently-added-page-right").removeClass("disabled");
|
|
}
|
|
});
|
|
</script>
|
|
|
|
</%def>
|