Files
POPS/app/templates/base.html
Martin Hohenberg cb5a2bc394 Add inline SVG logo to sidebar (nozzle + layers mark)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 05:49:51 +02:00

76 lines
3.4 KiB
HTML

<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}POPS{% endblock %}</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<style>
body { background: #0d1117; }
#sidebar {
width: 230px;
min-height: 100vh;
background: #010409;
border-right: 1px solid #21262d;
flex-shrink: 0;
}
#sidebar .brand { border-bottom: 1px solid #21262d; }
#sidebar .nav-link {
color: #8b949e;
border-radius: 6px;
padding: .4rem .75rem;
font-size: .9rem;
}
#sidebar .nav-link i { width: 18px; }
#sidebar .nav-link:hover { color: #e6edf3; background: #161b22; }
#sidebar .nav-link.active { color: #e6edf3; background: #21262d; font-weight: 500; }
#content { min-height: 100vh; }
.card { border-color: #21262d !important; background: #161b22 !important; }
.table-dark { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { border-color: #21262d; }
</style>
</head>
<body>
<div class="d-flex">
<nav id="sidebar" class="p-3 d-flex flex-column gap-3">
<a href="/" class="brand text-decoration-none pb-3">
<div class="d-flex align-items-center gap-2">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="#58a6ff">
<!-- extruder head -->
<rect x="7" y="1" width="10" height="5" rx="1.5"/>
<!-- nozzle taper -->
<path d="M8 6h8l-2.5 5.5h-3z"/>
<!-- filament bead -->
<circle cx="12" cy="13.5" r="1.25"/>
<!-- printed layers -->
<rect x="1.5" y="16.5" width="21" height="2.5" rx="1.25"/>
<rect x="1.5" y="21" width="21" height="2" rx="1" fill-opacity="0.55"/>
</svg>
<div>
<div class="text-white fw-semibold lh-sm">POPS</div>
<div class="text-secondary lh-sm" style="font-size:.68rem;letter-spacing:.03em">PRINT FARM MANAGER</div>
</div>
</div>
</a>
<ul class="nav flex-column gap-1">
<li><a href="/" class="nav-link {% if active == 'dashboard' %}active{% endif %}"><i class="bi bi-speedometer2 me-2"></i>Dashboard</a></li>
<li><a href="/printers" class="nav-link {% if active == 'printers' %}active{% endif %}"><i class="bi bi-printer me-2"></i>Printers</a></li>
<li><a href="/jobs" class="nav-link {% if active == 'jobs' %}active{% endif %}"><i class="bi bi-list-task me-2"></i>Jobs</a></li>
<li><a href="/brackets" class="nav-link {% if active == 'brackets' %}active{% endif %}"><i class="bi bi-collection me-2"></i>Brackets</a></li>
<li><a href="/todos" class="nav-link {% if active == 'todos' %}active{% endif %}"><i class="bi bi-check2-square me-2"></i>To-Do</a></li>
<li><a href="/pricing" class="nav-link {% if active == 'pricing' %}active{% endif %}"><i class="bi bi-currency-euro me-2"></i>Pricing</a></li>
</ul>
</nav>
<main id="content" class="flex-grow-1 p-4">
{% block content %}{% endblock %}
</main>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>