Feature: HTMX + Jinja2 Frontend ersetzt Next.js komplett

- Kein Node.js, kein npm, kein Build-Schritt mehr
- HTMX 2.0.4 + PicoCSS 2 vendored in backend/static/
- Jinja2 Templates für alle 9 Seiten (Dashboard, ZFS, Snapshots,
  Shares, Identities, Logs, Services, Navigator, Login)
- HTMX Fragments für Live-Updates (30s Polling Dashboard)
- JWT als httpOnly Cookie statt localStorage
- Disk Usage zeigt TB/PB korrekt (Jinja2 serverseitig formatiert)
- Update-safe: nur Python-Deps, keine npm-Abhängigkeiten

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 18:45:46 +02:00
parent 654df5b98f
commit 5ecd143535
44 changed files with 1123 additions and 6129 deletions
@@ -0,0 +1,22 @@
{% if not exports %}
<p>Keine NFS Exports konfiguriert.</p>
{% else %}
<table>
<thead><tr><th>Pfad</th><th>Clients</th><th>Aktionen</th></tr></thead>
<tbody>
{% for exp in exports %}
<tr id="nfs-{{ loop.index }}">
<td style="font-family:monospace">{{ exp.path }}</td>
<td style="font-size:0.85rem">{{ exp.clients }}</td>
<td>
<button class="outline secondary"
hx-delete="/api/shares/nfs/{{ exp.path | urlencode }}"
hx-confirm="NFS Export '{{ exp.path }}' löschen?"
hx-target="#nfs-{{ loop.index }}"
hx-swap="outerHTML">Löschen</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}