feat(project): 홈 카드에 세션 추가, 새 업무 팝업 480x700 고정

- 홈 프로젝트 카드 hover 액션에 "세션 추가" 아이콘 추가(기존 세션 추가
  모달을 그대로 재사용, 카드별 projectId 를 들고 다녀 대상 지정)
- "새 업무" 작성 팝업(하위업무/첨부/연결/댓글 칸이 다 숨어 홑겹인 상태)만
  480x700 고정 크기로("업무 편집"은 기존 800x1100 그대로), 홈/프로젝트
  화면 공용 setTaskModalCompact() 로 토글

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 14:15:36 +09:00
parent af11927823
commit 29ce3554b1
5 changed files with 88 additions and 8 deletions
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260917s" />
<link rel="stylesheet" href="/static/project.css?v=20260917t" />
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
{% endblock %}
@@ -45,5 +45,5 @@
{% endif %}
</div>
<script src="/static/project.js?v=20260917t" defer></script>
<script src="/static/project.js?v=20260917u" defer></script>
{% endblock %}
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260917s" />
<link rel="stylesheet" href="/static/project.css?v=20260917t" />
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
{% endblock %}
@@ -53,6 +53,9 @@
</a>
<div class="pj-card-actions">
{% if p.can_add_task %}
<button type="button" class="pj-icon-btn pj-card-addstage" data-project-id="{{ p.id }}" data-project-name="{{ p.name }}" title="세션 추가">
<span class="material-symbols-outlined">view_column</span>
</button>
<button type="button" class="pj-icon-btn pj-card-addtask" data-project-id="{{ p.id }}" title="업무 추가">
<span class="material-symbols-outlined">add_task</span>
</button>
@@ -242,6 +245,24 @@
</div>
</div>
<!-- 세션 추가 모달 — 홈 카드 hover 의 "세션 추가" 아이콘. 프로젝트 화면
보드의 "+ 세션 추가"와 같은 폼(이름+색상)을 그대로 재사용한다. -->
<div class="pj-modal" id="pj-modal-stage" hidden>
<div class="pj-modal-card">
<h3 id="pj-stage-modal-title">새 세션</h3>
<input type="hidden" id="pj-stg-id" />
<label>이름<input type="text" id="pj-stg-name" placeholder="세션 이름" /></label>
<label>색상
<span class="pj-color-palette" id="pj-stg-colors"></span>
</label>
<div class="pj-modal-actions">
<span style="flex:1"></span>
<button type="button" class="pj-btn" data-close>취소</button>
<button type="button" class="pj-btn pj-btn-primary" id="pj-save-stage">저장</button>
</div>
</div>
</div>
<!-- 업무 편집 모달 — 카드/내 업무에서 클릭 시 페이지 이동 없이 팝업으로 편집 -->
<div class="pj-modal" id="pj-modal-task" hidden>
<div class="pj-modal-card pj-task-modal-card">
@@ -398,6 +419,7 @@
</script>
<script>
window.PJ_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772"] | tojson }};
window.PJ_STAGE_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772","#e8398a","#a15c43"] | tojson }};
</script>
<script src="/static/project.js?v=20260917t" defer></script>
<script src="/static/project.js?v=20260917u" defer></script>
{% endblock %}
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260917s" />
<link rel="stylesheet" href="/static/project.css?v=20260917t" />
<!-- 구글 머티리얼 심볼(담당자 아이콘 등) — self-host -->
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
<!-- 타임라인 vis-timeline — self-host -->
@@ -538,5 +538,5 @@
</script>
<script src="/static/vendor/vis-timeline/vis-timeline-graph2d.min.js"></script>
<script src="/static/project.js?v=20260917t" defer></script>
<script src="/static/project.js?v=20260917u" defer></script>
{% endblock %}