Files
statuspage/index.html
T
aziis98 c988ddf22f ui: uptime chip, #0004 shadows, tick marks, raw metrics; server: config meta injection
- ui: add uptime% chip (green >=99, red below) after ssh; remove "up" word
- ui: all shadows use #0004 shadow-color; modal shadow-lg derives from it
- ui: status modal draws a datetime tick mark every 20 history entries from the newest
- server: drop max_points/downsampling/bucketing; metrics served raw, plots share a ~24h window
- docs: fix ps --no-headers in top example; document raw metrics API
- server: inject <meta name=title/description> into index.html from config title + per-group host patterns (shared with --check recap)
2026-08-02 02:06:27 +02:00

61 lines
1.7 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Status Page</title>
<!-- statuspage:inject -->
<link
rel="icon"
type="image/svg+xml"
href="/favicon.svg"
media="(prefers-color-scheme: light)"
/>
<link
rel="icon"
type="image/svg+xml"
href="/favicon-dark.svg"
media="(prefers-color-scheme: dark)"
/>
<link
id="theme-light"
rel="stylesheet"
media="(prefers-color-scheme: light)"
href="./src/light.css"
/>
<link
id="theme-dark"
rel="stylesheet"
media="(prefers-color-scheme: dark)"
href="./src/dark.css"
/>
<link rel="stylesheet" href="./src/styles.css" />
<script>
(function () {
try {
var q = new URLSearchParams(location.search).get('theme')
if (q === 'dark' || q === 'light' || q === 'system') {
localStorage.setItem('statuspage-theme', q)
}
var t = localStorage.getItem('statuspage-theme')
var light = document.getElementById('theme-light')
var dark = document.getElementById('theme-dark')
if (!light || !dark) return
if (t === 'dark') {
light.media = 'not all'
dark.media = 'all'
} else if (t === 'light') {
light.media = 'all'
dark.media = 'not all'
}
} catch (e) {}
})()
</script>
<script src="https://cdn.jsdelivr.net/npm/iconify-icon@1.0.8/dist/iconify-icon.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>