"use client"; import { useMemo } from "react"; import { usePortfolioData } from "@/lib/usePortfolioData"; import { Section } from "./Section"; import { Reveal } from "./Reveal"; export default function Projects() { const { data, loading, error } = usePortfolioData(); const projects = useMemo( () => data?.projects.filter((p) => p.featured) || [], [data], ); if (loading) return
Loading featured projects
; if (error) return
Error loading featured projects
; return (
{projects.map((project, index) => (
{project.category}

{project.title}

{project.subtitle}

{project.status}

{project.description}

{project.githubUrl && ( GitHub )} {project.demoUrl && ( Live demo )}
    {project.technologies.slice(0, 6).map((tech: string) => (
  • {tech}
  • ))}
Complexity {project.metrics?.complexity || 3}/5 {project.metrics?.teamSize && ( Team {project.metrics.teamSize} )}
))}
); }