feat(cafe24): 진열/판매 배지 클릭으로 상태 토글

편집기 오른쪽 위 배지를 눌러 진열·판매를 바로 바꾼다. 상태만 바꾸려고
카페24 관리자에 들어갈 필요가 없어진다.

- POST /cafe24/products/{no}/status (JSON) 추가. 상세설명은 건드리지 않아
  BACKUP revision 을 만들지 않는다 - 되돌릴 HTML 이 없고 다시 눌러 복구된다.
- 요청값을 낙관적으로 반영하지 않고 쓰기 후 카페24가 돌려준 실제 상태로
  화면을 다시 그린다. 실패해도 화면과 카페24가 어긋나지 않는다.
- 왼쪽 목록의 점과 정렬용 data-display/data-selling 도 함께 갱신(목록을
  다시 받지 않으므로).
- 카페24 조회 실패 시에는 현재 상태를 믿을 수 없어 배지를 버튼으로 만들지
  않는다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-19 17:38:20 +09:00
parent 67c28ae1c7
commit 5127600a3d
5 changed files with 171 additions and 4 deletions
+19
View File
@@ -469,6 +469,25 @@
color: var(--color-rich-black, #0a0a0a);
}
/* 클릭으로 진열/판매를 토글하는 배지. 눌리는 것임을 커서·테두리로 알린다. */
.cf24-badge-btn {
border: 1px solid transparent;
font: inherit;
font-size: var(--text-caption, 12px);
cursor: pointer;
transition: filter 0.12s ease, box-shadow 0.12s ease;
}
.cf24-badge-btn:hover:not(:disabled) {
filter: brightness(0.94);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}
.cf24-badge-btn:disabled {
opacity: 0.55;
cursor: progress;
}
/* 안내/오류 배너 */
.cf24-flash {
padding: var(--sp-10, 10px) var(--sp-12, 12px);