Files
spending-dashboards/infra-dashboard.html
Anthony Martin 935350dbe1
Some checks failed
Pages / deploy (push) Failing after 7s
Add infrastructure dashboard wiki
- 6 VMs: HA, Debian, OpenClaw, Hermes, Ubuntu XFCE, OpenClaw AI
- 18 LXC containers: Docker, Ollama, n8n, Gitea, etc.
- 28 Tailscale nodes (22 online)
- 31GB RAM, i5-8500T, 14TB NAS
- Interactive filtering, network topology diagram
2026-03-14 13:42:56 +00:00

226 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Home Lab Infrastructure</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0a0a1a;color:#e0e0e0;padding:20px}
h1{text-align:center;font-size:2em;margin-bottom:5px}
h1 .gl{color:#00d4ff}
.sub{text-align:center;color:#666;margin-bottom:25px;font-size:.9em}
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:25px}
.hc{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #0f3460;border-radius:14px;padding:18px;text-align:center}
.hv{font-size:2em;font-weight:bold;color:#00d4ff}
.hl{color:#888;font-size:.8em;margin-top:4px}
h2{font-size:1.4em;margin:25px 0 15px;padding-bottom:8px;border-bottom:1px solid #2a2a4a;display:flex;align-items:center;gap:8px}
h2 .badge{background:#0f3460;color:#00d4ff;font-size:.5em;padding:4px 10px;border-radius:12px;font-weight:normal}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.card{background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;padding:16px;transition:all .2s}
.card:hover{border-color:#0f3460;box-shadow:0 4px 20px rgba(0,212,255,.1)}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.card-name{font-weight:bold;font-size:1.1em}
.badge-on{background:rgba(34,197,94,.15);color:#22c55e;padding:3px 10px;border-radius:10px;font-size:.75em;font-weight:600}
.badge-off{background:rgba(239,68,68,.15);color:#ef4444;padding:3px 10px;border-radius:10px;font-size:.75em;font-weight:600}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:.85em;color:#aaa}
.specs .val{color:#e0e0e0;font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{background:#0f3460;color:#00d4ff;padding:2px 8px;border-radius:8px;font-size:.75em}
.tag.vm{background:#1a0a2e;color:#B57AFF}
.tag.lxc{background:#0a1a2e;color:#4A9EFF}
.tailscale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}
.ts-node{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:10px;font-size:.85em}
.ts-ip{color:#00d4ff;font-family:monospace;font-size:.85em;min-width:120px}
.ts-name{font-weight:600;flex:1}
.ts-os{color:#888;font-size:.8em}
.ts-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ts-status.on{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.5)}
.ts-status.off{background:#ef4444}
.diagram{background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;padding:20px;margin:20px 0;overflow-x:auto}
.diagram pre{font-family:'SF Mono',Monaco,monospace;font-size:.8em;line-height:1.6;color:#aaa;white-space:pre}
.diagram .label{color:#00d4ff;font-weight:bold}
.diagram .box{color:#FF9900}
.diagram .arrow{color:#666}
.note{color:#666;font-size:.75em;text-align:center;margin-top:15px}
.filter-bar{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}
.filter-btn{padding:6px 14px;border-radius:14px;border:1px solid #444;background:#2a2a3e;color:#aaa;cursor:pointer;font-size:.85em}
.filter-btn.active{background:#0f3460;color:#00d4ff;border-color:#00d4ff}
</style>
</head>
<body>
<h1><span class="gl">Home Lab</span> Infrastructure</h1>
<div class="sub">Proxmox VE 9.1 &bull; Perth, Western Australia &bull; Last updated: March 2026</div>
<div class="hero">
<div class="hc"><div class="hv">31GB</div><div class="hl">Total RAM</div></div>
<div class="hc"><div class="hv">6</div><div class="hl">Intel i5-8500T Cores</div></div>
<div class="hc"><div class="hv">6</div><div class="hl">Virtual Machines</div></div>
<div class="hc"><div class="hv">18</div><div class="hl">LXC Containers</div></div>
<div class="hc"><div class="hv">14TB</div><div class="hl">NAS Storage</div></div>
<div class="hc"><div class="hv">28</div><div class="hl">Tailscale Nodes</div></div>
</div>
<h2>Network Topology</h2>
<div class="diagram"><pre><span class="label">Internet</span>
<span class="arrow"></span>
<span class="arrow">├─</span> <span class="label">Tailscale Funnel</span><span class="box">hermes.kangaroo-eel.ts.net</span>
<span class="label">Home Network (192.168.178.0/24)</span>
<span class="arrow"></span>
<span class="arrow">├─</span> <span class="box">pve</span> 192.168.178.39 — <span class="label">Proxmox Hypervisor</span>
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">VM 100</span> Home Assistant (4GB RAM)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">VM 101</span> Debian VM (12GB RAM)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">VM 282</span> Ubuntu XFCE (9GB RAM)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">VM 400</span> OpenClaw (11GB RAM)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">VM 401</span> Hermes Agent (6GB RAM)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 200</span> Docker (containers)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 205</span> Ollama (AI inference)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 215</span> n8n (automation)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 221</span> Gitea (git)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 260</span> FreshRSS (RSS reader)
<span class="arrow"></span> <span class="arrow">├─</span> <span class="box">LXC 500</span> LiteLLM (LLM proxy)
<span class="arrow"></span> <span class="arrow">└─</span> ... (11 more containers)
<span class="arrow"></span>
<span class="arrow">├─</span> <span class="box">NAS</span> 192.168.178.31 — <span class="label">14TB NFS (Fred)</span>
<span class="arrow">└─</span> <span class="box">iMac</span><span class="label">746GB SMB share</span>
<span class="label">Tailscale Mesh (100.x.x.x)</span>
28 nodes &bull; 22 online &bull; Full mesh VPN</pre></div>
<h2>Virtual Machines <span class="badge">6 VMs</span></h2>
<div class="filter-bar">
<button class="filter-btn active" onclick="filterCards('all',this)">All</button>
<button class="filter-btn" onclick="filterCards('running',this)">Running</button>
<button class="filter-btn" onclick="filterCards('stopped',this)">Stopped</button>
</div>
<div class="grid" id="vm-grid">
<div class="card" data-status="running">
<div class="card-head"><span class="card-name">Home Assistant</span><span class="badge-on">Running</span></div>
<div class="specs"><span>VM ID: <span class="val">100</span></span><span>CPU: <span class="val">2 cores</span></span><span>RAM: <span class="val">4 GB</span></span><span>Disk: <span class="val">32 GB</span></span><span>TS IP: <span class="val">100.68.139.5</span></span><span>Role: <span class="val">Exit Node</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">Smart Home</span><span class="tag">Hue + Roborock</span></div>
</div>
<div class="card" data-status="running">
<div class="card-head"><span class="card-name">Debian VM</span><span class="badge-on">Running</span></div>
<div class="specs"><span>VM ID: <span class="val">101</span></span><span>CPU: <span class="val">4 cores</span></span><span>RAM: <span class="val">12 GB</span></span><span>Disk: <span class="val">209 GB</span></span><span>TS IP: <span class="val">100.98.95.65</span></span><span>Role: <span class="val">Docker Host</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">Docker</span><span class="tag">i5-8500T</span></div>
</div>
<div class="card" data-status="running">
<div class="card-head"><span class="card-name">OpenClaw</span><span class="badge-on">Running</span></div>
<div class="specs"><span>VM ID: <span class="val">400</span></span><span>CPU: <span class="val">3 cores</span></span><span>RAM: <span class="val">11 GB</span></span><span>Disk: <span class="val">80 GB</span></span><span>TS IP: <span class="val">100.99.132.65</span></span><span>Agent: <span class="val">Krilly the Crab</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">AI Agent</span></div>
</div>
<div class="card" data-status="running">
<div class="card-head"><span class="card-name">Hermes Agent</span><span class="badge-on">Running</span></div>
<div class="specs"><span>VM ID: <span class="val">401</span></span><span>CPU: <span class="val">3 cores</span></span><span>RAM: <span class="val">6 GB</span></span><span>Disk: <span class="val">45 GB</span></span><span>TS IP: <span class="val">100.118.168.32</span></span><span>Role: <span class="val">This Machine!</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">AI Assistant</span><span class="tag">Gateway</span></div>
</div>
<div class="card" data-status="running">
<div class="card-head"><span class="card-name">Ubuntu Server XFCE</span><span class="badge-on">Running</span></div>
<div class="specs"><span>VM ID: <span class="val">282</span></span><span>CPU: <span class="val">4 cores</span></span><span>RAM: <span class="val">9 GB</span></span><span>Disk: <span class="val">63 GB</span></span><span>TS IP: <span class="val">100.101.26.104</span></span><span>Notes: <span class="val">Sunshine disabled</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">Desktop</span></div>
</div>
<div class="card" data-status="stopped">
<div class="card-head"><span class="card-name">OpenClaw AI</span><span class="badge-off">Stopped</span></div>
<div class="specs"><span>VM ID: <span class="val">111</span></span><span>CPU: <span class="val">4 cores</span></span><span>RAM: <span class="val">6.5 GB</span></span><span>Disk: <span class="val">41 GB</span></span><span>Notes: <span class="val">Offline 2 days</span></span></div>
<div class="tags"><span class="tag vm">QEMU VM</span><span class="tag">Unused</span></div>
</div>
</div>
<h2>LXC Containers <span class="badge">18 containers</span></h2>
<div class="grid" id="lxc-grid">
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Docker</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">200</span></span><span>TS: <span class="val">100.96.150.69</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Docker Engine</span><span class="tag">Cleaned 82%→27%</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Ollama</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">205</span></span><span>TS: <span class="val">100.75.117.84</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">AI Inference</span><span class="tag">28GB models</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">n8n</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">215</span></span><span>TS: <span class="val">100.84.124.30</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Automation</span><span class="tag">Workflows</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Gitea</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">221</span></span><span>TS: <span class="val">100.82.100.128</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Git</span><span class="tag">v1.25.2</span><span class="tag">Pages</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Cloudreve</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">209</span></span><span>TS: <span class="val">100.111.187.7</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Cloud Storage</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">FreshRSS</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">260</span></span><span>TS: <span class="val">100.83.60.93</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">RSS Reader</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">LiteLLM</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">500</span></span><span>TS: <span class="val">100.79.29.64</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">LLM Proxy</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Kasm</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">230</span></span><span>TS: <span class="val">100.121.158.115</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Remote Desktop</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">OpenWebUI</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">245</span></span><span>TS: <span class="val">100.69.230.13</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">LLM Interface</span><span class="tag">Cleaned 82%→27%</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Glance</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">106</span></span><span>TS: <span class="val">100.79.208.93</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Dashboard</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Homarr</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">108</span></span><span>Notes: <span class="val">Homelab Dashboard</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Dashboard</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">rclone</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">104</span></span><span>TS: <span class="val">100.107.116.17</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Cloud Sync</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Nextcloud</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">270</span></span><span>TS: <span class="val">100.90.102.19</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">File Sync</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">SFTPGo</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">299</span></span><span>TS: <span class="val">100.88.223.70</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">SFTP</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Monitoring</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">310</span></span><span>Notes: <span class="val">Infrastructure Monitoring</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Monitoring</span></div></div>
<div class="card" data-status="running"><div class="card-head"><span class="card-name">Runtipi</span><span class="badge-on">Running</span></div><div class="specs"><span>CT: <span class="val">201</span></span><span>TS: <span class="val">100.96.244.39</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">App Store</span></div></div>
<div class="card" data-status="stopped"><div class="card-head"><span class="card-name">Webserver</span><span class="badge-off">Stopped</span></div><div class="specs"><span>CT: <span class="val">207</span></span><span>Notes: <span class="val">Offline 320 days</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Unused</span></div></div>
<div class="card" data-status="stopped"><div class="card-head"><span class="card-name">NewsBlur</span><span class="badge-off">Stopped</span></div><div class="specs"><span>CT: <span class="val">265</span></span><span>Notes: <span class="val">Replaced by FreshRSS</span></span></div><div class="tags"><span class="tag lxc">LXC</span><span class="tag">Unused</span></div></div>
</div>
<h2>Tailscale Network <span class="badge">28 nodes</span></h2>
<div class="tailscale-grid">
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.118.168.32</div><div class="ts-name">hermes</div><div class="ts-os">Linux (you are here!)</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.96.100.82</div><div class="ts-name">pve</div><div class="ts-os">Linux · Proxmox</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.98.95.65</div><div class="ts-name">debianvm</div><div class="ts-os">Linux · Docker</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.99.132.65</div><div class="ts-name">openclaw</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.68.139.5</div><div class="ts-name">homeassistant</div><div class="ts-os">Linux · Exit Node</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.82.100.128</div><div class="ts-name">gitea</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.84.124.30</div><div class="ts-name">n8n</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.83.60.93</div><div class="ts-name">freshrss</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.75.117.84</div><div class="ts-name">ollama</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.79.208.93</div><div class="ts-name">glance</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.79.29.64</div><div class="ts-name">litellm</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.111.187.7</div><div class="ts-name">cloudreve</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.121.158.115</div><div class="ts-name">kasm</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.90.102.19</div><div class="ts-name">nextcloud</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.88.223.70</div><div class="ts-name">sftpgo</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.96.244.39</div><div class="ts-name">runtipi</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.69.230.13</div><div class="ts-name">openweb</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.107.116.17</div><div class="ts-name">rclone</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.101.26.104</div><div class="ts-name">ubuntu-server-xfce</div><div class="ts-os">Linux</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.112.123.124</div><div class="ts-name">anthonys-imac</div><div class="ts-os">macOS</div></div>
<div class="ts-node"><div class="ts-status on"></div><div class="ts-ip">100.111.198.120</div><div class="ts-name">anthonys-ipad</div><div class="ts-os">iOS</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.100.116.67</div><div class="ts-name">anthonys-iphone</div><div class="ts-os">iOS · 11h ago</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.89.160.112</div><div class="ts-name">audiobookshelf</div><div class="ts-os">Linux · 76d ago</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.113.221.26</div><div class="ts-name">openclaw-ai</div><div class="ts-os">Linux · 2d ago</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.88.222.25</div><div class="ts-name">newsblur</div><div class="ts-os">Linux · 21d ago</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.98.160.15</div><div class="ts-name">webserver</div><div class="ts-os">Linux · 320d ago</div></div>
<div class="ts-node"><div class="ts-status off"></div><div class="ts-ip">100.64.141.71</div><div class="ts-name">wordpress</div><div class="ts-os">Linux · 324d ago</div></div>
</div>
<h2>Storage</h2>
<div class="grid">
<div class="card"><div class="card-head"><span class="card-name">pve-root</span><span class="badge-on">68 GB</span></div><div class="specs"><span>Used: <span class="val">45 GB (70%)</span></span><span>Type: <span class="val">Local SSD</span></span></div></div>
<div class="card"><div class="card-head"><span class="card-name">Fred (NFS)</span><span class="badge-on">14 TB</span></div><div class="specs"><span>Used: <span class="val">7.7 TB (58%)</span></span><span>Server: <span class="val">192.168.178.31</span></span></div><div class="tags"><span class="tag">Backups</span><span class="tag">Snapshots</span><span class="tag">50MB/s</span></div></div>
<div class="card"><div class="card-head"><span class="card-name">iMacHDD</span><span class="badge-on">746 GB</span></div><div class="specs"><span>Used: <span class="val">876 MB (0.1%)</span></span><span>Type: <span class="val">SMB Share</span></span></div></div>
</div>
<div class="note">Hermes Infrastructure Wiki · Source in Gitea · March 2026</div>
<script>
function filterCards(status, btn) {
document.querySelectorAll('.filter-btn').forEach(function(b) { b.classList.remove('active'); });
btn.classList.add('active');
document.querySelectorAll('#vm-grid .card, #lxc-grid .card').forEach(function(c) {
c.style.display = (status === 'all' || c.dataset.status === status) ? '' : 'none';
});
}
</script>
</body>
</html>