From c08a570c274b0e7512495cd2facaccb898cb48b6 Mon Sep 17 00:00:00 2001 From: icarus Date: Tue, 14 Oct 2025 16:11:56 +0800 Subject: [PATCH] fix(WindowFooter): avoid earlier access --- .../action/components/WindowFooter.tsx | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/renderer/src/windows/selection/action/components/WindowFooter.tsx b/src/renderer/src/windows/selection/action/components/WindowFooter.tsx index 5c0af02079..101240e830 100644 --- a/src/renderer/src/windows/selection/action/components/WindowFooter.tsx +++ b/src/renderer/src/windows/selection/action/components/WindowFooter.tsx @@ -30,19 +30,6 @@ const WindowFooter: FC = ({ const hideTimerRef = useRef(null) const { setTimeoutTimer } = useTimer() - useEffect(() => { - window.addEventListener('focus', handleWindowFocus) - window.addEventListener('blur', handleWindowBlur) - - return () => { - window.removeEventListener('focus', handleWindowFocus) - window.removeEventListener('blur', handleWindowBlur) - if (hideTimerRef.current) { - clearTimeout(hideTimerRef.current) - } - } - }, []) - useEffect(() => { hideTimerRef.current = setTimeout(() => { setIsShowMe(false) @@ -68,21 +55,6 @@ const WindowFooter: FC = ({ }, 2000) } - useHotkeys('c', () => { - showMePeriod() - handleCopy() - }) - - useHotkeys('r', () => { - showMePeriod() - handleRegenerate() - }) - - useHotkeys('esc', () => { - showMePeriod() - handleEsc() - }) - const handleEsc = () => { setIsEscHovered(true) setTimeoutTimer( @@ -100,6 +72,11 @@ const WindowFooter: FC = ({ } } + useHotkeys('esc', () => { + showMePeriod() + handleEsc() + }) + const handleRegenerate = () => { setIsRegenerateHovered(true) setTimeoutTimer( @@ -126,6 +103,11 @@ const WindowFooter: FC = ({ } } + useHotkeys('r', () => { + showMePeriod() + handleRegenerate() + }) + const handleCopy = () => { if (!content || loading) return @@ -147,6 +129,11 @@ const WindowFooter: FC = ({ }) } + useHotkeys('c', () => { + showMePeriod() + handleCopy() + }) + const handleWindowFocus = () => { setIsWindowFocus(true) } @@ -155,6 +142,19 @@ const WindowFooter: FC = ({ setIsWindowFocus(false) } + useEffect(() => { + window.addEventListener('focus', handleWindowFocus) + window.addEventListener('blur', handleWindowBlur) + + return () => { + window.removeEventListener('focus', handleWindowFocus) + window.removeEventListener('blur', handleWindowBlur) + if (hideTimerRef.current) { + clearTimeout(hideTimerRef.current) + } + } + }, []) + return ( setIsContainerHovered(true)}