import clsx from 'clsx'; import { Children, ReactElement, cloneElement, isValidElement } from 'react'; import { VscGithubInverted } from 'react-icons/vsc'; import { Project } from './content'; type ProjectCardProps = { project: Project; icon?: ReactElement<{ className?: string }>; }; const ProjectCard = ({ project, icon }: ProjectCardProps) => { const Icon = Children.map(icon, (child) => { if (!isValidElement(child)) return child; return cloneElement(child, { className: 'w-8 h-8', }); }); return ( <>