style: button hierarchy, full-width search, inline status row
- 버튼 위계 정리: 파란 틴트=동작(동기화/배포), ghost=네비/유틸(새로고침·이전·다음) - 새로고침: ghost + 원형화살표 아이콘 + 컴팩트, 페이저: ghost + ◀/▶ 삼각형 - 검색창 가로 꽉(width 100%) + 얇게 - 헤더(th) 한글 라벨에 모노 폰트 안 먹게 td 로 한정 + 모노 스택에 한글 폴백 - 상태: '상태'+연결배지 한 줄 배치, '상태'='저장소' 글자 크기 통일, 배지 14px Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,17 +2,26 @@
|
||||
|
||||
{% block content %}
|
||||
<section>
|
||||
<h2>상태</h2>
|
||||
<!-- 로드 시 1회 + 10초마다 Pulp 연결 상태 폴링 -->
|
||||
<div hx-get="/pulp-status" hx-trigger="load, every 30s" hx-swap="innerHTML" style="margin-top:12px;">
|
||||
<span class="status-line status-loading">연결 확인 중…</span>
|
||||
<!-- 상태 라벨 + 연결 배지를 한 줄로 (로드 시 1회 + 30초마다 폴링) -->
|
||||
<div class="status-row">
|
||||
<span class="status-label">상태</span>
|
||||
<div hx-get="/pulp-status" hx-trigger="load, every 30s" hx-swap="innerHTML">
|
||||
<span class="status-line status-loading">연결 확인 중…</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="section-head">
|
||||
<h2>저장소</h2>
|
||||
<button hx-get="/repos" hx-target="#repo-list" hx-swap="outerHTML" class="secondary">
|
||||
<button hx-get="/repos" hx-target="#repo-list" hx-swap="outerHTML"
|
||||
class="ghost btn-sm btn-icon">
|
||||
<svg class="icon" viewBox="0 0 16 16" width="14" height="14" fill="none"
|
||||
stroke="currentColor" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" aria-hidden="true">
|
||||
<path d="M13.6 8a5.6 5.6 0 1 1-1.7-4"/>
|
||||
<path d="M12.4 1.8V4.2H10"/>
|
||||
</svg>
|
||||
새로고침
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -55,15 +55,21 @@
|
||||
|
||||
{% if pages > 1 %}
|
||||
<div class="pager">
|
||||
<button class="secondary btn-sm" {% if page <= 1 %}disabled{% endif %}
|
||||
<button class="ghost btn-sm btn-icon" {% if page <= 1 %}disabled{% endif %}
|
||||
hx-get="/repos/table" hx-target="#repo-table-wrap" hx-swap="outerHTML"
|
||||
hx-include="#repo-search"
|
||||
hx-vals='{"sort": "{{ sort }}", "dir": "{{ dir }}", "page": "{{ page - 1 }}"}'>이전</button>
|
||||
hx-vals='{"sort": "{{ sort }}", "dir": "{{ dir }}", "page": "{{ page - 1 }}"}'>
|
||||
<svg class="icon" viewBox="0 0 10 10" width="8" height="8" aria-hidden="true"><path d="M7 1 2 5l5 4z" fill="currentColor"/></svg>
|
||||
이전
|
||||
</button>
|
||||
<span class="mono">{{ page }} / {{ pages }}</span>
|
||||
<button class="secondary btn-sm" {% if page >= pages %}disabled{% endif %}
|
||||
<button class="ghost btn-sm btn-icon" {% if page >= pages %}disabled{% endif %}
|
||||
hx-get="/repos/table" hx-target="#repo-table-wrap" hx-swap="outerHTML"
|
||||
hx-include="#repo-search"
|
||||
hx-vals='{"sort": "{{ sort }}", "dir": "{{ dir }}", "page": "{{ page + 1 }}"}'>다음</button>
|
||||
hx-vals='{"sort": "{{ sort }}", "dir": "{{ dir }}", "page": "{{ page + 1 }}"}'>
|
||||
다음
|
||||
<svg class="icon" viewBox="0 0 10 10" width="8" height="8" aria-hidden="true"><path d="M3 1l5 4-5 4z" fill="currentColor"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user