/** * ResultRenderer Module * Handles rendering of search results in the interface */ class ResultRenderer { constructor(options, utils) { this.options = options; this.utils = utils; } /** * Render search results */ render(results, query, container) { if (!container) { console.warn('No container provided for rendering results'); return; } if (results.length === 0) { container.innerHTML = this.renderNoResults(query); return; } const html = results.map((result, index) => { const isSelected = index === 0; return this.renderResultItem(result, query, isSelected); }).join(''); container.innerHTML = `
No results found for "${this.utils.escapeHtml(query)}"
Searching...
${this.utils.escapeHtml(message)}