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:
@@ -170,8 +170,9 @@ section {
|
||||
line-height: 0;
|
||||
}
|
||||
.theme-toggle:hover {
|
||||
--pico-background-color: var(--bg-alt);
|
||||
--pico-background-color: var(--surface);
|
||||
--pico-border-color: var(--text-dim);
|
||||
--pico-color: var(--text);
|
||||
}
|
||||
.theme-toggle .icon {
|
||||
width: 18px;
|
||||
@@ -230,6 +231,7 @@ button,
|
||||
transition:
|
||||
background-color 0.12s ease,
|
||||
border-color 0.12s ease,
|
||||
opacity 0.15s ease,
|
||||
transform 0.096s ease;
|
||||
}
|
||||
button:active,
|
||||
@@ -259,8 +261,9 @@ button.ghost,
|
||||
}
|
||||
button.ghost:hover,
|
||||
[role="button"].ghost:hover {
|
||||
--pico-background-color: var(--bg-alt);
|
||||
--pico-background-color: var(--surface);
|
||||
--pico-border-color: var(--text-dim);
|
||||
--pico-color: var(--text); /* 호버 시 글자 하얘짐 방지 */
|
||||
}
|
||||
/* 아이콘 + 글자 버튼 */
|
||||
.btn-icon {
|
||||
@@ -378,11 +381,14 @@ th.num {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* 액션 셀: swap(버튼→진행률) 시 행 높이 안 흔들리게 고정 */
|
||||
/* 액션 셀: 버튼↔진행률↔완료배지로 내용이 바뀌어도 행 높이·열 너비가 안 변하게
|
||||
너비·높이를 고정한 박스로 만든다. 넘치는 내용은 클립. */
|
||||
.row-action {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 34px;
|
||||
width: 172px;
|
||||
height: 36px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* 검증 배지 칩 (dot + 라벨, 이모지 없음) */
|
||||
@@ -420,6 +426,12 @@ th.num {
|
||||
background: var(--accent-soft);
|
||||
}
|
||||
|
||||
/* 뒤로가기(대시보드) 버튼 — ghost, 제목과 간격 확보 */
|
||||
.back-btn {
|
||||
margin-bottom: 20px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* 버전 검증 상세 */
|
||||
.verify-detail {
|
||||
display: flex;
|
||||
@@ -441,15 +453,105 @@ th.num {
|
||||
color: var(--danger);
|
||||
}
|
||||
|
||||
/* 배포 완료 배너 (#flash) */
|
||||
.flash-banner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin: 4px 0 22px;
|
||||
padding: 12px 16px;
|
||||
border-radius: 10px;
|
||||
background: rgba(0, 200, 150, 0.1);
|
||||
color: var(--success-text);
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.flash-banner .flash-dot {
|
||||
flex: none;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: currentColor;
|
||||
}
|
||||
.flash-banner .flash-sub {
|
||||
color: var(--text-muted);
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
}
|
||||
.flash-banner .flash-warn {
|
||||
margin-left: auto;
|
||||
color: var(--warning-text);
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* 배포 확인 모달 — 본문/표/라벨 15px 로 통일 */
|
||||
.deploy-modal h3 {
|
||||
font-size: 20px;
|
||||
}
|
||||
.deploy-note {
|
||||
font-size: 17px;
|
||||
color: var(--text-secondary);
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
.deploy-preview {
|
||||
margin: 0 0 18px;
|
||||
font-size: 17px;
|
||||
}
|
||||
.deploy-preview,
|
||||
.deploy-preview tr,
|
||||
.deploy-preview th,
|
||||
.deploy-preview td {
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
.deploy-preview th {
|
||||
width: 30%;
|
||||
padding: 8px 0;
|
||||
text-align: left;
|
||||
font-weight: 500;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
.deploy-preview td {
|
||||
padding: 8px 0;
|
||||
text-align: right;
|
||||
}
|
||||
.confirm-label {
|
||||
display: block;
|
||||
font-size: 17px;
|
||||
}
|
||||
/* 입력란만 작게 (본문보다 4px 작은 14px + 컴팩트 높이) */
|
||||
.confirm-label input {
|
||||
margin-top: 8px;
|
||||
font-size: 14px;
|
||||
--pico-form-element-spacing-vertical: 0.5rem;
|
||||
height: auto;
|
||||
}
|
||||
.modal-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
/* 모달 버튼: 편안한 표준 크기, 한 줄, 너비 auto */
|
||||
.modal-actions button {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding: 11px 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
/* 동기화 진행률 바 */
|
||||
.sync-progress {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
min-width: 150px;
|
||||
width: 150px;
|
||||
}
|
||||
.sync-progress progress {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
}
|
||||
.sync-progress small {
|
||||
|
||||
Reference in New Issue
Block a user