/** * Virtual Banker Widget Loader * * Usage: * *
*/ (function() { 'use strict'; // Get configuration from script tag const script = document.currentScript; const config = { tenantId: script.getAttribute('data-tenant-id') || 'default', userId: script.getAttribute('data-user-id') || undefined, authToken: script.getAttribute('data-auth-token') || undefined, apiUrl: script.getAttribute('data-api-url') || undefined, avatarEnabled: script.getAttribute('data-avatar-enabled') !== 'false', }; // Load React and ReactDOM (should be loaded separately or bundled) // For now, this is a placeholder - the actual widget will be loaded via the built bundle console.log('Virtual Banker Widget Loader initialized', config); // Create container if it doesn't exist let container = document.getElementById('virtual-banker-widget'); if (!container) { container = document.createElement('div'); container.id = 'virtual-banker-widget'; document.body.appendChild(container); } // Store config for widget initialization container.dataset.tenantId = config.tenantId; if (config.userId) container.dataset.userId = config.userId; if (config.authToken) container.dataset.authToken = config.authToken; if (config.apiUrl) container.dataset.apiUrl = config.apiUrl; container.dataset.avatarEnabled = config.avatarEnabled.toString(); // Export API for programmatic control window.VirtualBankerWidgetAPI = { open: function() { const widget = document.getElementById('virtual-banker-widget'); if (widget) { widget.style.display = 'block'; } }, close: function() { const widget = document.getElementById('virtual-banker-widget'); if (widget) { widget.style.display = 'none'; } }, minimize: function() { const widget = document.getElementById('virtual-banker-widget'); if (widget) { widget.classList.add('minimized'); } }, setContext: function(context) { const widget = document.getElementById('virtual-banker-widget'); if (widget) { widget.dataset.context = JSON.stringify(context); } }, setAuthToken: function(token) { const widget = document.getElementById('virtual-banker-widget'); if (widget) { widget.dataset.authToken = token; } }, }; })();