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:
@@ -0,0 +1,40 @@
|
||||
{% set fruit_keys = ['fruit:encoding','fruit:metadata','fruit:zero_file_id','fruit:nfs_aces'] %}
|
||||
{% set has_macos = params | selectattr('key', 'in', fruit_keys) | list | length == 4 %}
|
||||
|
||||
<h3>Samba Global Config</h3>
|
||||
|
||||
<!-- MacOS Toggle -->
|
||||
<article style="margin-bottom:1rem">
|
||||
<div style="display:flex;align-items:center;justify-content:space-between">
|
||||
<div>
|
||||
<strong>MacOS Shares (Fruit)</strong>
|
||||
<p style="margin:0;font-size:0.85rem;color:var(--pico-muted-color)">Optimiert alle Shares für macOS (fruit, catia, streams_xattr)</p>
|
||||
</div>
|
||||
<button class="{% if has_macos %}outline secondary{% else %}outline{% endif %}"
|
||||
hx-post="/fragments/samba-config/toggle-macos?enable={{ 'false' if has_macos else 'true' }}"
|
||||
hx-target="#samba-config"
|
||||
hx-swap="innerHTML">
|
||||
{% if has_macos %}MacOS deaktivieren{% else %}MacOS aktivieren{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
{% if has_macos %}
|
||||
<div style="margin-top:0.5rem">
|
||||
{% for p in params if p.key in fruit_keys %}
|
||||
<span class="badge badge-blue" style="margin:0.1rem">{{ p.key }} = {{ p.value }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</article>
|
||||
|
||||
<!-- Parameter Tabelle -->
|
||||
<table>
|
||||
<thead><tr><th>Parameter</th><th>Wert</th></tr></thead>
|
||||
<tbody>
|
||||
{% for p in params %}
|
||||
<tr>
|
||||
<td style="font-family:monospace;font-size:0.85rem">{{ p.key }}</td>
|
||||
<td style="font-size:0.85rem;word-break:break-all">{{ p.value }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
Reference in New Issue
Block a user