From fc2f20900862252cbf7491311c7ec751170cb8ab Mon Sep 17 00:00:00 2001 From: gramps Date: Mon, 13 Jul 2026 09:16:34 -0700 Subject: [PATCH] v0.17.6: add orange search button right of SEND, shown only when SearXNG available --- templates/index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/templates/index.html b/templates/index.html index b08f6f5..e3ecac2 100644 --- a/templates/index.html +++ b/templates/index.html @@ -200,6 +200,9 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var( .send-btn:hover { background:var(--accent); } .stop-btn { padding:12px 20px; background:var(--danger); border:none; border-radius:var(--radius); color:#fff; font-family:var(--font-mono); font-size:13px; font-weight:600; cursor:pointer; } .stop-btn:hover { background:var(--danger-hover); } +.search-btn { padding:12px 14px; background:var(--warning); border:none; border-radius:var(--radius); color:#fff; font-size:16px; cursor:pointer; transition:background 0.2s; } +.search-btn:hover { background:#e67e22; } +.search-btn:disabled { background:var(--text-muted); cursor:not-allowed; } .file-preview { max-width:900px; margin:0 auto 8px; display:none; align-items:center; gap:10px; background:var(--bg-tertiary); border:1px solid var(--border); border-radius:var(--radius); padding:8px 12px; } .file-preview.visible { display:flex; } .file-preview-thumb { width:48px; height:48px; object-fit:cover; border-radius:4px; border:1px solid var(--border); } @@ -400,6 +403,7 @@ body { font-family: var(--font-body); background: var(--bg-primary); color: var( + @@ -724,8 +728,12 @@ async function checkSearchStatus() { const resp = await authFetch('/api/search/status'); const data = await resp.json(); document.getElementById('searchStatus').innerHTML = data.available ? ' search: ready' : ' search: unavailable'; + const searchBtn = document.getElementById('searchBtn'); + if (searchBtn) searchBtn.style.display = data.available ? '' : 'none'; } catch(e) { document.getElementById('searchStatus').innerHTML = ' search: error'; + const searchBtn = document.getElementById('searchBtn'); + if (searchBtn) searchBtn.style.display = 'none'; } } @@ -1375,14 +1383,17 @@ async function sendMessage() { function setStreamingState(streaming) { isStreaming = streaming; const sendBtn = document.getElementById('sendBtn'); + const searchBtn = document.getElementById('searchBtn'); if (streaming) { sendBtn.textContent = 'STOP'; sendBtn.className = 'stop-btn'; sendBtn.onclick = () => { if (abortController) abortController.abort(); setStreamingState(false); }; + if (searchBtn) searchBtn.disabled = true; } else { sendBtn.textContent = 'SEND'; sendBtn.className = 'send-btn'; sendBtn.onclick = sendMessage; + if (searchBtn) searchBtn.disabled = false; } }