import { Outlet } from 'react-router-dom'; import { getCurrentWindow } from '@tauri-apps/api/window'; import Navbar from '../navbar/Navbar'; import BackgroundTaskRunner from '../common/BackgroundTaskRunner'; import ToastContainer from '../common/ToastContainer'; import { useViewStore } from '../../stores/useViewStore'; import MiniView from './MiniView'; import { useEffect } from 'react'; import { isTauri } from '../../utils/env'; import { ensureFullViewState } from '../../utils/windowManager'; function Layout() { const { isMiniView } = useViewStore(); // Ensure correct window state when in Full View (not Mini View) // This handles the case where the app was closed in Mini View (small size, no decorations) // and restarted (defaults to Full View state but keeps last window properties) useEffect(() => { if (!isMiniView && isTauri()) { ensureFullViewState(); } }, [isMiniView]); if (isMiniView) { return ( <> ); } return (
{/* 全局窗口拖拽区域 - 使用 JS 手动触发拖拽,解决 HTML 属性失效问题 */}
{ getCurrentWindow().startDragging(); }} />
); } export default Layout;