Compare commits
13 Commits
cb83d11261
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| edf6f674b3 | |||
| a8d367b4be | |||
| 5ca0b648ca | |||
| 518ed42f60 | |||
| a9147b0198 | |||
| 2e3484b1d9 | |||
| 9295354e72 | |||
| 07cef73fae | |||
| e3d089a71f | |||
| 120b61a423 | |||
| cd16b7ea28 | |||
| afbdefa549 | |||
| f1e192c5d4 |
@@ -153,6 +153,8 @@ main { flex: 1; }
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stat-cell:last-child { border-right: none; }
|
.stat-cell:last-child { border-right: none; }
|
||||||
|
.stat-clickable { cursor: pointer; user-select: none; }
|
||||||
|
.stat-clickable:hover { background: var(--bg2); }
|
||||||
|
|
||||||
.stat-label {
|
.stat-label {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|||||||
13
js/ui.js
13
js/ui.js
@@ -71,10 +71,10 @@ async function renderDashboard() {
|
|||||||
all.forEach(i => { states[i.state] = (states[i.state] || 0) + 1; });
|
all.forEach(i => { states[i.state] = (states[i.state] || 0) + 1; });
|
||||||
|
|
||||||
document.getElementById('stats-bar').innerHTML = `
|
document.getElementById('stats-bar').innerHTML = `
|
||||||
<div class="stat-cell"><div class="stat-label">total</div><div class="stat-value accent">${all.length}</div></div>
|
<div class="stat-cell stat-clickable" onclick="setStateFilter('')"><div class="stat-label">total</div><div class="stat-value accent">${all.length}</div></div>
|
||||||
<div class="stat-cell"><div class="stat-label">deployed</div><div class="stat-value">${states['deployed'] || 0}</div></div>
|
<div class="stat-cell stat-clickable" onclick="setStateFilter('deployed')"><div class="stat-label">deployed</div><div class="stat-value">${states['deployed'] || 0}</div></div>
|
||||||
<div class="stat-cell"><div class="stat-label">testing</div><div class="stat-value amber">${states['testing'] || 0}</div></div>
|
<div class="stat-cell stat-clickable" onclick="setStateFilter('testing')"><div class="stat-label">testing</div><div class="stat-value amber">${states['testing'] || 0}</div></div>
|
||||||
<div class="stat-cell"><div class="stat-label">degraded</div><div class="stat-value red">${states['degraded'] || 0}</div></div>
|
<div class="stat-cell stat-clickable" onclick="setStateFilter('degraded')"><div class="stat-label">degraded</div><div class="stat-value red">${states['degraded'] || 0}</div></div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
await populateStackFilter();
|
await populateStackFilter();
|
||||||
@@ -95,6 +95,11 @@ async function populateStackFilter() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setStateFilter(state) {
|
||||||
|
document.getElementById('filter-state').value = state;
|
||||||
|
filterInstances();
|
||||||
|
}
|
||||||
|
|
||||||
async function filterInstances() {
|
async function filterInstances() {
|
||||||
const search = document.getElementById('search-input').value;
|
const search = document.getElementById('search-input').value;
|
||||||
const state = document.getElementById('filter-state').value;
|
const state = document.getElementById('filter-state').value;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "catalyst",
|
"name": "catalyst",
|
||||||
"version": "1.5.0",
|
"version": "1.6.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node server/server.js",
|
"start": "node server/server.js",
|
||||||
|
|||||||
Reference in New Issue
Block a user