From d0e286e4bb4ce0db197aea93097412ff5591ab29 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Sun, 22 Mar 2026 00:00:34 +0800 Subject: [PATCH] fix: prevent state loss when popout tab and hide option for home tab MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Force loaded:true and loading:false in usePopOutTab to prevent auto-load overwriting - Hide '在新窗口中打开' option for home tab in context menu --- src/components/layout/TabBar/TabBar.tsx | 3 ++- src/hooks/domain/usePopOutTab.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/layout/TabBar/TabBar.tsx b/src/components/layout/TabBar/TabBar.tsx index 7ad1a60..4a54a07 100644 --- a/src/components/layout/TabBar/TabBar.tsx +++ b/src/components/layout/TabBar/TabBar.tsx @@ -69,8 +69,9 @@ export const TabBar = ({ openFiles, activeFile, onTabClick, onTabClose, onCloseO handleCloseContextMenu() } + const isHomeTab = contextMenu.file?.path === HOME_TAB_ID const contextMenuItems = [ - { label: '在新窗口中打开', onClick: handlePopOut }, + ...(!isHomeTab ? [{ label: '在新窗口中打开', onClick: handlePopOut }] : []), { label: '关闭其他标签页', onClick: handleCloseOther }, { label: '关闭所有标签页', onClick: handleCloseAll } ] diff --git a/src/hooks/domain/usePopOutTab.ts b/src/hooks/domain/usePopOutTab.ts index aa9fe4d..dc86f5c 100644 --- a/src/hooks/domain/usePopOutTab.ts +++ b/src/hooks/domain/usePopOutTab.ts @@ -35,8 +35,8 @@ export function usePopOutTab() { content: content || '', unsavedContent: unsavedContent || content || '', isEditing: isEditing || false, - loading: loading || false, - loaded: loaded !== undefined ? loaded : true, + loading: false, + loaded: true, } useTabStore.setState((state) => {