diff --git a/index.js b/index.js index b101296..5e5a3f3 100644 --- a/index.js +++ b/index.js @@ -518,12 +518,17 @@ async function initUI() { getFallbackAvatar: () => FALLBACK_AVATAR_DATA_URI, getAvatarUrl: (type, avatar) => getThumbnailUrl(type, avatar), getCharacterThoughts: () => extensionSettings.characterThoughts || '', + getInfoBoxData: () => extensionSettings.infoBoxData || 'Info Box\n---\n', // Data setters setCharacterThoughts: (value) => { extensionSettings.characterThoughts = value; saveSettings(); }, + setInfoBoxData: (value) => { + extensionSettings.infoBoxData = value; + saveSettings(); + }, // Event callbacks onDataChange: (dataType, field, value, extra) => { diff --git a/src/systems/dashboard/dashboardIntegration.js b/src/systems/dashboard/dashboardIntegration.js index ecaba5d..4d14141 100644 --- a/src/systems/dashboard/dashboardIntegration.js +++ b/src/systems/dashboard/dashboardIntegration.js @@ -11,6 +11,7 @@ import { saveSettings } from '../../core/persistence.js'; import { renderExtensionTemplateAsync } from '../../../../../../extensions.js'; import { DashboardManager } from './dashboardManager.js'; import { WidgetRegistry } from './widgetRegistry.js'; +import { generateDefaultDashboard } from './defaultLayout.js'; // Widget imports import { registerUserInfoWidget } from './widgets/userInfoWidget.js'; @@ -92,6 +93,11 @@ export async function initializeDashboard(dependencies) { // Initialize the dashboard await dashboardManager.init(); + // Set default layout (required for reset functionality) + const defaultLayout = generateDefaultDashboard(); + dashboardManager.setDefaultLayout(defaultLayout); + console.log('[RPG Companion] Default layout set with', defaultLayout.tabs.length, 'tabs'); + // Set up dashboard event listeners setupDashboardEventListeners(dependencies); @@ -139,6 +145,9 @@ function getInlineDashboardTemplate() {