@@ -99,6 +99,15 @@ export default class LlmChatPanel extends BasicWidget {
this.useAdvancedContextCheckbox = element.querySelector('.use-advanced-context-checkbox') as HTMLInputElement;
this.validationWarning = element.querySelector('.provider-validation-warning') as HTMLElement;
+ // Set up event delegation for the settings link
+ this.validationWarning.addEventListener('click', (e) => {
+ const target = e.target as HTMLElement;
+ if (target.classList.contains('settings-link') || target.closest('.settings-link')) {
+ console.log('Settings link clicked, navigating to AI settings URL');
+ window.location.href = '#root/_hidden/_options/_optionsAi';
+ }
+ });
+
this.initializeEventListeners();
// Create a session when first loaded
@@ -492,23 +501,27 @@ export default class LlmChatPanel extends BasicWidget {
// Show warning if there are issues
if (!defaultInPrecedence || !defaultIsEnabled || !allPrecedenceEnabled) {
- let message = 'There are issues with your AI provider configuration:';
+ let message = '
AI Provider Configuration Issues';
+
+ message += '
';
if (!defaultInPrecedence) {
- message += `
• The default embedding provider "${defaultProvider}" is not in your provider precedence list.`;
+ message += `- The default embedding provider "${defaultProvider}" is not in your provider precedence list.
`;
}
if (!defaultIsEnabled) {
- message += `
• The default embedding provider "${defaultProvider}" is not enabled.`;
+ message += `- The default embedding provider "${defaultProvider}" is not enabled.
`;
}
if (!allPrecedenceEnabled) {
const disabledProviders = precedenceList.filter((p: string) => !enabledProviders.includes(p));
- message += `
• The following providers in your precedence list are not enabled: ${disabledProviders.join(', ')}.`;
+ message += `- The following providers in your precedence list are not enabled: ${disabledProviders.join(', ')}.
`;
}
- message += '
Please check your AI settings.';
+ message += '
';
+ message += '
';
+ // Update HTML content - no need to attach event listeners here anymore
this.validationWarning.innerHTML = message;
this.validationWarning.style.display = 'block';
} else {