- New: axum web server on port 8090 with htmx dashboard - New: JSON API endpoints (/api/status, /api/config, /api/bwlimit) - New: config diff engine with 4-tier change classification - New: tiered config hot-reload (live/protocol/per-share/global) - Refactor: supervisor loop uses mpsc command channel (recv_timeout) - Refactor: supervisor updates shared DaemonStatus every poll cycle - Dependencies: tokio, axum, askama, tower-http Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
1.3 KiB
HTML
30 lines
1.3 KiB
HTML
{% for share in shares %}
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h2><a href="/shares/{{ share.name }}">{{ share.name }}</a></h2>
|
|
<div>
|
|
{% if share.mounted %}
|
|
<span class="badge badge-ok">OK</span>
|
|
{% else %}
|
|
<span class="badge badge-error">DOWN</span>
|
|
{% endif %}
|
|
{% if share.read_only %}
|
|
<span class="badge badge-ro">RO</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="stats">
|
|
<span><span class="label">Mount:</span> <span class="value">{{ share.mount_point }}</span></span>
|
|
<span><span class="label">Cache:</span> <span class="value">{{ share.cache_display }}</span></span>
|
|
<span><span class="label">Dirty:</span> <span class="value">{{ share.dirty_count }}</span></span>
|
|
<span><span class="label">Speed:</span> <span class="value">{{ share.speed_display }}</span></span>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
<div class="protocols">
|
|
<span class="proto-badge {% if smbd_running %}proto-on{% else %}proto-off{% endif %}">SMB: {% if smbd_running %}ON{% else %}OFF{% endif %}</span>
|
|
<span class="proto-badge {% if nfs_exported %}proto-on{% else %}proto-off{% endif %}">NFS: {% if nfs_exported %}ON{% else %}OFF{% endif %}</span>
|
|
<span class="proto-badge {% if webdav_running %}proto-on{% else %}proto-off{% endif %}">WebDAV: {% if webdav_running %}ON{% else %}OFF{% endif %}</span>
|
|
</div>
|