import { getItem } from '../embyApi.js'; import { createParty, joinParty } from '../party.js'; import { navigate } from '../router.js'; export function renderItemDetail(root, params) { root.innerHTML = '

Chargement...

'; getItem(params.id).then((item) => { root.innerHTML = `

${escapeHtml(item.name)}

${escapeHtml(item.overview || '')}

ou

`; root.querySelector('#back').addEventListener('click', () => history.back()); root.querySelector('#createBtn').addEventListener('click', async () => { try { const party = await createParty(item.id); navigate(`/party/${party.partyId}`); } catch (err) { root.querySelector('#error').textContent = err.message; } }); root.querySelector('#joinBtn').addEventListener('click', async () => { const code = root.querySelector('#joinCode').value.trim(); try { const party = await joinParty(code); navigate(`/party/${party.partyId}`); } catch (err) { root.querySelector('#error').textContent = err.message; } }); }).catch(() => { root.innerHTML = '

Titre introuvable.

'; }); } function escapeHtml(str) { const div = document.createElement('div'); div.textContent = str; return div.innerHTML; }