feat(project): 좌/가운데/우 3칸 독립 스크롤 + 화면 양끝 배치, 설명 이미지 편의개선

- 프로젝트 상세 화면을 휴가/쿠팡 모듈처럼 "한 화면 채움" 레이아웃으로 변경.
  좌측 프로젝트 목록/가운데 세션·리스트·달력·타임라인/우측 내 업무가 각자
  안에서만 스크롤되고 서로 얽히지 않는다. 이 화면에서만 페이지 폭 제한을
  풀어 좌측은 화면 맨 왼쪽, 우측 내 업무는 화면 맨 오른쪽에 붙는다.
- 설명란 이미지: 파일 업로드 버튼으로 넣을 때도 커서 위치에 삽입되도록
  선택범위를 기억했다가 복원(그동안은 항상 맨 끝에 붙었음). 이미지를
  선택한 상태에서 Delete/Backspace 키로도 삭제 가능.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 22:44:10 +09:00
parent 022a161dda
commit 04c33e34e4
5 changed files with 84 additions and 31 deletions
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260916i" />
<link rel="stylesheet" href="/static/project.css?v=20260916j" />
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
{% endblock %}
@@ -45,5 +45,5 @@
{% endif %}
</div>
<script src="/static/project.js?v=20260916k" defer></script>
<script src="/static/project.js?v=20260916l" defer></script>
{% endblock %}
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260916i" />
<link rel="stylesheet" href="/static/project.css?v=20260916j" />
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
{% endblock %}
@@ -376,5 +376,5 @@
<script>
window.PJ_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772"] | tojson }};
</script>
<script src="/static/project.js?v=20260916k" defer></script>
<script src="/static/project.js?v=20260916l" defer></script>
{% endblock %}
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260916i" />
<link rel="stylesheet" href="/static/project.css?v=20260916j" />
<!-- 구글 머티리얼 심볼(담당자 아이콘 등) — self-host -->
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
<!-- 타임라인 vis-timeline — self-host -->
@@ -139,13 +139,17 @@
<div id="pj-timeline"></div>
</div>
<!-- 보드(칸반=세션) — 아사나처럼 프로젝트에 들어오면 기본으로 보이는 화면.
4x2 그리드로 배치하고, 세션이 늘어나 보드 안에서 스크롤이 생겨도
"+ 세션 추가" 버튼은 스크롤 영역 밖(고정 위치)에 있어 항상 보인다. -->
최대 4열 매이슨리로 배치하고, 세션이 늘어나면 pj-board 안에서만
세로 스크롤된다(좌측 프로젝트 목록·우측 내 업무와 스크롤이 서로
안 얽히게 각자 독립). "+ 세션 추가" 버튼은 스크롤 영역 밖(고정
위치)에 있어 항상 보인다. -->
<div class="pj-view" data-view="board">
<div class="pj-board-toolbar">
<button type="button" class="pj-add-stage" id="pj-board-addstage" hidden>+ 세션 추가</button>
</div>
<div class="pj-board" id="pj-board"></div>
<div class="pj-board" id="pj-board">
<div class="pj-board-canvas" id="pj-board-canvas"></div>
</div>
</div>
<!-- 리스트 -->
<div class="pj-view" data-view="list" hidden>
@@ -379,5 +383,5 @@
</script>
<script src="/static/vendor/vis-timeline/vis-timeline-graph2d.min.js"></script>
<script src="/static/project.js?v=20260916k" defer></script>
<script src="/static/project.js?v=20260916l" defer></script>
{% endblock %}