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

Watch Party

`; root.querySelector('#logout').addEventListener('click', async () => { await logout(); 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.year ? ' (' + item.year + ')' : ''} `).join(''); } } function escapeHtml(str) { const div = document.createElement('div'); div.textContent = str; return div.innerHTML; }