function formatDate(dateStr) { const d = new Date(dateStr); return d.toLocaleDateString('fr-FR', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); } function showError(message) { document.getElementById('error').innerHTML = `
`; } (async function init() { await initNav('history'); const params = new URLSearchParams(window.location.search); const id = params.get('id'); const container = document.getElementById('content'); if (!id) { container.innerHTML = 'Concert introuvable.
'; return; } try { const setlist = await api.get(`/api/setlists/${id}`); const main = setlist.songs.filter((s) => !s.is_encore); const encore = setlist.songs.filter((s) => s.is_encore); const rowHtml = (s) => `Aucun morceau enregistré.
'}Aucun rappel enregistré.
'}