| import React from 'react'; | |
| const FeatureCard = ({ icon, title, description, delay, isVisible, isNew, isPopular, isPremium }) => { | |
| return ( | |
| <div | |
| className={`group relative bg-white rounded-2xl p-8 shadow-lg hover:shadow-2xl transition-all duration-500 transform hover:-translate-y-2 animate-slide-up ${ | |
| isNew ? 'ring-2 ring-primary-200' : '' | |
| }`} | |
| style={{ animationDelay: delay }} | |
| > | |
| {/* Badge indicators */} | |
| <div className="absolute top-4 right-4 flex gap-2"> | |
| {isNew && ( | |
| <span className="px-3 py-1 bg-primary-100 text-primary-800 text-xs font-semibold rounded-full"> | |
| New | |
| </span> | |
| )} | |
| {isPopular && ( | |
| <span className="px-3 py-1 bg-accent-100 text-accent-800 text-xs font-semibold rounded-full"> | |
| Popular | |
| </span> | |
| )} | |
| {isPremium && ( | |
| <span className="px-3 py-1 bg-yellow-100 text-yellow-800 text-xs font-semibold rounded-full"> | |
| Premium | |
| </span> | |
| )} | |
| </div> | |
| {/* Icon with enhanced styling */} | |
| <div className="relative mb-6"> | |
| <div className="w-16 h-16 bg-gradient-to-br from-primary-50 to-accent-50 rounded-2xl flex items-center justify-center text-3xl transition-all duration-300 group-hover:scale-110"> | |
| {icon} | |
| </div> | |
| {/* Glow effect on hover */} | |
| <div className="absolute inset-0 bg-gradient-to-br from-primary-200 to-accent-200 rounded-2xl opacity-0 group-hover:opacity-20 transition-opacity duration-300 blur-lg"></div> | |
| </div> | |
| {/* Title with enhanced typography */} | |
| <h3 className="text-xl font-bold text-gray-900 mb-4 leading-tight group-hover:text-primary-600 transition-colors duration-300"> | |
| {title} | |
| </h3> | |
| {/* Description with enhanced styling */} | |
| <p className="text-gray-600 leading-relaxed mb-6 group-hover:text-gray-700 transition-colors duration-300"> | |
| {description} | |
| </p> | |
| {/* Interactive elements */} | |
| <div className="flex items-center justify-between"> | |
| <div className="w-full h-px bg-gradient-to-r from-transparent via-gray-200 to-transparent"></div> | |
| <div className="mx-4"> | |
| <svg className="w-5 h-5 text-primary-600 opacity-0 group-hover:opacity-100 transition-all duration-300 transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewBox="0 0 24 24"> | |
| <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" /> | |
| </svg> | |
| </div> | |
| <div className="w-full h-px bg-gradient-to-r from-transparent via-gray-200 to-transparent"></div> | |
| </div> | |
| {/* Hover overlay effect */} | |
| <div className="absolute inset-0 bg-gradient-to-br from-primary-50/20 to-accent-50/20 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div> | |
| </div> | |
| ); | |
| }; | |
| export default FeatureCard; |