diff --git a/index.js b/index.js index e97b582..30d9c67 100644 --- a/index.js +++ b/index.js @@ -304,6 +304,13 @@ async function initUI() { updateChatThoughts(); }); + $('#rpg-toggle-always-show-bubble').on('change', function() { + extensionSettings.alwaysShowThoughtBubble = $(this).prop('checked'); + saveSettings(); + // Re-render thoughts to apply the setting + updateChatThoughts(); + }); + $('#rpg-toggle-html-prompt').on('change', function() { extensionSettings.enableHtmlPrompt = $(this).prop('checked'); // console.log('[RPG Companion] Toggle enableHtmlPrompt changed to:', extensionSettings.enableHtmlPrompt); @@ -405,6 +412,7 @@ async function initUI() { $('#rpg-toggle-thoughts').prop('checked', extensionSettings.showCharacterThoughts); $('#rpg-toggle-inventory').prop('checked', extensionSettings.showInventory); $('#rpg-toggle-thoughts-in-chat').prop('checked', extensionSettings.showThoughtsInChat); + $('#rpg-toggle-always-show-bubble').prop('checked', extensionSettings.alwaysShowThoughtBubble); $('#rpg-toggle-html-prompt').prop('checked', extensionSettings.enableHtmlPrompt); $('#rpg-toggle-plot-buttons').prop('checked', extensionSettings.enablePlotButtons); $('#rpg-toggle-animations').prop('checked', extensionSettings.enableAnimations); diff --git a/src/core/config.js b/src/core/config.js index fc633b6..184b11d 100644 --- a/src/core/config.js +++ b/src/core/config.js @@ -32,6 +32,7 @@ export const defaultSettings = { showCharacterThoughts: true, showInventory: true, // Show inventory section (v2 system) showThoughtsInChat: true, // Show thoughts overlay in chat + alwaysShowThoughtBubble: false, // Auto-expand thought bubble without clicking icon enableHtmlPrompt: false, // Enable immersive HTML prompt injection enablePlotButtons: true, // Show plot progression buttons above chat input panelPosition: 'right', // 'left', 'right', or 'top' diff --git a/src/systems/rendering/thoughts.js b/src/systems/rendering/thoughts.js index 19ae5b5..8e9c79e 100644 --- a/src/systems/rendering/thoughts.js +++ b/src/systems/rendering/thoughts.js @@ -978,9 +978,16 @@ export function createThoughtPanel($message, thoughtsArray) { right: 'auto' // Clear any right positioning }); - // Initially hide the panel and show the icon - $thoughtPanel.hide(); - $thoughtIcon.show(); + // Check if always show bubble is enabled + if (extensionSettings.alwaysShowThoughtBubble) { + // Always show panel, hide icon + $thoughtPanel.show(); + $thoughtIcon.hide(); + } else { + // Initially hide the panel and show the icon + $thoughtPanel.hide(); + $thoughtIcon.show(); + } // console.log('[RPG Companion] Thought panel created at:', { top, left }); diff --git a/template.html b/template.html index a82a41a..b4aa08b 100644 --- a/template.html +++ b/template.html @@ -181,6 +181,14 @@ Display character thoughts as overlay bubbles next to their messages + + + Auto-expand thought bubble without clicking the icon first + +