Files
dbx-main/app/modules/project/templates/project/inbox.html
T
king 62ab883d24 feat(project): 타임라인 드래그 이동/기간조절 + 아사나 느낌 상호작용
- 막대 몸통 드래그로 일정 통째 이동, 양 끝 드래그로 시작/마감일만 조절
  (vis-timeline editable.updateTime + onMove, PUT /api/tasks/{id} 로 저장,
  실패 시 vis 표시만 원래 자리로 롤백 — 전체 재렌더 없이).
- 단일 클릭은 선택만(끝 손잡이가 나타나게) 하도록 바꾸고, 편집 열기는
  더블클릭 또는 우클릭 메뉴의 "열기"로 옮김 — 기존엔 클릭 한 번에 모달이
  떠서 손잡이가 나타나자마자 가려져 드래그를 할 수 없던 문제.
- 마우스 오버 시 그 업무의 날짜 구간을 전체 높이 배경 밴드로 강조(아사나
  타임라인에서 막대에 올리면 헤더 날짜가 진해지는 것과 같은 목적).
- 막대를 둥근 알약형으로, 호버 시 살짝 뜨는 그림자 추가. "오늘" 버튼으로
  현재 날짜로 바로 이동.
- 실제 드래그(핸들 좌표 기준)로 헤드리스 크롬에서 검증 — 기간 연장/이동
  둘 다 서버에 정확히 저장되는 것까지 확인.
2026-09-16 17:34:09 +09:00

50 lines
1.7 KiB
HTML

{% extends "erp_base.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/static/project.css?v=20260917i" />
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
{% endblock %}
{% block content %}
<div class="pj-wrap">
<div class="pj-section-head">
<h2>알림센터</h2>
<div style="display:flex; gap:8px;">
<a class="pj-btn" href="/project/">← 프로젝트</a>
<button type="button" class="pj-btn pj-btn-primary" id="pj-readall">모두 읽음</button>
</div>
</div>
{% if not notifications %}
<div class="pj-empty">알림이 없습니다.</div>
{% else %}
<ul class="pj-inbox" id="pj-inbox">
{% for n in notifications %}
<li class="pj-inbox-item {% if not n.is_read %}is-unread{% endif %}"
data-id="{{ n.id }}"
{% if n.task_id %}data-project="{{ n.project_id }}"{% endif %}>
<span class="material-symbols-outlined pj-inbox-icon">
{% if n.type == 'assigned' %}assignment_ind
{% elif n.type == 'completed' %}task_alt
{% elif n.type == 'comment' %}chat_bubble
{% else %}notifications{% endif %}
</span>
<div class="pj-inbox-body">
<div class="pj-inbox-title">{{ n.title }}</div>
{% if n.body %}<div class="pj-inbox-sub">{{ n.body }}</div>{% endif %}
<div class="pj-inbox-meta">
{% if n.actor_email %}{{ n.actor_email.split('@')[0] }} · {% endif %}{{ n.created_at[:16].replace('T',' ') }}
</div>
</div>
{% if n.project_id %}
<a class="pj-btn pj-inbox-go" href="/project/p/{{ n.project_id }}">이동</a>
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
<script src="/static/project.js?v=20260917n" defer></script>
{% endblock %}