Update cwb_index.js

This commit is contained in:
2025-10-04 02:32:26 +08:00
committed by GitHub
parent c58fa887de
commit 338d75a2db

View File

@@ -1,6 +1,6 @@
import { loadSettings, bindSettingsEvents } from './src/cwb_settingsManager.js'; import { loadSettings, bindSettingsEvents } from './src/cwb_settingsManager.js';
import { initializeCharCardViewer, bindCwbApiEvents } from './src/cwb_uiManager.js'; import { initializeCharCardViewer, bindCwbApiEvents } from './src/cwb_uiManager.js';
import { initializeCore, getLatestChatName, resetScriptStateForNewChat, handleMessageReceived } from './src/cwb_core.js'; import { initializeCore, getLatestChatName, resetScriptStateForNewChat, handleMessageReceived, updateCardUpdateStatusDisplay } from './src/cwb_core.js';
import { checkForUpdates } from './src/cwb_updater.js'; import { checkForUpdates } from './src/cwb_updater.js';
import { isCwbEnabled } from './src/cwb_utils.js'; import { isCwbEnabled } from './src/cwb_utils.js';
import { eventSource, event_types } from '/script.js'; import { eventSource, event_types } from '/script.js';
@@ -17,29 +17,31 @@ export async function initializeCharacterWorldBook($cwbSettingsPanel) {
bindSettingsEvents($cwbSettingsPanel); bindSettingsEvents($cwbSettingsPanel);
bindCwbApiEvents(); bindCwbApiEvents();
loadSettings(); loadSettings();
initializeCharCardViewer();
if (!isCwbEnabled()) { // Always update status display on initialization
updateCardUpdateStatusDisplay($cwbSettingsPanel);
if (isCwbEnabled()) {
console.log('[CWB] Master switch is enabled. Initializing core features.');
checkForUpdates(false, $cwbSettingsPanel);
await initializeCore($cwbSettingsPanel);
} else {
console.log('[CWB] Master switch is disabled. Halting core feature initialization.'); console.log('[CWB] Master switch is disabled. Halting core feature initialization.');
initializeCharCardViewer();
return;
} }
console.log('[CWB] Master switch is enabled. Initializing core features.');
initializeCharCardViewer();
checkForUpdates(false, $cwbSettingsPanel);
await initializeCore($cwbSettingsPanel);
eventSource.on(event_types.CHAT_CHANGED, async () => { eventSource.on(event_types.CHAT_CHANGED, async () => {
console.log('[CWB] Detected chat change. Resetting state.'); console.log('[CWB] Detected chat change. Resetting state and updating UI.');
setTimeout(async () => { setTimeout(async () => {
const newChatName = await getLatestChatName(); const newChatName = await getLatestChatName();
await resetScriptStateForNewChat($cwbSettingsPanel, newChatName); await resetScriptStateForNewChat($cwbSettingsPanel, newChatName);
updateCardUpdateStatusDisplay($cwbSettingsPanel);
}, 150); }, 150);
}); });
eventSource.on(event_types.MESSAGE_RECEIVED, () => { eventSource.on(event_types.MESSAGE_RECEIVED, () => {
handleMessageReceived($cwbSettingsPanel); handleMessageReceived($cwbSettingsPanel);
updateCardUpdateStatusDisplay($cwbSettingsPanel);
}); });
console.log('[CWB] Character World Book feature initialized successfully.'); console.log('[CWB] Character World Book feature initialized successfully.');