From 7df275b37891b029f8e1cf2155dfe15b9c27ba3e Mon Sep 17 00:00:00 2001 From: mARTin-B78 Date: Tue, 6 Oct 2026 13:11:58 +0200 Subject: [PATCH] fix(sonar): share status setter between LLM and OCR panels (javascript:S4144) Co-Authored-By: Claude Sonnet 5.5 --- static/js/ai-backends.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/static/js/ai-backends.js b/static/js/ai-backends.js index 59cced3..504b435 100644 --- a/static/js/ai-backends.js +++ b/static/js/ai-backends.js @@ -307,6 +307,14 @@ new MutationObserver(() => picker.syncFromSelect(id)).observe(sel, { childList: true }); } + function makeStatusSetter(statusEl) { + return function setStatus(msg, cls) { + if (!statusEl) return; + statusEl.textContent = msg || ''; + statusEl.className = 'llm-active-status' + (cls ? ' ' + cls : ''); + }; + } + // ── Active Language Model (global picker) ─────────────────────────────── (function initActiveLlmPanel() { upgradeModelSelect('llm-active-model'); @@ -316,11 +324,7 @@ const statusEl = $('llm-active-status'); if (!urlInp || !modelSel) return; - function setStatus(msg, cls) { - if (!statusEl) return; - statusEl.textContent = msg || ''; - statusEl.className = 'llm-active-status' + (cls ? ' ' + cls : ''); - } + const setStatus = makeStatusSetter(statusEl); async function fetchModels(url, apiKey) { url = (url || urlInp.value.trim()); @@ -459,11 +463,7 @@ const enabledCb = $('ocr-active-enabled'); if (!urlInp || !modelSel) return; - function setStatus(msg, cls) { - if (!statusEl) return; - statusEl.textContent = msg || ''; - statusEl.className = 'llm-active-status' + (cls ? ' ' + cls : ''); - } + const setStatus = makeStatusSetter(statusEl); async function fetchModels(url) { url = (url || urlInp.value.trim());