diff --git a/apps/web/src/components/chat/AssistantSelectionToolbar.tsx b/apps/web/src/components/chat/AssistantSelectionToolbar.tsx index ff03524cfef28dcac75e568d623ab9ca9191d1d1..156a773e0211ad460d8544e1ab613908444d1ef5 100644 --- a/apps/web/src/components/chat/AssistantSelectionToolbar.tsx +++ b/apps/web/src/components/chat/AssistantSelectionToolbar.tsx @@ -61,6 +61,15 @@ export function AssistantSelectionToolbar({ return; } const rects = captured.range.getClientRects(); + const pointerOnText = + pointer !== null && + Array.from(rects).some( + (line) => + pointer.x >= line.left - 8 && + pointer.x <= line.right + 8 && + pointer.y >= line.top - 8 && + pointer.y <= line.bottom + 8, + ); setSelection({ sourceAnchor: { source: captured.source, range: captured.range, viewport }, citation: { @@ -72,7 +81,7 @@ export function AssistantSelectionToolbar({ position: resolveSelectionActionPosition({ bounds: viewportRect, selectionRect: rects.item(rects.length - 1) ?? rect, - pointer, + pointer: pointerOnText ? pointer : null, viewport: { width: window.innerWidth, height: window.innerHeight }, }), });