Added EonaCat.LogStack.Status
Updated EonaCat.LogStack.LogClient to support EonaCat.LogStack.Status
This commit is contained in:
116
EonaCat.LogStack.Status/Pages/Shared/_Layout.cshtml
Normal file
116
EonaCat.LogStack.Status/Pages/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,116 @@
|
||||
<!--
|
||||
This file is part of the EonaCat project(s) which is released under the Apache License.
|
||||
See the LICENSE file or go to https://EonaCat.com/License for full license details.
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>@ViewData["Title"] — Status</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=DM+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="~/css/site.css" />
|
||||
@RenderSection("Styles", required: false)
|
||||
</head>
|
||||
<body>
|
||||
<div class="app-shell">
|
||||
<nav class="sidebar" id="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<div class="logo">
|
||||
<span class="logo-icon">◈</span>
|
||||
<span class="logo-text">EonaCat LogStack<br /><strong>Status</strong></span>
|
||||
</div>
|
||||
<button class="sidebar-toggle" onclick="toggleSidebar()">⟨</button>
|
||||
</div>
|
||||
|
||||
<div class="nav-section">
|
||||
<span class="nav-label">MONITORING</span>
|
||||
<a href="/" class="nav-item @(ViewData["Page"]?.ToString() == "dashboard" ? "active" : "")">
|
||||
<span class="nav-icon">⬡</span> Dashboard
|
||||
<span class="status-dot" id="overall-dot"></span>
|
||||
</a>
|
||||
<a href="/monitors" class="nav-item @(ViewData["Page"]?.ToString() == "monitors" ? "active" : "")">
|
||||
<span class="nav-icon">◎</span> Monitors
|
||||
</a>
|
||||
<a href="/certificates" class="nav-item @(ViewData["Page"]?.ToString() == "certs" ? "active" : "")">
|
||||
<span class="nav-icon">◧</span> Certificates
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@if (Context.Session.GetString("IsAdmin") == "true")
|
||||
{
|
||||
<div class="nav-section">
|
||||
<span class="nav-label">ANALYTICS</span>
|
||||
<a href="/logs" class="nav-item @(ViewData["Page"]?.ToString() == "logs" ? "active" : "")">
|
||||
<span class="nav-icon">▦</span> Log Stream
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-section">
|
||||
<span class="nav-label">ADMIN</span>
|
||||
<a href="/admin/monitors" class="nav-item @(ViewData["Page"]?.ToString() == "admin-monitors" ? "active" : "")">
|
||||
<span class="nav-icon">⊞</span> Manage Monitors
|
||||
</a>
|
||||
<a href="/admin/certificates" class="nav-item @(ViewData["Page"]?.ToString() == "admin-certs" ? "active" : "")">
|
||||
<span class="nav-icon">⊟</span> Manage Certificates
|
||||
</a>
|
||||
<a href="/admin/settings" class="nav-item @(ViewData["Page"]?.ToString() == "admin-settings" ? "active" : "")">
|
||||
<span class="nav-icon">◈</span> Settings
|
||||
</a>
|
||||
<a href="/admin/ingest" class="nav-item @(ViewData["Page"]?.ToString() == "admin-ingest" ? "active" : "")">
|
||||
<span class="nav-icon">⊕</span> Log Ingest
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-section">
|
||||
<a href="/admin/logout" class="nav-item nav-item--danger">
|
||||
<span class="nav-icon">⊘</span> Logout
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="nav-section" style="margin-top:auto">
|
||||
<a href="/admin/login" class="nav-item">
|
||||
<span class="nav-icon">⊛</span> Admin Login
|
||||
</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="sidebar-footer">
|
||||
<span class="clock" id="clock">--:--:--</span>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="main-content">
|
||||
<div class="topbar">
|
||||
<div class="breadcrumb">@ViewData["Title"]</div>
|
||||
<div class="topbar-right">
|
||||
<div class="live-indicator">
|
||||
<span class="pulse-dot"></span> LIVE
|
||||
</div>
|
||||
@if (Context.Session.GetString("IsAdmin") == "true")
|
||||
{
|
||||
<span class="admin-badge">ADMIN</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
@RenderBody()
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
© @DateTime.Now.Year
|
||||
<strong>
|
||||
<a href="https://EonaCat.com" target="_blank">EonaCat (Jeroen Saey)</a>
|
||||
</strong>
|
||||
All rights reserved.
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="~/js/site.js"></script>
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user