"use client"; import { memo, useState, useCallback } from "react"; import { Heart } from "lucide-react"; import { cls } from "@/lib/utils"; interface FavoriteButtonProps { initialFavorited?: boolean; onToggle?: () => void; className?: string; } const FavoriteButton = memo(({ initialFavorited = false, onToggle, className = "", }: FavoriteButtonProps) => { const [isFavorited, setIsFavorited] = useState(initialFavorited); const handleClick = useCallback((e: React.MouseEvent) => { e.stopPropagation(); setIsFavorited(prev => !prev); onToggle?.(); }, [onToggle]); return ( ); }); FavoriteButton.displayName = "FavoriteButton"; export default FavoriteButton;