(function () {
function escapeHtml(value) {
if (value === null || value === undefined) return "";
return String(value)
.replace(/&/g, "&")
.replace(//g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
function createProjectItem(project) {
const company = escapeHtml(project.company);
const title = escapeHtml(project.title);
const logo = escapeHtml(project.logo);
const image = escapeHtml(project.image);
const description = escapeHtml(project.description);
const item = document.createElement("div");
item.className = "project-item";
item.innerHTML = `
${company ? `
${company}
` : ""}
${title}
${description ? `
${description}
` : ""}
`;
return item;
}
function renderProjects() {
const projectList = document.getElementById("projectList");
const projectEmpty = document.getElementById("projectEmpty");
if (!projectList) return;
if (!Array.isArray(PROJECTS) || PROJECTS.length === 0) {
projectList.innerHTML = "";
if (projectEmpty) {
projectEmpty.style.display = "block";
}
return;
}
if (projectEmpty) {
projectEmpty.style.display = "none";
}
projectList.innerHTML = "";
PROJECTS.forEach(function (project) {
const item = createProjectItem(project);
projectList.appendChild(item);
});
}
document.addEventListener("DOMContentLoaded", renderProjects);
})();