36 lines
1.7 KiB
Plaintext
36 lines
1.7 KiB
Plaintext
{{define "base"}}
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>RiskRancher OSS</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body>
|
|
<header style="display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; background: white; border-bottom: 1px solid #e2e8f0;">
|
|
<div class="logo">
|
|
<h2 style="margin: 0;"><a href="/dashboard" style="color: #0f172a; text-decoration: none;">🐴 RiskRancher</a></h2>
|
|
</div>
|
|
<nav style="display: flex; align-items: center; gap: 15px;">
|
|
<span style="color: #475569; font-size: 0.9rem; font-family: monospace; padding-left: 15px; margin-left: 5px;">Community Edition</span>
|
|
<button onclick="logout()" style="background: #f1f5f9; color: #dc2626; border: 1px solid #e2e8f0; padding: 6px 12px; border-radius: 4px; font-weight: bold; cursor: pointer; font-size: 0.85rem;">Log Out</button>
|
|
</nav>
|
|
</header>
|
|
<script>
|
|
async function logout() {
|
|
try {
|
|
await fetch('/api/auth/logout', { method: 'POST' });
|
|
window.location.href = '/login';
|
|
} catch (e) { alert("Failed to log out."); }
|
|
}
|
|
</script>
|
|
|
|
<main class="container">
|
|
{{template "content" .}}
|
|
</main>
|
|
<footer style="text-align: center; padding: 20px; margin-top: 40px; border-top: 1px solid #e2e8f0; color: #94a3b8; font-size: 0.85rem;">
|
|
🐴 RiskRancher Core Edition | Version: <strong>{{.Version}}</strong> | Build: <strong>{{.Commit}}</strong>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
{{end}} |