From 3c6c865b7e1aac330c6aad8fcb6be0c2a0381f8c Mon Sep 17 00:00:00 2001 From: king Date: Thu, 17 Sep 2026 12:40:18 +0900 Subject: [PATCH] =?UTF-8?q?fix(project):=20=EC=84=B8=EC=85=98=20=ED=97=A4?= =?UTF-8?q?=EB=8D=94=20=EC=83=89=EC=83=81=20=EB=B0=B0=EA=B2=BD=2040%=20?= =?UTF-8?q?=ED=88=AC=EB=AA=85=ED=95=98=EA=B2=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5 --- app/modules/project/templates/project/inbox.html | 2 +- app/modules/project/templates/project/index.html | 2 +- app/modules/project/templates/project/project.html | 2 +- app/static/project.js | 14 +++++++++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/modules/project/templates/project/inbox.html b/app/modules/project/templates/project/inbox.html index 4840f8e..4e275c8 100644 --- a/app/modules/project/templates/project/inbox.html +++ b/app/modules/project/templates/project/inbox.html @@ -45,5 +45,5 @@ {% endif %} - + {% endblock %} diff --git a/app/modules/project/templates/project/index.html b/app/modules/project/templates/project/index.html index 926e2c9..5a8612a 100644 --- a/app/modules/project/templates/project/index.html +++ b/app/modules/project/templates/project/index.html @@ -398,5 +398,5 @@ - + {% endblock %} diff --git a/app/modules/project/templates/project/project.html b/app/modules/project/templates/project/project.html index 6333475..d15a723 100644 --- a/app/modules/project/templates/project/project.html +++ b/app/modules/project/templates/project/project.html @@ -538,5 +538,5 @@ - + {% endblock %} diff --git a/app/static/project.js b/app/static/project.js index 0df911c..b4ab762 100644 --- a/app/static/project.js +++ b/app/static/project.js @@ -145,6 +145,18 @@ return move; } + // "#RRGGBB" → "rgba(r,g,b,alpha)" — 세션 헤더 배경처럼 색은 유지한 채 + // 투명도만 입혀야 할 때 쓴다. + function hexToRgba(hex, alpha) { + const h = String(hex || "").replace("#", ""); + const full = h.length === 3 ? h.split("").map(function (c) { return c + c; }).join("") : h; + const r = parseInt(full.substr(0, 2), 16); + const g = parseInt(full.substr(2, 2), 16); + const b = parseInt(full.substr(4, 2), 16); + if (isNaN(r) || isNaN(g) || isNaN(b)) return hex; + return "rgba(" + r + "," + g + "," + b + "," + alpha + ")"; + } + // 멤버 선택 후보 카드(아이콘 위 / 이름 가운데 / 체크박스 아래) — 새 프로젝트 // 모달(홈·프로젝트 페이지)과 멤버 배정 모달 3곳이 전부 이 함수 하나를 쓴다. // /api/assignable-users 응답의 avatar 필드를 그대로 쓰므로 페이지별 @@ -2136,7 +2148,7 @@ col.innerHTML = '
' + + (s.color ? ' style="background:' + hexToRgba(s.color, 0.6) + '"' : "") + '>' + '' + escapeHtml(s.name) + "" + (s.is_done_stage ? '완료' : "") + '' +