mirror of
https://github.com/Noratrieb/uptime.git
synced 2026-01-14 16:45:06 +01:00
70 lines
No EOL
1.8 KiB
HTML
70 lines
No EOL
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Uptime</title>
|
|
<style>
|
|
html {
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
}
|
|
|
|
.check-result-bar {
|
|
display: flex;
|
|
}
|
|
|
|
.check-result {
|
|
height: 10px;
|
|
width: 5px;
|
|
}
|
|
|
|
.check-result-red {
|
|
background-color: red;
|
|
}
|
|
|
|
.check-result-orange {
|
|
background-color: orange;
|
|
}
|
|
|
|
.check-result-green {
|
|
background-color: green;
|
|
}
|
|
|
|
.check-result-unknown {
|
|
background-color: grey;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
{% for check in status %}
|
|
|
|
<h2>{{ check.website }}</h2>
|
|
<p>Uptime: {{ check.ok_ratio }} ({{ check.count_ok }}/{{ check.total_requests }})</p>
|
|
{% if check.last_ok.is_some() %}
|
|
<p>Last OK: <span class="utc-timestamp">{{ check.last_ok.as_deref().unwrap() }}</span></p>
|
|
{% endif %}
|
|
|
|
<div class="check-result-bar">
|
|
{% for result in check.bar_classes %}
|
|
<div class="check-result {{ result.as_class() }}"></div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
{% endfor %}
|
|
</main>
|
|
|
|
<script>
|
|
const timestamps = document.querySelectorAll(".utc-timestamp");
|
|
timestamps.forEach((timestamp) => {
|
|
const date = new Date(timestamp.innerText);
|
|
const formatted = new Intl.DateTimeFormat([], {
|
|
dateStyle: "short",
|
|
timeStyle: "short"
|
|
}).format(date);
|
|
timestamp.innerText = formatted;
|
|
})
|
|
</script>
|
|
</body>
|
|
</html> |