@@ -1072,6 +1072,12 @@ export async function startPromptManager(): Promise<{ destroy: () => void }> {
10721072
10731073 // Events
10741074 trigger . addEventListener ( 'click' , async ( ) => {
1075+ // Suppress click after a drag gesture
1076+ if ( triggerWasDragged ) {
1077+ triggerWasDragged = false ;
1078+ return ;
1079+ }
1080+
10751081 // When changelog badge is active, open changelog modal instead of prompt manager
10761082 if ( changelogBadgeActive ) {
10771083 changelogBadgeActive = false ;
@@ -1153,9 +1159,11 @@ export async function startPromptManager(): Promise<{ destroy: () => void }> {
11531159
11541160 // Trigger drag (always draggable)
11551161 let triggerDragStartPos : { x : number ; y : number } | null = null ;
1162+ let triggerWasDragged = false ;
11561163 trigger . addEventListener ( 'pointerdown' , ( ev : PointerEvent ) => {
11571164 if ( typeof ev . button === 'number' && ev . button !== 0 ) return ;
11581165 draggingTrigger = true ;
1166+ triggerWasDragged = false ;
11591167 triggerDragStartPos = { x : ev . clientX , y : ev . clientY } ;
11601168 try {
11611169 trigger . setPointerCapture ?.( ev . pointerId ) ;
@@ -1170,6 +1178,7 @@ export async function startPromptManager(): Promise<{ destroy: () => void }> {
11701178 const dx = Math . abs ( ev . clientX - triggerDragStartPos . x ) ;
11711179 const dy = Math . abs ( ev . clientY - triggerDragStartPos . y ) ;
11721180 if ( dx > 5 || dy > 5 ) {
1181+ triggerWasDragged = true ;
11731182 const r = parseFloat ( ( trigger . style . right || '' ) . replace ( 'px' , '' ) ) || 18 ;
11741183 const b = parseFloat ( ( trigger . style . bottom || '' ) . replace ( 'px' , '' ) ) || 18 ;
11751184 await writeStorage ( STORAGE_KEYS . triggerPos , { right : r , bottom : b } ) ;
0 commit comments