- list_repos: Pulp next 페이지 끝까지 순회 (첫-페이지-only 누락 수정) - BFF 메모리 검색(이름)·정렬(이름/검증/버전/패키지/동기화)·페이지네이션(20/페이지) - GET /repos/table 조각: 검색창은 표 밖(포커스 유지), 정렬헤더/페이저는 표 안, hx-include 로 검색어·정렬상태 상호 전송 - 폰트 재조정: 데이터 셀 14px, 헤더 13px, 배지/액션버튼 14px (동기화 버튼 대비 균형) - 버전 페이지 제목↔검증상세 마진, 데모 저장소 26개로 확장 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
1.3 KiB
HTML
24 lines
1.3 KiB
HTML
<div id="repo-list">
|
|
{% if error %}
|
|
<p role="alert" class="status-line status-bad">저장소 목록을 불러오지 못했습니다: {{ error }}</p>
|
|
{% else %}
|
|
<div class="summary">
|
|
<div class="card"><div class="value">{{ summary.total }}</div><div class="label">전체 저장소</div></div>
|
|
<div class="card"><div class="value{% if summary.syncing %} is-accent{% endif %}">{{ summary.syncing }}</div><div class="label">동기화 중</div></div>
|
|
<div class="card"><div class="value is-success">{{ summary.gpg_pass }}</div><div class="label">GPG 검증 통과</div></div>
|
|
<div class="card"><div class="value">{{ summary.total_packages }}</div><div class="label">총 패키지</div></div>
|
|
</div>
|
|
|
|
<div class="list-toolbar">
|
|
<!-- 검색창은 표 바깥에 둬서 입력 중 포커스 유지. 정렬 상태([data-state])를 함께 전송 -->
|
|
<input id="repo-search" class="repo-search" type="search" name="q" value="{{ q }}"
|
|
placeholder="저장소 이름 검색"
|
|
hx-get="/repos/table" hx-target="#repo-table-wrap" hx-swap="outerHTML"
|
|
hx-trigger="input changed delay:300ms, search"
|
|
hx-include="[data-state]">
|
|
</div>
|
|
|
|
{% include "partials/table_wrap.html" %}
|
|
{% endif %}
|
|
</div>
|