bmc_hub/static/design_templates/03_swiss/index.html

278 lines
9.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BMC Hub - Swiss Dashboard</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap');
:root {
--bg-body: #ffffff;
--text-primary: #000000;
--text-secondary: #666666;
--accent: #ff3b30; /* Swiss Red */
--grid-line: #e5e5e5;
}
body {
background-color: var(--bg-body);
color: var(--text-primary);
font-family: 'Inter', sans-serif;
}
.sidebar {
height: 100vh;
position: fixed;
width: 280px;
border-right: 2px solid var(--text-primary);
padding: 0;
background: white;
z-index: 100;
}
.brand-section {
padding: 2rem;
border-bottom: 2px solid var(--text-primary);
}
.nav-link {
color: var(--text-primary);
padding: 1.2rem 2rem;
border-bottom: 1px solid var(--grid-line);
font-weight: 600;
font-size: 1.1rem;
border-radius: 0;
transition: all 0.2s;
}
.nav-link:hover, .nav-link.active {
background-color: var(--text-primary);
color: white;
}
.main-content {
margin-left: 280px;
padding: 0;
}
.top-bar {
border-bottom: 2px solid var(--text-primary);
padding: 2rem 3rem;
background: white;
}
.content-grid {
padding: 3rem;
}
.stat-card {
border: 2px solid var(--text-primary);
padding: 2rem;
height: 100%;
background: white;
transition: transform 0.2s;
}
.stat-card:hover {
box-shadow: 8px 8px 0px var(--text-primary);
transform: translate(-4px, -4px);
}
.stat-number {
font-size: 3.5rem;
font-weight: 800;
line-height: 1;
margin-bottom: 0.5rem;
letter-spacing: -2px;
}
.stat-label {
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
font-size: 0.8rem;
}
.btn-primary {
background-color: var(--text-primary);
border: none;
border-radius: 0;
padding: 1rem 2rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
}
.btn-primary:hover {
background-color: var(--accent);
}
.table {
border: 2px solid var(--text-primary);
}
.table th {
background: var(--text-primary);
color: white;
font-weight: 600;
text-transform: uppercase;
padding: 1rem;
border: none;
}
.table td {
padding: 1.2rem 1rem;
border-bottom: 1px solid var(--grid-line);
font-weight: 500;
}
.status-dot {
width: 12px;
height: 12px;
background: var(--text-primary);
display: inline-block;
margin-right: 8px;
}
.status-dot.success { background: #2ecc71; }
.status-dot.warning { background: #f1c40f; }
.status-dot.danger { background: #e74c3c; }
h1, h2, h3, h4, h5 {
font-weight: 800;
letter-spacing: -1px;
}
</style>
</head>
<body>
<div class="sidebar">
<div class="brand-section">
<h2 class="mb-0">BMC<span style="color: var(--accent)">.</span>HUB</h2>
</div>
<nav class="nav flex-column">
<a class="nav-link active" href="index.html">Dashboard</a>
<a class="nav-link" href="customers.html">Kunder</a>
<a class="nav-link" href="#">Hardware</a>
<a class="nav-link" href="#">Fakturering</a>
<a class="nav-link" href="#">Indstillinger</a>
</nav>
<div class="p-4 mt-auto">
<div class="p-3 bg-light border border-dark">
<small class="fw-bold d-block mb-1">SYSTEM STATUS</small>
<div class="d-flex align-items-center">
<div class="status-dot success"></div>
<span class="fw-bold">ONLINE</span>
</div>
</div>
</div>
</div>
<div class="main-content">
<div class="top-bar d-flex justify-content-between align-items-center">
<div>
<h1 class="mb-0">OVERSIGT</h1>
</div>
<div class="d-flex gap-3">
<button class="btn btn-outline-dark rounded-0 fw-bold px-4">SØG</button>
<button class="btn btn-primary">NY OPGAVE</button>
</div>
</div>
<div class="content-grid">
<div class="row g-4 mb-5">
<div class="col-md-3">
<div class="stat-card">
<div class="stat-number">124</div>
<div class="stat-label">Aktive Kunder</div>
</div>
</div>
<div class="col-md-3">
<div class="stat-card">
<div class="stat-number">856</div>
<div class="stat-label">Hardware Enheder</div>
</div>
</div>
<div class="col-md-3">
<div class="stat-card">
<div class="stat-number" style="color: var(--accent)">12</div>
<div class="stat-label">Support Sager</div>
</div>
</div>
<div class="col-md-3">
<div class="stat-card">
<div class="stat-number">450k</div>
<div class="stat-label">Månedlig Omsætning</div>
</div>
</div>
</div>
<div class="row g-5">
<div class="col-md-8">
<h4 class="mb-4">SENESTE AKTIVITETER</h4>
<table class="table">
<thead>
<tr>
<th>Kunde</th>
<th>Handling</th>
<th>Status</th>
<th>Tid</th>
</tr>
</thead>
<tbody>
<tr>
<td>Advokatgruppen A/S</td>
<td>Firewall konfiguration</td>
<td><div class="status-dot success"></div> Fuldført</td>
<td>10:23</td>
</tr>
<tr>
<td>Byg & Bo ApS</td>
<td>Licens fornyelse</td>
<td><div class="status-dot warning"></div> Afventer</td>
<td>I går</td>
</tr>
<tr>
<td>Cafe Møller</td>
<td>Netværksnedbrud</td>
<td><div class="status-dot danger"></div> Kritisk</td>
<td>I går</td>
</tr>
<tr>
<td>Dansk Design Hus</td>
<td>Ny bruger oprettet</td>
<td><div class="status-dot success"></div> Fuldført</td>
<td>2 dage siden</td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-4">
<h4 class="mb-4">HURTIG ADGANG</h4>
<div class="d-grid gap-3">
<button class="btn btn-outline-dark rounded-0 text-start p-3 fw-bold">
<i class="bi bi-plus-lg me-2"></i> OPRET NY KUNDE
</button>
<button class="btn btn-outline-dark rounded-0 text-start p-3 fw-bold">
<i class="bi bi-router me-2"></i> TILFØJ HARDWARE
</button>
<button class="btn btn-outline-dark rounded-0 text-start p-3 fw-bold">
<i class="bi bi-file-text me-2"></i> OPRET FAKTURA
</button>
<div class="p-4 bg-light border border-dark mt-3">
<h5 class="mb-3">NOTER</h5>
<p class="mb-0 small fw-medium text-secondary">Husk at opdatere firewall regler for kunde #124 inden fredag.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>