diff --git a/src/App.tsx b/src/App.tsx index 143c1ab..f95a8a9 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,6 +24,8 @@ function AppContent() { const { showPromptPanel, setShowPromptPanel, setShowHistory } = useAppStore(); const [hoveredImage, setHoveredImage] = useState<{url: string, title: string, width?: number, height?: number} | null>(null); + const [previewPosition, setPreviewPosition] = useState<{x: number, y: number} | null>(null); + const [isPreviewVisible, setIsPreviewVisible] = useState(false); // 在挂载时初始化IndexedDB并清理base64数据 useEffect(() => { @@ -73,6 +75,19 @@ function AppContent() { return () => clearInterval(interval); }, []); + // 控制预览窗口的显示和隐藏动画 + useEffect(() => { + if (hoveredImage) { + // 延迟一小段时间后设置为可见,以触发动画 + const timer = setTimeout(() => { + setIsPreviewVisible(true); + }, 10); + return () => clearTimeout(timer); + } else { + setIsPreviewVisible(false); + } + }, [hoveredImage]); + return (