circus/crates/server/templates/base.html
NotAShelf b4d3c9d501
crates/server: update templates with improved dashboard and styling
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I07f9de61588f61aae003f78c30fd6d326a6a6964
2026-02-02 01:49:35 +03:00

45 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}FC CI{% endblock %}</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<nav class="navbar">
<div class="nav-brand"><a href="/">FC CI</a></div>
<div class="nav-links">
<a href="/projects">Projects</a>
<a href="/evaluations">Evaluations</a>
<a href="/builds">Builds</a>
<a href="/queue">Queue</a>
<a href="/channels">Channels</a>
<a href="/admin">Admin</a>
</div>
<div class="nav-auth">
{% block auth %}{% endblock %}
</div>
</nav>
<main class="page-main">
<div class="container">
{% block breadcrumbs %}{% endblock %}
{% block content %}{% endblock %}
</div>
</main>
<footer class="footer">
<p>FC CI &mdash; Nix-based continuous integration</p>
</footer>
<script>
function escapeHtml(s) {
var d = document.createElement('div');
d.textContent = s;
return d.innerHTML;
}
function showError(el, msg) {
el.innerHTML = '<div class="flash-message flash-error">' + escapeHtml(msg) + '</div>';
}
</script>
{% block scripts %}{% endblock %}
</body>
</html>