import React, {useEffect, useState} from "react"; import Link from "next/link"; interface Project { id: string; title: string; description: string; slug: string; } export default function Projects() { const [projects, setProjects] = useState([]); const [isVisible, setIsVisible] = useState(false); useEffect(() => { const fetchProjects = async () => { try { const response = await fetch('/api/projects'); try { if (!response.ok) { throw new Error("Failed to fetch projects"); } } catch (error) { console.error("Failed to fetch projects:", error); } const projectsData = await response.json(); setProjects(projectsData); setTimeout(() => { setIsVisible(true); }, 250); // Delay to start the animation after Hero } catch (error) { console.error("Failed to fetch projects:", error); } }; fetchProjects().then(r => r); }, []); const numberOfProjects = projects.length; return (

Projects

{projects.map((project, index) => (

{project.title}

{project.description}

))}

More to come

...

); }