"use client"; import React, { useState } from "react"; import { cn } from "@/lib/utils"; export const Card = React.memo( ({ card, index, hovered, setHovered, }: { card: any; index: number; hovered: number | null; setHovered: React.Dispatch>; }) => (
setHovered(index)} onMouseLeave={() => setHovered(null)} className={cn( "relative h-60 w-full overflow-hidden rounded-lg bg-gray-100 transition-all duration-300 ease-out md:h-96 dark:bg-neutral-900", hovered !== null && hovered !== index && "scale-[0.98] blur-sm" )} > {card.title}
{card.title}
) ); Card.displayName = "Card"; type Card = { title: string; src: string; }; export function FocusCards({ cards }: { cards: Card[] }) { const [hovered, setHovered] = useState(null); return (
{cards.map((card, index) => ( ))}
); }