fix+style: deploy modal/banner, back button, table stability

버그픽스
- 배포 확정 활성화: tojson 따옴표가 oninput 속성을 깨뜨리던 것 → data-confirm 비교로 수정
- ghost 버튼 호버 시 글자 하얘짐 → 호버 색 명시(새로고침/페이저/테마토글 공통)

UX/디자인
- 배포 모달: 취소·배포확정 한 줄, 저장소명만 mono, 순 변화 +초록/−빨강, 표 chrome 제거
- 배포 성공: 별도 다이얼로그 제거 → 모달 닫힘 + 배지 이동 + 완료 배너(여백·크기 정돈)
- 대시보드 백링크: ghost 버튼 + 화살표, 제목과 간격 확보
- 표 액션 셀 고정 박스(172x36) → 동기화/완료/진행 전환 시 행·열 안 흔들림
  (완료 'v3', 진행 'n/m·NN%', 실패는 축약+title 로 사유)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 16:53:01 +09:00
parent 59134927d8
commit bfd84fe94a
6 changed files with 153 additions and 44 deletions

View File

@@ -1,20 +1,21 @@
{# 진행률 바 조각. running 일 때만 hx-trigger 를 달아 3초 폴링; 완료/실패 시 폴링 중단. #}
{# 진행률 바 조각. 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">동기화 실패: {{ progress.error }}</span>
<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>
<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>
<small class="num">{{ progress.done }}/{{ progress.total }} · {{ progress.percent }}%</small>
{% else %}
<progress></progress>
<small>동기화 준비 중…</small>
<small>준비 중…</small>
{% endif %}
</div>
{% endif %}