This commit is contained in:
carlospolop
2025-11-24 23:25:34 +01:00
parent 2c897fc8a1
commit 65b8b4477a

View File

@@ -178,10 +178,31 @@
const header = document.getElementById('searchresults-header');
const icon = document.getElementById('search-toggle');
const READY_ICON = icon.innerHTML;
if(!wrap || !bar || !list || !listOut || !header || !icon) {
console.error('[HT Search] Missing DOM elements:', {wrap:!!wrap, bar:!!bar, list:!!list, listOut:!!listOut, header:!!header, icon:!!icon});
return;
}
/* Clear icon content and use emoji states directly */
icon.textContent = '⏳';
icon.setAttribute('aria-label','Loading search …');
icon.setAttribute('title','Search is loading, please wait...');
icon.setAttribute('title','Search is loading, please wait...');
const setIconState = state => {
if(state === 'ready'){
icon.textContent = '🔍';
icon.setAttribute('aria-label','Open search (S)');
icon.removeAttribute('title');
} else if(state === 'error'){
icon.textContent = '❌';
icon.setAttribute('aria-label','Search unavailable');
icon.setAttribute('title','Search is unavailable');
} else {
icon.textContent = '⏳';
icon.setAttribute('aria-label','Loading search …');
icon.setAttribute('title','Search is loading, please wait...');
}
};
const HOT=83, ESC=27, DOWN=40, UP=38, ENTER=13;
@@ -240,16 +261,7 @@
/* ───────────── worker messages ───────────── */
worker.onmessage = ({data}) => {
if(data && data.ready!==undefined){
if(data.ready){
icon.innerHTML=READY_ICON;
icon.setAttribute('aria-label','Open search (S)');
icon.removeAttribute('title');
}
else {
icon.textContent='❌';
icon.setAttribute('aria-label','Search unavailable');
icon.setAttribute('title','Search is unavailable');
}
setIconState(data.ready ? 'ready' : 'error');
return;
}
const docs=data, q=bar.value.trim(), terms=q.split(/\s+/).filter(Boolean);