import React from 'react'; import { Card, CardContent, Typography, Chip, Box, IconButton, Tooltip } from '@mui/material'; import { Star as StarIcon, StarBorder as StarBorderIcon, LockOutlined as LockIcon } from '@mui/icons-material'; import { ToolCardProps } from './types'; import { getStatusConfig } from './utils'; const ToolCard: React.FC = ({ tool, onToolClick, isFavorite, onToggleFavorite }) => { const config = getStatusConfig(tool.status); const isLocked = tool.status === 'premium' || tool.status === 'pro'; return ( { if (!isLocked) onToolClick(tool); }} > {/* Header with Icon and Status */} {tool.icon} {tool.name} { e.stopPropagation(); onToggleFavorite(tool.name); }} sx={{ color: isFavorite ? '#FFD700' : 'rgba(255, 255, 255, 0.7)', '&:hover': { color: isFavorite ? '#FFD700' : 'white', }, }} > {isFavorite ? : } {/* Description */} {tool.description} {/* Features */} {tool.features && tool.features.length > 0 && ( Features: {tool.features.slice(0, 3).map((feature, index) => { const isDashboard = tool.name.toLowerCase().includes('dashboard'); return ( ); })} {tool.features.length > 3 && ( )} )} {/* Locked overlay for Premium/Pro */} {isLocked && ( {(config.label || 'Pro') + ' • Locked'} )} ); }; export default ToolCard;