feat(cupang): 제품 카탈로그에 쿠팡상품코드 + 상태 토글

- cupang_products.coupang_item_code 컬럼 추가 (마이그레이션 004, init.sql 동기화)
- 설정 화면: 쿠팡상품코드 열 표시/정렬, 수기 추가 폼 입력란 추가
- 선택 등록 시 바로 등록하지 않고 쿠팡상품코드 입력 팝업을 먼저 표시
- 상태 배지를 클릭 토글로 변경 (POST /cupang/api/products/{id}/toggle)
- 빈 쿠팡상품코드는 "미입력"으로 처리해 기존 값을 덮어쓰지 않음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 11:30:00 +09:00
parent 3a18b185a9
commit bf3407b6ec
12 changed files with 243 additions and 35 deletions
+30
View File
@@ -1055,3 +1055,33 @@ body.cpg-dragging { cursor: grabbing; user-select: none; }
60% { opacity: .95; transform: rotate(-12deg) scale(.92); }
100% { opacity: .9; transform: rotate(-12deg) scale(1); }
}
/* ── 설정(제품명) — 상태 토글 배지 / 쿠팡상품코드 / 선택 등록 팝업 ── */
.cpg-active-toggle {
border: 0;
cursor: pointer;
font: inherit;
font-size: 12px;
line-height: 1.4;
}
.cpg-active-toggle:hover { filter: brightness(.94); }
.cpg-active-toggle:disabled { opacity: .6; cursor: progress; }
.cpg-prod-row.is-inactive { opacity: .55; }
.cpg-cpcode { font-family: var(--font-geist-mono); font-size: 13px; }
.cpg-reg-box { width: min(520px, calc(100vw - 32px)); }
.cpg-reg-list {
max-height: min(48vh, 380px);
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 10px;
padding-right: 4px;
}
.cpg-reg-item > span { font-size: 13px; }
.cpg-reg-code {
font-family: var(--font-geist-mono);
font-style: normal;
color: var(--color-midtone-gray);
font-size: 12px;
}