import { searchItems, imageUrl, session } from '../embyApi.js'; import { navigate } from '../router.js'; export function renderBrowse(root) { root.innerHTML = `

Watch Party

`; root.querySelector('#logout').addEventListener('click', () => { session.clear(); navigate('/login'); }); const input = root.querySelector('#search'); const results = root.querySelector('#results'); let debounceTimer; input.addEventListener('input', () => { clearTimeout(debounceTimer); debounceTimer = setTimeout(runSearch, 300); }); async function runSearch() { const query = input.value; if (!query || query.trim().length < 2) { results.innerHTML = ''; return; } let items; try { items = await searchItems(query); } catch (err) { results.innerHTML = '

Recherche impossible - le serveur Emby est-il joignable ?

'; return; } if (!items.length) { results.innerHTML = '

Aucun résultat.

'; return; } results.innerHTML = items.map((item) => ` ${escapeHtml(item.Name)}${item.ProductionYear ? ' (' + item.ProductionYear + ')' : ''} `).join(''); } } function escapeHtml(str) { const div = document.createElement('div'); div.textContent = str; return div.innerHTML; }