feat(project): 전체 뷰에 우클릭 컨텍스트 메뉴 + optimistic update 전면 적용
- 공용 우클릭 메뉴(showContextMenu)와 토스트(showToast)를 도입해 보드 카드, 리스트 행, 달력 막대, 타임라인 아이템, 세션 컬럼 헤더, 홈 프로젝트 카드, 사이드바 프로젝트 트리, 멤버 행, 알림 행까지 9곳에 열기/완료토글/삭제 등 빠른 조작 메뉴를 추가. - 프로젝트 생성/수정/삭제, 멤버 추가/삭제, 홈 업무모달 저장/삭제/완료토글, 알림 모두읽음 등 남아있던 location.reload() 를 모두 로컬 DOM/상태 patch 기반 optimistic update 로 전환. - 8초 주기 실시간 동기화 폴러도 전체 새로고침 대신 업무/세션/멤버만 조용히 재조회해 병합하도록 변경(softSyncProjectRef). - 로컬에 Postgres+세션 우회 로그인으로 실제 서버 붙여 헤드리스 크롬으로 검증하는 과정에서 실사용 버그 2건 발견해 같이 수정: 폴러가 재조회한 업무에 context_project_id 가 없어 스코프 필터에 걸려 화면에서 사라지던 문제, 서버가 최초 렌더한 업무 행은 data-task-id 가 <li> 가 아니라 안쪽 <a> 에만 있어 수정/삭제가 조용히 씹히던 문제.
This commit is contained in:
@@ -701,3 +701,21 @@ label.pj-desc-fmtbtn { line-height: 26px; }
|
||||
.pj-inbox-sub { font-size: 12.5px; color: #525860; margin-top: 2px; }
|
||||
.pj-inbox-meta { font-size: 11px; color: #9aa1a9; margin-top: 4px; }
|
||||
.pj-inbox-go { align-self: center; padding: 4px 12px; font-size: 12px; }
|
||||
|
||||
/* ── 우클릭 컨텍스트 메뉴 — 클릭 좌표 기준 고정 위치(.pj-daypop 은 앵커
|
||||
엘리먼트 기준이라 좌표 배치가 다름). z-index 는 .pj-daypop(2100) 보다
|
||||
위, .erp-dialog(9999) 보다 아래. ── */
|
||||
.pj-ctxmenu {
|
||||
position: fixed; z-index: 2200; min-width: 180px;
|
||||
background: #fff; border: 1px solid var(--pj-border);
|
||||
border-radius: 10px; box-shadow: var(--pj-card-shadow-hover); padding: 6px;
|
||||
}
|
||||
.pj-ctxmenu-item {
|
||||
display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
|
||||
border: none; background: transparent; padding: 8px 10px; border-radius: 7px;
|
||||
font-size: 13px; color: var(--pj-ink); cursor: pointer;
|
||||
}
|
||||
.pj-ctxmenu-item:hover { background: var(--pj-accent-tint); }
|
||||
.pj-ctxmenu-item.is-danger { color: #c22b10; }
|
||||
.pj-ctxmenu-item.is-danger:hover { background: #fbecea; }
|
||||
.pj-ctxmenu-sep { height: 1px; background: var(--pj-border); margin: 4px 2px; }
|
||||
|
||||
Reference in New Issue
Block a user