38 lines
928 B
JavaScript
38 lines
928 B
JavaScript
export function createEventCard(event) {
|
|
|
|
const article = document.createElement("article");
|
|
article.className = "event-card";
|
|
|
|
const name = event.name;
|
|
|
|
// DATE
|
|
const rawDate = event.dates?.start?.localDate;
|
|
const formattedDate = rawDate
|
|
? new Date(rawDate).toLocaleDateString("de-CH", {
|
|
day: "2-digit",
|
|
month: "2-digit",
|
|
year: "numeric"
|
|
})
|
|
: "Date not available";
|
|
|
|
// TIME
|
|
const rawTime = event.dates?.start?.localTime;
|
|
const formattedTime = rawTime
|
|
? rawTime.slice(0, 5)
|
|
: "";
|
|
|
|
// Combine date + time
|
|
const dateTime = formattedTime
|
|
? `${formattedDate}, ${formattedTime}`
|
|
: formattedDate;
|
|
|
|
const venue = event._embedded?.venues[0]?.name || "Unknown venue";
|
|
|
|
article.innerHTML = `
|
|
<h3 class="event-card__title">${name}</h3>
|
|
<p class="event-card__date">${dateTime}</p>
|
|
<p class="event-card__venue">${venue}</p>
|
|
`;
|
|
|
|
return article;
|
|
} |