diff --git a/app/components/SettingsPanel.js b/app/components/SettingsPanel.js index 18124da..0262b00 100644 --- a/app/components/SettingsPanel.js +++ b/app/components/SettingsPanel.js @@ -138,6 +138,8 @@ export default function SettingsPanel() { setNodes(updatedNodes); setActiveWorkIdState(workNode.id); setActiveWorkId(workNode.id); + // 同步 Zustand store,触发 page.js 重载章节 + useAppStore.getState().setActiveWorkId(workNode.id); setNewWorkName(''); setShowNewWorkInput(false); setSelectedNodeId(null); diff --git a/app/components/Sidebar.js b/app/components/Sidebar.js index 1bf2e30..1b424c6 100644 --- a/app/components/Sidebar.js +++ b/app/components/Sidebar.js @@ -403,6 +403,11 @@ export default function Sidebar() { await saveChapters(importModal.chapters, targetWorkId); // 切换到目标作品 setActiveWorkIdSetting(targetWorkId); + // 直接更新 store 中的章节列表(立即生效,无需刷新) + setChapters(importModal.chapters); + if (importModal.chapters.length > 0) { + setActiveChapterId(importModal.chapters[0].id); + } setActiveWorkIdStore(targetWorkId); showToast(t('sidebar.importWorkSuccess').replace('{count}', importModal.chapters.length), 'success'); setImportModal(null);