VelNet-Server/control-panel/static/templates/index.hbs

112 lines
3.2 KiB
Handlebars

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="apple-touch-icon" sizes="180x180" href="/static/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicons/favicon-16x16.png">
<link rel="manifest" href="/static/favicons/site.webmanifest">
<link rel="mask-icon" href="/static/favicons/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#b91d47">
<meta name="theme-color" content="#ffffff">
<title>VelNet Control Panel</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
<style>
.bottom-scroller {
height: 40em;
overflow: auto;
display: flex;
flex-direction: column-reverse;
}
.log-output .panel-block {
padding: .1em .75em;
}
</style>
</head>
<body>
<section class="section">
<div class="container">
<img src="https://vel.engr.uga.edu/wp-content/uploads/elementor/thumbs/4dLogo-1-oaxk7d2mcrutzo0dhqah6qlgpp2c1tvihad1dchrc0.png"
style="float: right;" alt="vel logo">
<h1 class="title">
VelNet Control Panel
</h1>
<p class="subtitle">
Log output and utilities for <strong>VelNet</strong>
</p>
</div>
</section>
<section>
<div class="container">
<div class="block">
<button class="button" id="restart-button">Restart Server</button>
<button class="button" id="pull-button">Git Pull</button>
<button class="button" id="compile-button">Compile</button>
</div>
<div class="block">Uptime: {{uptime}}</div>
<pre style="font-size: 0.8em;">{{onefetch}}</pre>
</div>
</section>
<section class="section">
<div class="container">
<nav class="panel">
<p class="panel-heading">
Server Log
<code>server.log</code>
<!-- <label for="debug_checkbox">DEBUG</label> -->
<!-- <input id="debug_checkbox" type="checkbox"> -->
</p>
<div class="content bottom-scroller">
<code class="log-output">
{{#each log_output}}
<div class="panel-block">
{{this}}
</div>
{{/each}}
</code>
</div>
</nav>
</div>
</section>
<script>
"use strict";
document.getElementById('restart-button').addEventListener('click', _ => {
fetch('/restart_server').then(_ => {
setTimeout(location.reload(), 1000);
});
});
document.getElementById('pull-button').addEventListener('click', _ => {
fetch('/git_pull').then(_ => {
location.reload();
});
});
document.getElementById('compile-button').addEventListener('click', _ => {
fetch('/compile').then(_ => {
location.reload();
});
});
</script>
</body>
</html>