41b6165144
DevTools 박스모델 확인 결과 내 업무 패널은 정상 스크롤 컨테이너였지만 스크롤바 두께가 0 — 이 환경(엣지 오버레이 스크롤바)에선 ::-webkit-scrollbar 커스텀도 scrollbar-width 표준 속성도 모두 무시돼 CSS 로는 막대를 항상 보이게 할 방법이 없었다. 네이티브 막대는 숨기고 attachScrollIndicator() 가 내 업무/좌측 프로젝트 목록/홈 프로젝트 목록/보드 패널 안에 스크롤 위치를 따라 움직이는 막대를 그린다(sticky anchor + 절대배치 track/thumb, 드래그·트랙 클릭 지원, MutationObserver/ResizeObserver 로 갱신). 막대 자리로 각 패널 padding-right 14px 확보, 보드의 scrollbar-gutter 제거. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
50 lines
1.7 KiB
HTML
50 lines
1.7 KiB
HTML
{% extends "erp_base.html" %}
|
|
|
|
{% block head_extra %}
|
|
<link rel="stylesheet" href="/static/project.css?v=20260916r" />
|
|
<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=20260916o" defer></script>
|
|
{% endblock %}
|