All checks were successful
Build & Push Docker Image to Gitea Registry / build-and-push (push) Successful in 11s
79 lines
3.4 KiB
HTML
79 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>MischLabs - Dashboard</title>
|
|
<meta name="description" content="MischLabs service dashboard for self-hosted apps.">
|
|
<meta name="theme-color" content="#0f172a">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
<meta name="apple-mobile-web-app-title" content="MischLabs">
|
|
<link rel="manifest" href="/manifest.webmanifest?v=3">
|
|
<link rel="apple-touch-icon" href="/icons/apple-touch-icon-v2.png">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/icons/icon-192.png">
|
|
<link rel="icon" type="image/png" sizes="512x512" href="/icons/icon-512.png">
|
|
<link rel="stylesheet" href="style.css?v=10">
|
|
</head>
|
|
<body>
|
|
<header class="shell hero">
|
|
<div class="brand">
|
|
<img class="brand-mark" src="/icons/app-icon-source.png" alt="" width="72" height="72">
|
|
<div>
|
|
<p class="eyebrow">Self-hosted dashboard</p>
|
|
<h1>MischLabs</h1>
|
|
<p class="subtitle">Cloud, Medien, Code und Spielwiese an einem Ort.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hero-meta" aria-label="Systemuebersicht">
|
|
<div class="metric">
|
|
<span class="metric-value" id="onlineCount">--</span>
|
|
<span class="metric-label">Online</span>
|
|
</div>
|
|
<div class="metric">
|
|
<span class="metric-value" id="serviceCount">9</span>
|
|
<span class="metric-label">Dienste</span>
|
|
</div>
|
|
<div class="metric">
|
|
<span class="metric-value">PWA</span>
|
|
<span class="metric-label">Installierbar</span>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="shell">
|
|
<section class="control-bar" aria-label="Dienste filtern">
|
|
<label class="search-box">
|
|
<span class="search-icon" aria-hidden="true">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
|
<circle cx="11" cy="11" r="7"></circle>
|
|
<path d="m20 20-3.5-3.5"></path>
|
|
</svg>
|
|
</span>
|
|
<input id="serviceSearch" type="search" placeholder="Dienst suchen" autocomplete="off">
|
|
</label>
|
|
|
|
<div class="segments" role="tablist" aria-label="Kategorien">
|
|
<button class="segment is-active" type="button" data-filter="all">Alle</button>
|
|
<button class="segment" type="button" data-filter="access">Zugang</button>
|
|
<button class="segment" type="button" data-filter="media">Medien</button>
|
|
<button class="segment" type="button" data-filter="work">Arbeit</button>
|
|
<button class="segment" type="button" data-filter="personal">Persoenlich</button>
|
|
</div>
|
|
</section>
|
|
|
|
<div id="dashboardSections"></div>
|
|
|
|
<p class="empty-state" id="emptyState" hidden>Kein Dienst passt zur Suche.</p>
|
|
</main>
|
|
|
|
<footer class="shell footer">
|
|
<span>MischLabs</span>
|
|
<span id="lastChecked">Status wird im Hintergrund geprueft.</span>
|
|
</footer>
|
|
|
|
<script src="/app.js?v=2" defer></script>
|
|
</body>
|
|
</html>
|