From 71edd68dc01fb8c366073ce8c10b5f3fec59ccf1 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Wed, 5 Aug 2026 15:49:39 -0700 Subject: [PATCH] [eric] canvas: window cards pass the click target through, input clicks stop flying the camera to preset zoom --- frontend/src/app/pages/Dashboard/cards/CanvasWindowCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/pages/Dashboard/cards/CanvasWindowCard.tsx b/frontend/src/app/pages/Dashboard/cards/CanvasWindowCard.tsx index 969852c4..b513f1fc 100644 --- a/frontend/src/app/pages/Dashboard/cards/CanvasWindowCard.tsx +++ b/frontend/src/app/pages/Dashboard/cards/CanvasWindowCard.tsx @@ -43,7 +43,7 @@ interface CanvasWindowCardProps { getCanvasState: () => { panX: number; panY: number; zoom: number }; isSelected?: boolean; isHighlighted?: boolean; multiDragDelta?: { dx: number; dy: number } | null; - onCardSelect?: (id: string, type: CardType, shiftKey: boolean) => void; + onCardSelect?: (id: string, type: CardType, shiftKey: boolean, originTarget?: EventTarget | null) => void; onDragStart?: (id: string, type: CardType) => void; onDragMove?: (dx: number, dy: number, mouseX?: number, mouseY?: number) => void; onDragEnd?: (dx: number, dy: number, didDrag: boolean) => void; @@ -183,7 +183,7 @@ const CanvasWindowCard: React.FC = ({ if (justDraggedRef.current) return; const target = e.target as HTMLElement; if (target.closest('[data-no-drag]')) return; - onCardSelect?.(cardId, cardType, e.shiftKey); + onCardSelect?.(cardId, cardType, e.shiftKey, e.target); }} onContextMenu={(e: React.MouseEvent) => { // Same grammar as every other card; typing surfaces keep the OS menu, content with its own menu stopPropagates before this.