{# 진행률 바 조각. running 일 때만 hx-trigger 를 달아 3초 폴링; 완료/실패 시 폴링 중단. #}
<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">동기화 실패: {{ 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>
