fix ai_settings TPL location

This commit is contained in:
perf3ct 2025-03-28 21:26:09 +00:00
parent 2f573d4464
commit d1cd0a8817
No known key found for this signature in database
GPG Key ID: 569C4EEC436F5232
2 changed files with 358 additions and 358 deletions

View File

@ -1,3 +0,0 @@
import AiSettingsWidget from "./ai_settings.ts";
export default AiSettingsWidget;

View File

@ -60,6 +60,7 @@ interface OpenAIModelResponse {
}>;
}
// After all interfaces, before class definition, add the TPL constant
interface AnthropicModelResponse {
success: boolean;
chatModels: Array<{
@ -74,14 +75,8 @@ interface AnthropicModelResponse {
}>;
}
export default class AiSettingsWidget extends OptionsWidget {
private statsRefreshInterval: NodeJS.Timeout | null = null;
private indexRebuildRefreshInterval: NodeJS.Timeout | null = null;
private readonly STATS_REFRESH_INTERVAL = 5000; // 5 seconds
doRender() {
this.$widget = $(`
<div class="options-section">
const TPL = `
<div class="options-section">
<h4>${t("ai_llm.title")}</h4>
<!-- Add warning alert div -->
@ -94,9 +89,9 @@ export default class AiSettingsWidget extends OptionsWidget {
</label>
<div class="form-text">${t("ai_llm.enable_ai_description")}</div>
</div>
</div>
</div>
<div class="options-section">
<div class="options-section">
<h4>${t("ai_llm.embedding_statistics")}</h4>
<div class="embedding-stats-container">
<div class="embedding-stats">
@ -135,9 +130,9 @@ export default class AiSettingsWidget extends OptionsWidget {
</div>
</div>
</div>
</div>
</div>
<div class="ai-providers-section options-section">
<div class="ai-providers-section options-section">
<h4>${t("ai_llm.provider_configuration")}</h4>
<div class="form-group">
@ -157,17 +152,17 @@ export default class AiSettingsWidget extends OptionsWidget {
<textarea class="ai-system-prompt form-control" rows="3"></textarea>
<div class="form-text">${t("ai_llm.system_prompt_description")}</div>
</div>
</div>
</div>
<nav class="options-section-tabs">
<nav class="options-section-tabs">
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<button class="nav-link active" id="nav-openai-tab" data-bs-toggle="tab" data-bs-target="#nav-openai" type="button" role="tab" aria-controls="nav-openai" aria-selected="true">${t("ai_llm.openai_tab")}</button>
<button class="nav-link" id="nav-anthropic-tab" data-bs-toggle="tab" data-bs-target="#nav-anthropic" type="button" role="tab" aria-controls="nav-anthropic" aria-selected="false">${t("ai_llm.anthropic_tab")}</button>
<button class="nav-link" id="nav-voyage-tab" data-bs-toggle="tab" data-bs-target="#nav-voyage" type="button" role="tab" aria-controls="nav-voyage" aria-selected="false">${t("ai_llm.voyage_tab")}</button>
<button class="nav-link" id="nav-ollama-tab" data-bs-toggle="tab" data-bs-target="#nav-ollama" type="button" role="tab" aria-controls="nav-ollama" aria-selected="false">${t("ai_llm.ollama_tab")}</button>
</div>
</nav>
<div class="options-section">
</nav>
<div class="options-section">
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-openai" role="tabpanel" aria-labelledby="nav-openai-tab">
<div class="card">
@ -308,9 +303,9 @@ export default class AiSettingsWidget extends OptionsWidget {
</div>
</div>
</div>
</div>
</div>
<div class="embedding-section options-section">
<div class="embedding-section options-section">
<h4>${t("ai_llm.embedding_configuration")}</h4>
<div class="form-group">
@ -434,7 +429,15 @@ export default class AiSettingsWidget extends OptionsWidget {
</div>
</div>
</div>
</div>`);
</div>`;
export default class AiSettingsWidget extends OptionsWidget {
private statsRefreshInterval: NodeJS.Timeout | null = null;
private indexRebuildRefreshInterval: NodeJS.Timeout | null = null;
private readonly STATS_REFRESH_INTERVAL = 5000; // 5 seconds
doRender() {
this.$widget = $(TPL);
const $aiEnabled = this.$widget.find('.ai-enabled');
$aiEnabled.on('change', async () => {