Merge claude/1

This commit is contained in:
librelad 2026-07-03 19:44:40 +01:00
commit 0b2ed1cf1a
2 changed files with 16 additions and 1 deletions

View File

@ -462,6 +462,19 @@ table.sys-apps td {
table.sys-apps tr:last-child td { border-bottom: none; }
table.sys-apps tr:hover td { background: rgba(var(--text-rgb), 0.03); }
.sys-app-name { font-weight: 600; display: flex; align-items: center; gap: 8px; }
/* Boxed app icon, mirroring the tasks-notification app icon at row scale. */
.sys-app-icon {
flex-shrink: 0;
width: 26px;
height: 26px;
border-radius: 6px;
background: rgba(var(--text-rgb), 0.10);
border: 1px solid rgba(var(--text-rgb), 0.18);
display: flex;
align-items: center;
justify-content: center;
}
.sys-app-icon img { width: 18px; height: 18px; object-fit: contain; border-radius: 3px; }
.sys-app-sub { font-size: 0.72rem; font-weight: 500; color: rgba(var(--text-rgb), 0.45); }
.sys-cell-val { font-size: 0.78rem; color: rgba(var(--text-rgb), 0.65); margin-left: 2px; }
.sys-net-cell { font-size: 0.78rem; color: rgba(var(--text-rgb), 0.7); white-space: nowrap; }

View File

@ -302,8 +302,10 @@ class SystemPage {
const appsBody = apps.length ? apps.map(a => {
const spark = (appsHist[a.app] || []).map(p => Number(p.cpu) || 0);
const statusCls = a.status === 'running' ? 'ok' : 'none';
// Multi-instance slugs (<type>_<id>) share the base type's icon.
const iconSlug = String(a.app).replace(/_\d+$/, '');
return `<tr class="sys-app-row" data-sys-app="${this.escape(a.app)}" tabindex="0" role="button" aria-label="Open ${this.escape(a.app)} details">
<td class="sys-app-name"><span class="admin-status-dot ${statusCls}"></span>${this.escape(a.app)}
<td class="sys-app-name"><span class="sys-app-icon"><img src="/core/icons/apps/${encodeURIComponent(iconSlug)}.svg" alt="" onerror="this.onerror=null; this.src='/core/icons/apps/default.svg'"></span><span class="admin-status-dot ${statusCls}"></span>${this.escape(a.app)}
<span class="sys-app-sub">${a.running}/${a.containers} up</span></td>
<td>${C.bar(a.cpu_percent)}<span class="sys-cell-val">${(a.cpu_percent || 0).toFixed(1)}%</span></td>
<td>${C.bar(a.mem_percent)}<span class="sys-cell-val">${this.bytes(a.mem_bytes)}</span></td>