From f2928b2bd1b503bc6a003e16353f330cc1224913 Mon Sep 17 00:00:00 2001 From: her-cat Date: Tue, 30 Jul 2024 21:35:41 +0800 Subject: [PATCH] feat: optimize card show/hide behavior --- src/contentScript/lingoCard.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/contentScript/lingoCard.tsx b/src/contentScript/lingoCard.tsx index 77e8cd9..ac2d062 100644 --- a/src/contentScript/lingoCard.tsx +++ b/src/contentScript/lingoCard.tsx @@ -114,11 +114,17 @@ export default function ContentScriptApp() { }, [showCardAndPosition] ); + const mouseoutCollectCallback = useCallback(() => { + if (mouseoverCollectTimer.current && ! cardShow) { + clearTimeout(mouseoverCollectTimer.current); + } + }, [cardShow]); const onmouseenterCard = useCallback(() => { hideCardTimer.current && clearTimeout(hideCardTimer.current); - }, []); + }, []); useTreeWalker({ - mouseoverCallback: mouseoverCollectCallback + mouseoverCallback: mouseoverCollectCallback, + mouseoutCallback: mouseoutCollectCallback, }) useEffect(() => { const handleMouseUp = async function (event: MouseEvent) {