function createRsvpEntry(rsvp) { const table = document.getElementById('rsvpsTable'); const tbody = table.children.item(0) const { attending, partyMembers } = rsvp; for (const member of partyMembers) { const newRow = document.createElement('tr'); const attendingColumn = document.createElement('td'); attendingColumn.innerText = attending ? '\u2705' : '\u274C'; const nameColumn = document.createElement('td'); nameColumn.innerText = member.name; const childColumn = document.createElement('td'); childColumn.innerText = member.child ? '\u{1F476}' : '\u{1F474}'; const dietaryPreferencesColumn = document.createElement('td'); dietaryPreferencesColumn.innerText = member.dietaryPreferences.length > 0 ? member.dietaryPreferences : 'n/a'; newRow.appendChild(attendingColumn); newRow.appendChild(nameColumn); newRow.appendChild(childColumn); newRow.appendChild(dietaryPreferencesColumn); tbody.appendChild(newRow); } } async function getRsvps() { const token = Object.fromEntries( document.cookie.split(";").map((x) => x.trim().split("=")) )['token'] const resp = await fetch('/api/rsvps', { headers: { 'Authorization': `Basic ${String(btoa(token))}`} }); const rsvps = await resp.json() for (const rsvp of rsvps) { createRsvpEntry(rsvp); } } window.onload = async function () { await getRsvps(); };