mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 15:56:07 -07:00
160 lines
7 KiB
HTML
160 lines
7 KiB
HTML
<%
|
|
import plexpy
|
|
from plexpy import version
|
|
%>
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>PlexPy - ${title}</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<link href="interfaces/default/css/bootstrap3/bootstrap.css" rel="stylesheet">
|
|
<link href="interfaces/default/css/plexpy.css" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
|
|
<link href="interfaces/default/css/font-awesome.min.css" rel="stylesheet">
|
|
${next.headIncludes()}
|
|
|
|
<link rel="icon" type="image/x-icon" href="interfaces/default/images/favicon.ico"/>
|
|
<!-- touch icons -->
|
|
<link rel="shortcut icon" href="interfaces/default/images/favicon.png">
|
|
<link rel="apple-touch-icon" href="interfaces/default/images/icon_iphone.png">
|
|
<link rel="apple-touch-icon" sizes="72x72" href="interfaces/default/images/icon_ipad.png">
|
|
<link rel="apple-touch-icon" sizes="114x114" href="interfaces/default/images/icon_iphone@2x.png">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="interfaces/default/images/icon_ipad@2x.png">
|
|
</head>
|
|
|
|
<body class="content">
|
|
<div class="container">
|
|
<div id="ajaxMsg" class="ajaxMsg"></div>
|
|
% if plexpy.CONFIG.CHECK_GITHUB and not plexpy.CURRENT_VERSION:
|
|
<div id="updatebar" style="display: none;">
|
|
You're running an unknown version of PlexPy. <a href="update">Update</a> or
|
|
<a href="#" id="updateDismiss">Close</a>
|
|
</div>
|
|
% elif plexpy.CONFIG.CHECK_GITHUB and plexpy.CURRENT_VERSION != plexpy.LATEST_VERSION and plexpy.COMMITS_BEHIND > 0 and plexpy.INSTALL_TYPE != 'win':
|
|
<div id="updatebar" style="display: none;">
|
|
A <a
|
|
href="https://github.com/${plexpy.CONFIG.GIT_USER}/plexpy/compare/${plexpy.CURRENT_VERSION}...${plexpy.LATEST_VERSION}" target="_blank">
|
|
newer version</a> is available. You're ${plexpy.COMMITS_BEHIND} commits behind. <a href="update">Update</a> or
|
|
<a href="#" id="updateDismiss">Close</a>
|
|
</div>
|
|
% endif
|
|
<nav class="navbar navbar-fixed-top">
|
|
<div class="container-fluid">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1" aria-expanded="false">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="home">
|
|
<img alt="PlexPy" src="interfaces/default/images/logo-plexpy@2x.png" height="40">
|
|
</a>
|
|
</div>
|
|
<div class="collapse navbar-collapse navbar-right" id="navbar-collapse-1">
|
|
<ul class="nav navbar-nav">
|
|
<li>
|
|
<form action="search" method="post" class="form" id="search_form">
|
|
<div class="input-group">
|
|
<span class="input-textbox">
|
|
<input type="text" class="form-control" name="search_query" id="search_query" aria-label="Search" placeholder="Search..."/>
|
|
</span>
|
|
<span class="input-group-btn">
|
|
<button class="btn btn-dark btn-inactive" type="submit" id="search_button"><i class="fa fa-search"></i></button>
|
|
</span>
|
|
</div>
|
|
</form>
|
|
</li>
|
|
% if title=="Home":
|
|
<li class="active"><a href="home"><i class="fa fa-lg fa-home"></i></a></li>
|
|
% else:
|
|
<li><a href="home"><i class="fa fa-lg fa-home"></i></a></li>
|
|
% endif
|
|
% if title=="Users" or title=="User":
|
|
<li class="active"><a href="users">Users</a></li>
|
|
% else:
|
|
<li><a href="users">Users</a></li>
|
|
% endif
|
|
% if title=="History":
|
|
<li class="active"><a href="history">History</a></li>
|
|
% else:
|
|
<li><a href="history">History</a></li>
|
|
% endif
|
|
% if title=="Graphs":
|
|
<li class="active"><a href="graphs">Graphs</a></li>
|
|
% else:
|
|
<li><a href="graphs">Graphs</a></li>
|
|
% endif
|
|
% if title=="Synced Items":
|
|
<li class="active"><a href="sync">Synced Items</a></li>
|
|
% else:
|
|
<li><a href="sync">Synced Items</a></li>
|
|
% endif
|
|
% if title=="Log":
|
|
<li class="active"><a href="logs">Logs</a></li>
|
|
% else:
|
|
<li><a href="logs">Logs</a></li>
|
|
% endif
|
|
% if title=="Settings":
|
|
<li class="active"><a href="settings">Settings</a></li>
|
|
% else:
|
|
<li><a href="settings">Settings</a></li>
|
|
% endif
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
|
|
${next.headerIncludes()}
|
|
<div class="body-container">
|
|
${next.body()}
|
|
</div>
|
|
|
|
<script src="interfaces/default/js/jquery-2.1.4.min.js"></script>
|
|
<script src="interfaces/default/js/bootstrap3/bootstrap.min.js"></script>
|
|
<script src="interfaces/default/js/script.js"></script>
|
|
<script>
|
|
$('#updateDismiss').click(function() {
|
|
$('#updatebar').slideUp('slow');
|
|
// Set cookie to remember dismiss decision for 1 hour.
|
|
setCookie('updateDismiss', 'true', 1/24);
|
|
});
|
|
|
|
if (!getCookie('updateDismiss')) {
|
|
$('#updatebar').show();
|
|
}
|
|
</script>
|
|
<script>
|
|
$('#search_form').submit(function (e) {
|
|
if ($('#search_query').hasClass('active') && $('#search_query').val().trim() != '') {
|
|
$.ajax({
|
|
type: 'post',
|
|
url: 'search',
|
|
data: { 'query': $('#search_query').val() }
|
|
})
|
|
} else {
|
|
e.preventDefault();
|
|
$('#search_button').removeClass('btn-inactive');
|
|
$('#search_query').clearQueue().val('').animate({ right: '0', width: '250px' }).addClass('active').focus();
|
|
}
|
|
})
|
|
$('#search_query').on('blur', function (e) {
|
|
if ($(this).val().trim() == '') {
|
|
$(this).delay(200).animate({ right: '-250px', width: '0' }, function () {
|
|
$('#search_button').addClass('btn-inactive');
|
|
}).removeClass('active');
|
|
}
|
|
});
|
|
</script>
|
|
${next.javascriptIncludes()}
|
|
</body>
|
|
</html>
|
|
|
|
<%def name="javascriptIncludes()"></%def>
|
|
<%def name="headIncludes()"></%def>
|
|
<%def name="headerIncludes()"></%def>
|