S allius/issue383 (#384)
* configure path to web files for Quart * copy web-file into the add-on container * add test template and stylesheet * add w3.css dashboard * fix unit test for test dashboard * add Roboto font * add awesome web font * add all favicon formats * load fonts locally * adapt unit tests * add all font and favicons to add-on * fix sonarqube warnings * add unit tests for all favicons
This commit is contained in:
113
app/src/web/templates/base.html
Normal file
113
app/src/web/templates/base.html
Normal file
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{% block title %}{% endblock title %}</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href=".{{ url_for('static', filename= 'css/style.css') }}">
|
||||
<link rel="stylesheet" href=".{{ url_for('static', filename= 'font-awesome/css/all.min.css') }}">
|
||||
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: Roboto;
|
||||
src: url(".{{ url_for('static', filename= 'font/roboto-light.ttf') }}");
|
||||
}
|
||||
html,body,h1,h2,h3,h4,h5 {font-family: Roboto, sans-serif}
|
||||
</style>
|
||||
</head>
|
||||
<body class="w3-light-grey">
|
||||
|
||||
<!-- Top container -->
|
||||
<div class="w3-bar w3-top w3-black w3-large" style="z-index:4">
|
||||
<button class="w3-bar-item w3-button w3-hide-large w3-hover-none w3-hover-text-light-grey" onclick="w3_open();"><i class="fa fa-bars"></i> Menu</button>
|
||||
<span class="w3-bar-item w3-right">Logo</span>
|
||||
</div>
|
||||
|
||||
<!-- Sidebar/menu -->
|
||||
<nav class="w3-sidebar w3-collapse w3-white w3-animate-left" style="z-index:3;width:250px;" id="mySidebar"><br>
|
||||
<div class="w3-container w3-row">
|
||||
<div class="w3-col s4">
|
||||
<img src=".{{ url_for('static', filename= 'images/favicon.svg') }}" alt="" class="w3-circle w3-margin-right" style="width:60px">
|
||||
</div>
|
||||
<div class="w3-col s8 w3-bar">
|
||||
<h3>TSUN-Proxy</h3><br>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="w3-container">
|
||||
<h5>Dashboard</h5>
|
||||
</div>
|
||||
<div class="w3-bar-block">
|
||||
<button href="#" class="w3-bar-item w3-button w3-padding-16 w3-hide-large w3-dark-grey w3-hover-black" onclick="w3_close()" title="close menu"><i class="fa fa-remove fa-fw"></i> Close Menu</button>
|
||||
<a href=".{{ url_for('web_routes.index')}}" class="w3-bar-item w3-button w3-padding {% block menu1_class %}{% endblock %}"><i class="fa fa-users fa-fw"></i> Overview</a>
|
||||
<a href=".{{ url_for('web_routes.empty')}}" class="w3-bar-item w3-button w3-padding {% block menu2_class %}{% endblock %}"><i class="fa fa-eye fa-fw"></i> Views</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-users fa-fw {% block menu3_class %}{% endblock %}"></i> Traffic</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-bullseye fa-fw {% block menu4_class %}{% endblock %}"></i> Geo</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-gem fa-fw {% block menu5_class %}{% endblock %}"></i> Orders</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-bell fa-fw {% block menu6_class %}{% endblock %}"></i> News</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-university fa-fw {% block menu7_class %}{% endblock %}"></i> General</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-history fa-fw {% block menu8_class %}{% endblock %}"></i> History</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding"><i class="fa fa-cog fa-fw {% block menu9_class %}{% endblock %}"></i> Settings</a><br><br>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Overlay effect when opening sidebar on small screens -->
|
||||
<button class="w3-overlay w3-hide-large w3-animate-opacity" onclick="w3_close()" style="cursor:pointer" title="close side menu" id="myOverlay"></button>
|
||||
|
||||
<!-- !PAGE CONTENT! -->
|
||||
<div class="w3-main" style="margin-left:250px;margin-top:43px;">
|
||||
|
||||
<!-- Header -->
|
||||
{% block header %}
|
||||
<header class="w3-container" style="padding-top:22px">
|
||||
<h5><b>{% block headline %}{% endblock headline %}</b></h5>
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %} {% endblock content%}
|
||||
|
||||
<!-- Footer -->
|
||||
{% block footer %}
|
||||
<footer class="w3-container w3-padding-16 w3-light-grey">
|
||||
<h4>FOOTER</h4>
|
||||
<p>Powered by <a href="https://www.w3schools.com/w3css/default.asp" target="_blank">w3.css</a></p>
|
||||
</footer>
|
||||
{% endblock footer %}
|
||||
|
||||
<!-- End page content -->
|
||||
</div>
|
||||
|
||||
{% block trailer %}
|
||||
<script>
|
||||
// Get the Sidebar
|
||||
var mySidebar = document.getElementById("mySidebar");
|
||||
|
||||
// Get the DIV with overlay effect
|
||||
var overlayBg = document.getElementById("myOverlay");
|
||||
|
||||
// Toggle between showing and hiding the sidebar, and add overlay effect
|
||||
function w3_open() {
|
||||
if (mySidebar.style.display === 'block') {
|
||||
mySidebar.style.display = 'none';
|
||||
overlayBg.style.display = "none";
|
||||
} else {
|
||||
mySidebar.style.display = 'block';
|
||||
overlayBg.style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
// Close the sidebar with the close button
|
||||
function w3_close() {
|
||||
mySidebar.style.display = "none";
|
||||
overlayBg.style.display = "none";
|
||||
}
|
||||
</script>
|
||||
{% endblock trailer %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
9
app/src/web/templates/empty.html
Normal file
9
app/src/web/templates/empty.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %} TSUN Proxy - View {% endblock title%}
|
||||
{% block menu2_class %}w3-blue{% endblock %}
|
||||
{% block content %}
|
||||
{% endblock content%}
|
||||
|
||||
{% block footer %}{% endblock footer %}
|
||||
|
||||
182
app/src/web/templates/index.html
Normal file
182
app/src/web/templates/index.html
Normal file
@@ -0,0 +1,182 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %} TSUN Proxy - Dashboard {% endblock title%}
|
||||
{% block menu1_class %}w3-blue{% endblock %}
|
||||
{% block headline %}<i class="fa fa-dashboard"></i> My Dashboard{% endblock headline %}
|
||||
|
||||
{% block content %}
|
||||
<div class="w3-row-padding w3-margin-bottom">
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-red w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-comment w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3>52</h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Messages</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-blue w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-eye w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3>99</h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Views</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-teal w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-share-alt w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3>23</h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Shares</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-orange w3-text-white w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-users w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3>50</h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Users</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w3-panel">
|
||||
<div class="w3-row-padding" style="margin:0 -16px">
|
||||
<div class="w3-third">
|
||||
<h5>Regions</h5>
|
||||
<img src="/w3images/region.jpg" style="width:100%" alt="Google Regional Map">
|
||||
</div>
|
||||
<div class="w3-twothird">
|
||||
<h5>Feeds</h5>
|
||||
<table class="w3-table w3-striped w3-white">
|
||||
<tr>
|
||||
<th class="w3-hide-large"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-user w3-text-blue w3-large"></i></td>
|
||||
<td>New record, over 90 views.</td>
|
||||
<td><i>10 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-bell w3-text-red w3-large"></i></td>
|
||||
<td>Database error.</td>
|
||||
<td><i>15 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-users w3-text-yellow w3-large"></i></td>
|
||||
<td>New record, over 40 users.</td>
|
||||
<td><i>17 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-comment w3-text-red w3-large"></i></td>
|
||||
<td>New comments.</td>
|
||||
<td><i>25 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-bookmark w3-text-blue w3-large"></i></td>
|
||||
<td>Check transactions.</td>
|
||||
<td><i>28 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-laptop w3-text-red w3-large"></i></td>
|
||||
<td>CPU overload.</td>
|
||||
<td><i>35 mins</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-share-alt w3-text-green w3-large"></i></td>
|
||||
<td>New shares.</td>
|
||||
<td><i>39 mins</i></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="w3-container">
|
||||
<h5>General Stats</h5>
|
||||
<p>New Visitors</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-green" style="width:25%">+25%</div>
|
||||
</div>
|
||||
|
||||
<p>New Users</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-orange" style="width:50%">50%</div>
|
||||
</div>
|
||||
|
||||
<p>Bounce Rate</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-red" style="width:75%">75%</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="w3-container">
|
||||
<h5>Countries</h5>
|
||||
<table class="w3-table w3-striped w3-bordered w3-border w3-hoverable w3-white">
|
||||
<tr>
|
||||
<th class="w3-hide-large"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>United States</td>
|
||||
<td>65%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>UK</td>
|
||||
<td>15.7%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Russia</td>
|
||||
<td>5.6%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Spain</td>
|
||||
<td>2.1%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>India</td>
|
||||
<td>1.9%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>France</td>
|
||||
<td>1.5%</td>
|
||||
</tr>
|
||||
</table><br>
|
||||
<button class="w3-button w3-dark-grey">More Countries <i class="fa fa-arrow-right"></i></button>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="w3-container w3-dark-grey w3-padding-32">
|
||||
<div class="w3-row">
|
||||
<div class="w3-container w3-third">
|
||||
<h5 class="w3-bottombar w3-border-green">Demographic</h5>
|
||||
<p>Language</p>
|
||||
<p>Country</p>
|
||||
<p>City</p>
|
||||
</div>
|
||||
<div class="w3-container w3-third">
|
||||
<h5 class="w3-bottombar w3-border-red">System</h5>
|
||||
<p>Browser</p>
|
||||
<p>OS</p>
|
||||
<p>More</p>
|
||||
</div>
|
||||
<div class="w3-container w3-third">
|
||||
<h5 class="w3-bottombar w3-border-orange">Target</h5>
|
||||
<p>Users</p>
|
||||
<p>Active</p>
|
||||
<p>Geo</p>
|
||||
<p>Interests</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content%}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user