diff --git a/frontend/css/app.css b/frontend/css/app.css index e057968..4b94dd0 100644 --- a/frontend/css/app.css +++ b/frontend/css/app.css @@ -1198,7 +1198,7 @@ a { color: var(--primary); text-decoration: none; } } .popup-icon-btn:active { transform: scale(.88); } -.popup-body { padding: 12px 16px 14px; display: flex; flex-direction: column; gap: 9px; } +.popup-body { padding: 12px 16px 14px; display: flex; flex-direction: column; gap: 9px; -webkit-user-select: text; user-select: text; } .popup-row { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.45; color: var(--text-2); } .popup-row-icon { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; fill: var(--text-3); } #popup-time { color: var(--text-1); font-weight: 500; } diff --git a/frontend/js/calendar.js b/frontend/js/calendar.js index d3ff908..313548d 100644 --- a/frontend/js/calendar.js +++ b/frontend/js/calendar.js @@ -1465,6 +1465,9 @@ function showEventPopup(ev, anchor) { }; dragHandle.onpointerdown = e => { if (e.button !== 0) return; + // Let the toolbar buttons (edit/copy/delete/close) receive their click — + // only the bare header area starts a drag. + if (e.target.closest('button, a')) return; dragOffX = e.clientX - popup.getBoundingClientRect().left; dragOffY = e.clientY - popup.getBoundingClientRect().top; dragHandle.setPointerCapture(e.pointerId);