Add login functionality
This commit is contained in:
@@ -14,13 +14,15 @@
|
||||
<div class="container">
|
||||
<div class="d-flex">
|
||||
<a class="header-brand" href="/">#(config.title)</a>
|
||||
#if(config.showSourceBtn):
|
||||
<div class="d-flex order-lg-2 ml-auto">
|
||||
<div class="nav-item d-none d-md-flex">
|
||||
<a href="https://gitea.arsenm.dev/Arsen6331/statusboard" class="btn btn-sm btn-outline-primary" target="_blank">Source code</a>
|
||||
</div>
|
||||
<div class="d-flex order-lg-2 ml-auto">
|
||||
<div class="nav-item d-none d-md-flex">
|
||||
#if(loggedIn):
|
||||
<a href="/logout" class="btn btn-sm btn-outline-primary" target="_self">Log Out</a>
|
||||
#else:
|
||||
<a href="/login" class="btn btn-sm btn-outline-primary" target="_self">Log In</a>
|
||||
#endif
|
||||
</div>
|
||||
#endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
43
Resources/Views/card.leaf
Normal file
43
Resources/Views/card.leaf
Normal file
@@ -0,0 +1,43 @@
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">#(service["name"])</h3>
|
||||
<div class="card-options">
|
||||
<span class="tag #if(service["url"]): btn-loading #endif">
|
||||
Status
|
||||
<span id="#(service["name"])Status" class="tag-addon">Unavailable</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
#(service["description"])
|
||||
</div>
|
||||
#if(service["url"]):
|
||||
<div class="card-footer">
|
||||
URL: <a href="#(service["url"])">#(service["url"])</a>
|
||||
</div>
|
||||
#endif
|
||||
</div>
|
||||
#if(service["url"]):
|
||||
<script>
|
||||
fullURL = '#(service["url"])'
|
||||
var url = fullURL.replace("https://", "")
|
||||
url = url.replace("http://", "")
|
||||
var request = new XMLHttpRequest()
|
||||
request.open('GET', "/status/" + url, true)
|
||||
request.onload = function () {
|
||||
var data = JSON.parse(this.response)
|
||||
if (data.down === "true" || parseInt(data.code) > 500 && parseInt(data.code) < 600 ) {
|
||||
document.getElementById('#(service["name"])Status').classList.add("tag-danger")
|
||||
document.getElementById('#(service["name"])Status').parentElement.classList.remove("btn-loading")
|
||||
document.getElementById('#(service["name"])Status').innerHTML = "Offline"
|
||||
} else {
|
||||
document.getElementById('#(service["name"])Status').classList.add("tag-success")
|
||||
document.getElementById('#(service["name"])Status').parentElement.classList.remove("btn-loading")
|
||||
document.getElementById('#(service["name"])Status').innerHTML = "Online"
|
||||
}
|
||||
}
|
||||
request.send()
|
||||
</script>
|
||||
#endif
|
||||
</div>
|
||||
@@ -7,49 +7,13 @@
|
||||
<h6>#(node)</h6>
|
||||
<div class="row row-cards row-deck">
|
||||
#for(service in services):
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">#(service["name"])</h3>
|
||||
<div class="card-options">
|
||||
<span class="tag #if(service["url"]): btn-loading #endif">
|
||||
Status
|
||||
<span id="#(service["name"])Status" class="tag-addon">Unavailable</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
#(service["description"])
|
||||
</div>
|
||||
#if(service["url"]):
|
||||
<div class="card-footer">
|
||||
URL: <a href="#(service["url"])">#(service["url"])</a>
|
||||
</div>
|
||||
#endif
|
||||
</div>
|
||||
#if(service["url"]):
|
||||
<script>
|
||||
fullURL = '#(service["url"])'
|
||||
var url = fullURL.replace("https://", "")
|
||||
url = url.replace("http://", "")
|
||||
var request = new XMLHttpRequest()
|
||||
request.open('GET', "/status/" + url, true)
|
||||
request.onload = function () {
|
||||
var data = JSON.parse(this.response)
|
||||
if (data.down === "true" || parseInt(data.code) > 500 && parseInt(data.code) < 600 ) {
|
||||
document.getElementById('#(service["name"])Status').classList.add("tag-danger")
|
||||
document.getElementById('#(service["name"])Status').parentElement.classList.remove("btn-loading")
|
||||
document.getElementById('#(service["name"])Status').innerHTML = "Offline"
|
||||
} else {
|
||||
document.getElementById('#(service["name"])Status').classList.add("tag-success")
|
||||
document.getElementById('#(service["name"])Status').parentElement.classList.remove("btn-loading")
|
||||
document.getElementById('#(service["name"])Status').innerHTML = "Online"
|
||||
}
|
||||
}
|
||||
request.send()
|
||||
</script>
|
||||
#if(!service["private"] == "true"):
|
||||
#inline("card")
|
||||
#else:
|
||||
#if(loggedIn):
|
||||
#inline("card")
|
||||
#endif
|
||||
</div>
|
||||
#endif
|
||||
#endfor
|
||||
</div>
|
||||
#endfor
|
||||
|
||||
30
Resources/Views/login.leaf
Normal file
30
Resources/Views/login.leaf
Normal file
@@ -0,0 +1,30 @@
|
||||
#define(body):
|
||||
<div class="page">
|
||||
<div class="page-single">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col col-login mx-auto">
|
||||
<div class="text-center mb-6">
|
||||
<img src="" class="h-6" alt="">
|
||||
</div>
|
||||
<form class="card" action="/login" method="post">
|
||||
<div class="card-body p-6">
|
||||
<div class="card-title">Login to #(config.title)</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">
|
||||
Password
|
||||
</label>
|
||||
<input type="password" class="form-control" id="passwordInput" name="password" value="password" placeholder="Password">
|
||||
</div>
|
||||
<div class="form-footer">
|
||||
<button type="submit" class="btn btn-primary btn-block">Sign in</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
#enddefine
|
||||
#inline("base")
|
||||
Reference in New Issue
Block a user