First commit
This commit is contained in:
commit
8200c2bc87
17 files changed
+2592
No files matched your search
+105
@@ -0,0 +1,105 @@
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Logwell</title>
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%236366f1'/%3E%3Cpath d='M8 10h16M8 16h11M8 22h14' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script>
|
||||
// Applique le thème mémorisé avant l'affichage, pour éviter un flash.
|
||||
try { var t = localStorage.getItem('logwell.theme'); if (t) document.documentElement.dataset.theme = t; } catch (e) {}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<header class="topbar">
|
||||
<div class="brand">
|
||||
<svg viewBox="0 0 32 32" aria-hidden="true"><rect width="32" height="32" rx="8"/><path d="M8 10h16M8 16h11M8 22h14"/></svg>
|
||||
<span>Logwell</span>
|
||||
</div>
|
||||
|
||||
<div class="search">
|
||||
<svg class="ico" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg>
|
||||
<input id="q" type="search" autocomplete="off" spellcheck="false" aria-label="Rechercher dans les logs">
|
||||
<button id="mode" class="chip" type="button" title="Basculer entre recherche simple et LogsQL">Simple</button>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<button id="live" class="btn live" type="button" title="Afficher les nouveaux messages en direct">
|
||||
<span class="dot"></span><span class="lbl">Direct</span>
|
||||
</button>
|
||||
<button id="tagsBtn" class="icon-btn" type="button" title="Tags de couleur" aria-label="Tags de couleur">
|
||||
<svg viewBox="0 0 24 24"><path d="M3 12V4a1 1 0 0 1 1-1h8l9 9-9 9z"/><circle cx="8" cy="8" r="1.5"/></svg>
|
||||
</button>
|
||||
<button id="themeBtn" class="icon-btn" type="button" title="Thème clair / sombre" aria-label="Changer de thème">
|
||||
<svg class="sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>
|
||||
<svg class="moon" viewBox="0 0 24 24"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="progress" aria-hidden="true"></div>
|
||||
</header>
|
||||
|
||||
<section class="filters">
|
||||
<select id="range" aria-label="Période">
|
||||
<option value="5m">5 min</option>
|
||||
<option value="15m">15 min</option>
|
||||
<option value="1h" selected>1 heure</option>
|
||||
<option value="6h">6 heures</option>
|
||||
<option value="24h">24 heures</option>
|
||||
<option value="7d">7 jours</option>
|
||||
<option value="30d">30 jours</option>
|
||||
<option value="all">Tout</option>
|
||||
</select>
|
||||
<select id="severity" aria-label="Sévérité">
|
||||
<option value="">Toutes sévérités</option>
|
||||
<option value="2">Critiques et +</option>
|
||||
<option value="3">Erreurs et +</option>
|
||||
<option value="4">Warnings et +</option>
|
||||
<option value="5">Notice et +</option>
|
||||
<option value="6">Info et +</option>
|
||||
</select>
|
||||
<select id="host" aria-label="Hôte"><option value="">Tous les hôtes</option></select>
|
||||
<select id="app" aria-label="Application"><option value="">Toutes les applis</option></select>
|
||||
<span class="spacer"></span>
|
||||
<span id="count" class="muted"></span>
|
||||
</section>
|
||||
|
||||
<section id="histo" class="histo" aria-label="Volume de logs dans le temps"></section>
|
||||
|
||||
<div id="error" class="error-banner" hidden></div>
|
||||
<button id="newPill" class="pill" type="button" hidden></button>
|
||||
|
||||
<main id="list" class="list"></main>
|
||||
<div id="empty" class="empty" hidden>
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 6h16M4 12h10M4 18h7"/></svg>
|
||||
<p><strong>Aucun log ne correspond.</strong></p>
|
||||
<p class="muted">Élargissez la période ou envoyez des messages syslog sur le port 514 (UDP ou TCP).</p>
|
||||
</div>
|
||||
|
||||
<footer class="status">
|
||||
<span id="conn" class="conn"></span>
|
||||
<span id="stats" class="muted"></span>
|
||||
</footer>
|
||||
|
||||
<dialog id="tagsDlg" aria-labelledby="tagsTitle">
|
||||
<div class="dlg">
|
||||
<header>
|
||||
<h2 id="tagsTitle">Tags de couleur</h2>
|
||||
<button id="closeTags" class="icon-btn" type="button" aria-label="Fermer">
|
||||
<svg viewBox="0 0 24 24"><path d="M6 6l12 12M18 6 6 18"/></svg>
|
||||
</button>
|
||||
</header>
|
||||
<p class="muted small">Les mots-clés sont surlignés dans les messages. Les modifications sont enregistrées automatiquement. En cas de chevauchement, le tag le plus haut dans la liste l'emporte.</p>
|
||||
<div id="tagList" class="tag-list"></div>
|
||||
<footer>
|
||||
<button id="addTag" class="btn primary" type="button">+ Ajouter un tag</button>
|
||||
<button id="resetTags" class="btn ghost" type="button">Rétablir les tags par défaut</button>
|
||||
</footer>
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
<div id="toast" class="toast" hidden></div>
|
||||
|
||||
<script src="app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user