From bdd553a457732b46910b98265d673816ed04a4e5 Mon Sep 17 00:00:00 2001 From: YuanShiJiLoong <2450829984@qq.com> Date: Thu, 26 Feb 2026 00:43:08 +0900 Subject: [PATCH] fix: work switch and import chapter live reload --- app/components/SettingsPanel.js | 2 ++ app/components/Sidebar.js | 5 +++++ 2 files changed, 7 insertions(+) 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);