fix: properly trigger prompt modal close (#309)
Co-authored-by: MatriQi <matri@aifi.io>
This commit is contained in:
		
							parent
							
								
									5cdd3e56b7
								
							
						
					
					
						commit
						2114b7296e
					
				|  | @ -25,16 +25,21 @@ export const PromptModal: FC<Props> = ({ prompt, onClose, onUpdatePrompt }) => { | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   useEffect(() => { |   useEffect(() => { | ||||||
|     const handleOutsideClick = (e: MouseEvent) => { |     const handleMouseDown = (e: MouseEvent) => { | ||||||
|       if (modalRef.current && !modalRef.current.contains(e.target as Node)) { |       if (modalRef.current && !modalRef.current.contains(e.target as Node)) { | ||||||
|         onClose(); |         window.addEventListener('mouseup', handleMouseUp); | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     window.addEventListener('click', handleOutsideClick); |     const handleMouseUp = (e: MouseEvent) => { | ||||||
|  |       window.removeEventListener('mouseup', handleMouseUp); | ||||||
|  |       onClose(); | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     window.addEventListener('mousedown', handleMouseDown); | ||||||
| 
 | 
 | ||||||
|     return () => { |     return () => { | ||||||
|       window.removeEventListener('click', handleOutsideClick); |       window.removeEventListener('mousedown', handleMouseDown); | ||||||
|     }; |     }; | ||||||
|   }, [onClose]); |   }, [onClose]); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue