{% import 'partials/components/ui_macros.html' as ui %} {% if not info.ok %}
Systeminfo nicht verfügbar
{{ info.error }}
{% else %}
{# ── Haupt-Layout: linke Info-Karte + rechte 2×2-Gauges ───────────── #}
{# ── Linke Karte: Versionen / Infos ───────────────────────────────── #}
Anwendung {% if info.updater %} {% endif %}
{# 1. App-Version aus dem Updater (mit optionalem Update-Button) #} {% if info.updater %} {% for pkg in info.updater.packages %} {% endfor %} {% endif %} {# 2. User #} {# 3. Datenbank (falls in software vorhanden) #} {% if info.software.get('Datenbank') %} {% endif %} {# 4. Restliche Software-Einträge (Dependencies) #} {% for key, val in info.software.items() %} {% if key not in ('psutil', 'Datenbank') %} {% endif %} {% endfor %}
{{ pkg.name }} {{ pkg.installed }} {% if pkg.update_available %} → {{ pkg.latest }} {% endif %} {% if pkg.update_available %} {% endif %}
User {{ info.system.user }}
Datenbank {{ info.software['Datenbank'] }}
{{ key }} {{ val }}
{# /padding #}
{# ── Rechte Seite: 2×2 Gauge-Karten ──────────────────────────────── #}
{# CPU #}
CPU
{{ info.cpu.percent }}%
{{ info.cpu.cores }} Kerne · {{ info.cpu.freq }} {% if info.cpu.model %}
{{ info.cpu.model }}
{% endif %}
{# /padding #}
{# RAM #}
RAM
{{ info.mem.percent }}%
{{ info.mem.used }} belegt{{ info.mem.free }} frei{{ info.mem.total }} gesamt
{# /padding #}
{# DISK (/) #} {% if info.root_disk %}
DISK
{{ info.root_disk.percent }}%
{{ info.root_disk.used_fmt }} belegt{{ info.root_disk.free_fmt }} frei{{ info.root_disk.total_fmt }} gesamt
{# /padding #}
{% else %}
{% endif %} {# SWAP #}
SWAP
{{ info.swap.percent }}%
{{ info.swap.used }} belegt{{ info.swap.total }} gesamt
{# /padding #}
{# /sysinfo-gauges-grid #}
{# /sysinfo-layout #} {# ── Services (falls konfiguriert) ───────────────────────────────── #} {% if info.services %}
{% for svc in info.services %}
{{ svc.name }}
{% if svc.desc %}
{{ svc.desc }}
{% endif %}
{{ svc.enabled }} {{ svc.active }}
{% endfor %}
{% endif %} {# ──────────────────────────────────────────────────────────────────── #} {# LEGACY-ABSCHNITT ENTFERNT (gauges + app-grid) – neues Layout oben #} {# Dummy-Elemente damit ältere HTMX-Targets nicht brechen #}
{# /data-collected-at #} {% endif %}