import Reveal from '@/components/ui/reveal'; import SectionHeading from '@/components/ui/section-heading'; import {projects} from '@/lib/site'; const Projects = () => { const rem = projects.length % 3; const lastRowStart = projects.length - (rem || 3); return (
Instant-Response Web Applications
{projects.map((project, i) => { const inLastRow = i >= lastRowStart; const colSpan = inLastRow && rem === 1 ? 'md:col-span-6' : inLastRow && rem === 2 ? 'md:col-span-3' : 'md:col-span-2'; const rightRule = i !== projects.length - 1 && i % 3 !== 2 ? 'md:border-r' : ''; const bottomRule = inLastRow ? 'md:border-b-0' : ''; const className = `group grid border-white/12 p-6 transition-colors not-last:border-b hover:bg-white/4 md:p-7 ${colSpan} ${rightRule} ${bottomRule}`; const content = (

{project.title} {project.href && ( ↗ )}

{project.blurb}

{project.stack}

); return project.href ? ( {content} ) : (
{content}
); })}
); }; export default Projects;