From fda897eac48006897ab749ae9eba1456bc71f324 Mon Sep 17 00:00:00 2001 From: David Hill Date: Sat, 24 Jan 2026 18:24:07 +0000 Subject: [PATCH] fix(app): improve comment popover - remove disabled state, add error styling, fix click-outside detection --- packages/app/src/pages/session.tsx | 33 ++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 4c3cbd5e8..8ccf04108 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -1900,6 +1900,7 @@ export default function Page() { const [openedComment, setOpenedComment] = createSignal(null) const [commenting, setCommenting] = createSignal(null) const [draft, setDraft] = createSignal("") + const [draftError, setDraftError] = createSignal(false) const [positions, setPositions] = createSignal>({}) const [draftTop, setDraftTop] = createSignal(undefined) @@ -2086,19 +2087,30 @@ export default function Page() { onClick={() => textarea?.focus()} onPopoverFocusOut={(e) => { const target = e.relatedTarget as Node | null - if (!target || !e.currentTarget.contains(target)) { - setCommenting(null) - } + if (target && e.currentTarget.contains(target)) return + // Delay to allow click handlers to fire first + setTimeout(() => { + if (!document.activeElement || !e.currentTarget.contains(document.activeElement)) { + setCommenting(null) + } + }, 0) }} >