import React from 'react'; import { Link } from 'react-router-dom'; import { ArrowRight } from 'lucide-react'; import { getCategoryConfig } from '../config/tools'; const ToolCard = ({ icon: Icon, title, description, path, tags, category }) => { const categoryConfig = getCategoryConfig(category); // Define explicit hover classes for Tailwind CSS purging const getHoverClasses = (category) => { switch (category) { case 'editor': return { border: 'hover:border-blue-300 dark:hover:border-blue-500', shadow: 'hover:shadow-blue-500/20', titleColor: 'group-hover:text-blue-600 dark:group-hover:text-blue-400', arrowColor: 'group-hover:text-blue-600', badgeColor: 'group-hover:bg-blue-100 dark:group-hover:bg-blue-900/30 group-hover:text-blue-700 dark:group-hover:text-blue-300' }; case 'encoder': return { border: 'hover:border-purple-300 dark:hover:border-purple-500', shadow: 'hover:shadow-purple-500/20', titleColor: 'group-hover:text-purple-600 dark:group-hover:text-purple-400', arrowColor: 'group-hover:text-purple-600', badgeColor: 'group-hover:bg-purple-100 dark:group-hover:bg-purple-900/30 group-hover:text-purple-700 dark:group-hover:text-purple-300' }; case 'formatter': return { border: 'hover:border-green-300 dark:hover:border-green-500', shadow: 'hover:shadow-green-500/20', titleColor: 'group-hover:text-green-600 dark:group-hover:text-green-400', arrowColor: 'group-hover:text-green-600', badgeColor: 'group-hover:bg-green-100 dark:group-hover:bg-green-900/30 group-hover:text-green-700 dark:group-hover:text-green-300' }; case 'analyzer': return { border: 'hover:border-orange-300 dark:hover:border-orange-500', shadow: 'hover:shadow-orange-500/20', titleColor: 'group-hover:text-orange-600 dark:group-hover:text-orange-400', arrowColor: 'group-hover:text-orange-600', badgeColor: 'group-hover:bg-orange-100 dark:group-hover:bg-orange-900/30 group-hover:text-orange-700 dark:group-hover:text-orange-300' }; default: return { border: 'hover:border-slate-300 dark:hover:border-slate-500', shadow: 'hover:shadow-slate-500/20', titleColor: 'group-hover:text-slate-600 dark:group-hover:text-slate-400', arrowColor: 'group-hover:text-slate-600', badgeColor: 'group-hover:bg-slate-100 dark:group-hover:bg-slate-700 group-hover:text-slate-700 dark:group-hover:text-slate-300' }; } }; const hoverClasses = getHoverClasses(category); return (
{/* Gradient overlay on hover */}
{/* Header */}
{/* Content */}

{title}

{categoryConfig.name}

{description}

{tags && tags.length > 0 && (
{tags.map((tag, index) => ( {tag} ))}
)}
); }; export default ToolCard;