feat: 배경 검정이면 댓글 카드를 흰색 테마로 캡처

검은 카드가 검은 배경에 묻혀 윤곽이 안 보이던 문제 — 캡처 공용 함수
captureCard() 가 흰색 배경 체크 상태를 보고 캡처 순간에만 .light(흰 바탕
+ 짙은 글씨)를 붙였다 뗀다. 세 탭 공용, 검토 화면 표시는 어두운 테마 유지.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
hehihoho3@gmail.com 2026-08-06 09:23:15 +09:00
parent 61320773b4
commit b5586ecb9c
2 changed files with 16 additions and 1 deletions

View File

@ -825,7 +825,15 @@ async function captureCard(wrap){
try{await img.decode();}catch(e){} try{await img.decode();}catch(e){}
} }
const card=wrap.querySelector(".comment-card"); const card=wrap.querySelector(".comment-card");
// 배경이 검정(흰색 배경 체크 해제)이면 흰 카드로 캡처 — 검은 카드는 검은 배경에 묻힌다.
// 캡처 순간에만 .light 를 붙였다 떼므로 검토 화면 표시는 어두운 테마 그대로다.
const light=!($("#bgwhite")&&$("#bgwhite").checked);
if(light) card.classList.add("light");
try{
return await window.modernScreenshot.domToBlob(card,{backgroundColor:null,scale:4}); return await window.modernScreenshot.domToBlob(card,{backgroundColor:null,scale:4});
}finally{
if(light) card.classList.remove("light");
}
} }
const nextFrame=()=>new Promise(r=>requestAnimationFrame(()=>requestAnimationFrame(r))); const nextFrame=()=>new Promise(r=>requestAnimationFrame(()=>requestAnimationFrame(r)));

View File

@ -165,6 +165,13 @@
.cc-stats{font-size:12px;color:#aaa;margin-top:8px;display:flex;gap:16px;font-variant-numeric:tabular-nums;} .cc-stats{font-size:12px;color:#aaa;margin-top:8px;display:flex;gap:16px;font-variant-numeric:tabular-nums;}
.comment-card.mosaic .cc-avatar{filter:blur(6px);} .comment-card.mosaic .cc-avatar{filter:blur(6px);}
.comment-card.mosaic .cc-author{filter:blur(5px);} .comment-card.mosaic .cc-author{filter:blur(5px);}
/* 흰 카드 테마 — 배경을 검정으로 만들 때(흰색 배경 체크 해제) 캡처 직전에만 붙는다.
검은 카드는 검은 배경에 묻혀 윤곽이 안 보이므로 캡처용으로 반전(흰 바탕 + 짙은 글씨).
검토 화면 표시는 어두운 테마 그대로 — captureCard() 가 붙였다 뗀다. */
.comment-card.light{background:#fff;border-color:#ddd;}
.comment-card.light .cc-author{color:#222;}
.comment-card.light .cc-text{color:#111;}
.comment-card.light .cc-time,.comment-card.light .cc-stats{color:#888;}
/* 검토 화면 — 본문 600px 유지, 검토 영역만 와이드 브레이크아웃(댓글 카드 3~4열) */ /* 검토 화면 — 본문 600px 유지, 검토 영역만 와이드 브레이크아웃(댓글 카드 3~4열) */
#autoPickReview,#autoReview,#autoSummary,#ytReview,#ytSummary,#pasteReview,#pasteSummary{ #autoPickReview,#autoReview,#autoSummary,#ytReview,#ytSummary,#pasteReview,#pasteSummary{
--rw:min(1240px,calc(100vw - 40px));width:var(--rw);margin-left:calc((100% - var(--rw))/2);} --rw:min(1240px,calc(100vw - 40px));width:var(--rw);margin-left:calc((100% - var(--rw))/2);}