feat(project): 담당자는 아이디만 표기 + 구글 머티리얼 아이콘
담당자 표시를 이메일 아이디(@ 앞)로 통일. 아바타를 letter 원형에서 구글 Material Symbols account_circle 아이콘으로 교체(멤버 목록·보드 카드· 모달 선택지·리스트 뷰). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -204,7 +204,10 @@
|
||||
(t.priority && t.priority !== "normal"
|
||||
? '<span class="pj-pri pj-pri-' + t.priority + '">' + (priorityLabels[t.priority] || t.priority) + "</span>"
|
||||
: "") +
|
||||
(t.assignee_email ? '<span class="pj-avatar pj-avatar-sm">' + escapeHtml((t.assignee_name || t.assignee_email)[0].toUpperCase()) + "</span>" : "") +
|
||||
(t.assignee_email
|
||||
? '<span class="pj-assignee"><span class="material-symbols-outlined pj-gicon pj-gicon-sm">account_circle</span>' +
|
||||
escapeHtml(idOf(t.assignee_email)) + "</span>"
|
||||
: "") +
|
||||
(t.due_date ? '<span class="pj-card-due">' + t.due_date + "</span>" : "") +
|
||||
"</div>";
|
||||
card.addEventListener("click", function () { if (canManage) openTaskModal(t); });
|
||||
@@ -244,7 +247,7 @@
|
||||
if (t.completed_at) tr.className = "is-done";
|
||||
tr.innerHTML =
|
||||
"<td>" + escapeHtml(t.title) + "</td>" +
|
||||
"<td>" + escapeHtml(t.assignee_name || t.assignee_email || "-") + "</td>" +
|
||||
"<td>" + (t.assignee_email ? escapeHtml(idOf(t.assignee_email)) : "-") + "</td>" +
|
||||
"<td>" + escapeHtml(t.stage_name || "-") + "</td>" +
|
||||
"<td>" + (priorityLabels[t.priority] || t.priority || "-") + "</td>" +
|
||||
"<td>" + (t.start_date || "-") + "</td>" +
|
||||
@@ -367,6 +370,10 @@
|
||||
wireCalendar();
|
||||
}
|
||||
|
||||
function idOf(email) {
|
||||
return String(email == null ? "" : email).split("@")[0];
|
||||
}
|
||||
|
||||
function escapeHtml(s) {
|
||||
return String(s == null ? "" : s)
|
||||
.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")
|
||||
|
||||
Reference in New Issue
Block a user