fix(project): 세션 헤더 색상 배경 40% 투명하게
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -45,5 +45,5 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/project.js?v=20260917r" defer></script>
|
<script src="/static/project.js?v=20260917s" defer></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -398,5 +398,5 @@
|
|||||||
<script>
|
<script>
|
||||||
window.PJ_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772"] | tojson }};
|
window.PJ_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772"] | tojson }};
|
||||||
</script>
|
</script>
|
||||||
<script src="/static/project.js?v=20260917r" defer></script>
|
<script src="/static/project.js?v=20260917s" defer></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -538,5 +538,5 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="/static/vendor/vis-timeline/vis-timeline-graph2d.min.js"></script>
|
<script src="/static/vendor/vis-timeline/vis-timeline-graph2d.min.js"></script>
|
||||||
<script src="/static/project.js?v=20260917r" defer></script>
|
<script src="/static/project.js?v=20260917s" defer></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
+13
-1
@@ -145,6 +145,18 @@
|
|||||||
return move;
|
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곳이 전부 이 함수 하나를 쓴다.
|
// 모달(홈·프로젝트 페이지)과 멤버 배정 모달 3곳이 전부 이 함수 하나를 쓴다.
|
||||||
// /api/assignable-users 응답의 avatar 필드를 그대로 쓰므로 페이지별
|
// /api/assignable-users 응답의 avatar 필드를 그대로 쓰므로 페이지별
|
||||||
@@ -2136,7 +2148,7 @@
|
|||||||
col.innerHTML =
|
col.innerHTML =
|
||||||
'<div class="pj-col-head' + (s.color ? " pj-col-head-colored" : "") + '"' +
|
'<div class="pj-col-head' + (s.color ? " pj-col-head-colored" : "") + '"' +
|
||||||
(canManage ? ' draggable="true"' : "") +
|
(canManage ? ' draggable="true"' : "") +
|
||||||
(s.color ? ' style="background:' + s.color + '"' : "") + '>' +
|
(s.color ? ' style="background:' + hexToRgba(s.color, 0.6) + '"' : "") + '>' +
|
||||||
'<span class="pj-col-name">' + escapeHtml(s.name) + "</span>" +
|
'<span class="pj-col-name">' + escapeHtml(s.name) + "</span>" +
|
||||||
(s.is_done_stage ? '<span class="pj-chip pj-chip-sm">완료</span>' : "") +
|
(s.is_done_stage ? '<span class="pj-chip pj-chip-sm">완료</span>' : "") +
|
||||||
'<span class="pj-col-count"></span>' +
|
'<span class="pj-col-count"></span>' +
|
||||||
|
|||||||
Reference in New Issue
Block a user