import React from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { cn } from './utils/cn'; import { Header } from './components/Header'; import { PromptComposer } from './components/PromptComposer'; import { ImageCanvas } from './components/ImageCanvas'; import { HistoryPanel } from './components/HistoryPanel'; import { useKeyboardShortcuts } from './hooks/useKeyboardShortcuts'; import { useAppStore } from './store/useAppStore'; import { ToastProvider } from './components/ToastContext'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 5 * 60 * 1000, // 5分钟 retry: 2, }, }, }); function AppContent() { useKeyboardShortcuts(); const { showPromptPanel, setShowPromptPanel, showHistory, setShowHistory } = useAppStore(); // 在挂载时设置移动设备默认值 React.useEffect(() => { const checkMobile = () => { const isMobile = window.innerWidth < 768; if (isMobile) { setShowPromptPanel(false); setShowHistory(false); } }; checkMobile(); window.addEventListener('resize', checkMobile); return () => window.removeEventListener('resize', checkMobile); }, [setShowPromptPanel, setShowHistory]); return (