added /projects, removed some lines from main style.css

This commit is contained in:
zyqunix 2024-11-27 22:23:50 +01:00
parent 2f1c6ba41b
commit 483678545b
10 changed files with 332 additions and 59 deletions

49
projects/projects.js Normal file
View file

@ -0,0 +1,49 @@
async function fetchprojects() {
try {
const response = await fetch('projects.json');
if (!response.ok) {
throw new Error("VPS response is bad");
}
const projects = await response.json();
return projects;
} catch (error) {
console.error("Failed to fetch projects:", error);
return [];
};
};
function renderprojects(filteredprojects) {
const projectList = document.getElementById('projectsMain');
projectList.innerHTML = "";
if (filteredprojects.length === 0) {
projectList.innerHTML = "<div class='text-center'>No projects.</div>"
return;
}
filteredprojects.sort((a, b) => b.description - a.description);
filteredprojects.forEach(project => {
const projectItem = document.createElement("div");
projectItem.className = "project-div";
projectItem.innerHTML = `
<h1 class="project-header">${project.name}</h1>
<h2 class="project-subhead">${project.subheader}</h2>
<h2 class="project-desc">${project.description}</h2>
<a id="visit" class="visit-project" href="${project.url}">Go to <strong>${project.name}</strong>!</a>
`;
projectList.appendChild(projectItem);
});
};
async function filterprojects(filterType) {
const projects = await fetchprojects();
let filteredprojects;
if (filterType) {
filteredprojects = projects;
}
renderprojects(filteredprojects);
}
filterprojects('all');