feat(project): 댓글 팝업 고정크기 500x850·업무제목 앞 상태아이콘→댓글아이콘 정리

- 댓글 팝업 제목을 업무 제목으로 표시, 우상단 닫기(X) 버튼 추가
- 팝업 크기 500x850 고정, 내용 많으면 목록만 스크롤(팝업 크기 유지)
- 카드/내 업무 목록의 완료여부 원형 아이콘 제거, 그 자리를 댓글 아이콘 전용 슬롯으로 교체
- 댓글 유무와 무관하게 슬롯 폭을 고정해 업무 제목이 항상 같은 위치에서 시작(세로 정렬)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:22:50 +09:00
parent f54344c3ef
commit b3c98995c9
5 changed files with 49 additions and 28 deletions
+10 -4
View File
@@ -190,13 +190,17 @@
});
}
// 카드/내 업무 클릭 팝업 + 댓글 팝업 공용 — 업무 원본 데이터(제목 등).
const homeDataEl = el("pj-home-data");
let homeTasks = {};
if (homeDataEl) {
try { homeTasks = JSON.parse(homeDataEl.textContent) || {}; } catch (_) {}
}
// ── 업무 편집 팝업 (카드/내 업무 클릭 시 페이지 이동 없이) ──
const homeTaskModal = el("pj-modal-task");
const homeDataEl = el("pj-home-data");
if (homeTaskModal && homeDataEl) {
if (homeTaskModal) {
wireModalClose(homeTaskModal);
let homeTasks = {};
try { homeTasks = JSON.parse(homeDataEl.textContent) || {}; } catch (_) {}
async function fillAssignee(pid, currentEmail) {
const sel = el("pj-t-assignee");
@@ -474,6 +478,8 @@
async function openCommentsModal(taskId) {
el("pj-cm-task-id").value = taskId;
const task = homeTasks[taskId];
el("pj-cm-title").textContent = (task && task.title) || "댓글";
openModal(commentsModal);
const n = await renderChat(taskId);
if (n !== null) { markSeen(taskId, n); syncBadge(taskId, n); }