{# 진행률 바 조각. running 일 때만 hx-trigger 를 달아 3초 폴링; 완료/실패 시 폴링 중단.
   내용은 .row-action 고정 박스(172x36) 안에 들어오도록 짧게 유지. #}
<div id="prog-{{ uuid }}"
     {% if progress.running %}hx-get="/repos/{{ uuid }}/progress" hx-trigger="every 3s" hx-swap="outerHTML"{% endif %}>
  {% if progress.failed %}
    <span class="status-line status-bad" title="{{ progress.error }}">동기화 실패</span>
  {% elif progress.completed %}
    <span class="badge badge-pass">완료{% if progress.new_version %} · v{{ progress.new_version }}{% endif %}</span>
  {% elif progress.idle %}
    {# 추적 중인 작업 없음 — 빈 조각 #}
  {% else %}
    <div class="sync-progress">
      {% if progress.total %}
        <progress value="{{ progress.done }}" max="{{ progress.total }}"></progress>
        <small class="num">{{ progress.done }}/{{ progress.total }} · {{ progress.percent }}%</small>
      {% else %}
        <progress></progress>
        <small>준비 중…</small>
      {% endif %}
    </div>
  {% endif %}
</div>
