feat(project): 세션 헤더 색상 채우기, 보드 댓글팝업, 채팅 첨부파일/이미지

- 세션 색상: 점 대신 세션 헤더 윗부분 배경을 통째로 칠함(글자/카운트 흰색으로)
- 보드 업무 카드의 댓글 말풍선도 더블클릭하면 채팅 팝업 열리게(.pj-cmt-badge 공용)
- 댓글 채팅 팝업에 파일/이미지 첨부 추가: 클립 버튼 업로드 + 클립보드 이미지
  붙여넣기, 이미지는 썸네일, 파일은 확장자 아이콘+파일명으로 표시, 다운로드
  가능, 업로드한 사람만 삭제(즉시 반영). task_attachments.comment_id(마이그
  레이션 005)로 태깅해 업무 "첨부파일" 패널에도 그대로 함께 나온다.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 12:27:44 +09:00
parent 6922679f51
commit 1d7fe71b75
8 changed files with 258 additions and 27 deletions
@@ -0,0 +1,23 @@
-- =====================================================================
-- project_db 마이그레이션 005 — 댓글(채팅) 첨부파일/이미지
-- =====================================================================
-- 멱등. task_attachments 를 그대로 재사용하되, 댓글에 딸린 파일은
-- comment_id 를 채워 채팅 팝업에서 말풍선 안에 표시한다(comment_id NULL =
-- 기존처럼 업무 "첨부파일" 패널 전용, 설명란 이미지 삽입도 포함).
-- 댓글이 삭제되면(ON DELETE CASCADE) 거기 딸린 첨부도 함께 삭제된다 —
-- 파일 라우터가 디스크 파일까지 지우진 못하므로(DB 트리거 아님) 드문
-- 경우지만 고아 파일이 남을 수 있다는 점은 감안한다.
--
-- 실행:
-- docker exec -i postgres-db psql -U postgres -d project_db \
-- < scripts/sql/project_db_005_comment_attachments.sql
-- =====================================================================
\set ON_ERROR_STOP on
\connect project_db
ALTER TABLE task_attachments
ADD COLUMN IF NOT EXISTS comment_id BIGINT REFERENCES task_comments(id) ON DELETE CASCADE;
CREATE INDEX IF NOT EXISTS idx_task_attachments_comment ON task_attachments (comment_id);
SELECT 'project_db 005 ready' AS status;