import { motion, useReducedMotion } from 'framer-motion'; import { assetUrl } from '../lib/assetUrl'; const ACCENT_GRADIENTS = [ 'linear-gradient(0deg, #ffffff 0%, #ffffff 50%, #e6f7ef 100%)', 'linear-gradient(0deg, #ffffff 0%, #ffffff 50%, #f7effe 100%)', 'linear-gradient(0deg, #ffffff 0%, #ffffff 50%, #fefce8 100%)', ]; export default function ProductCard({ product, isMobile, delay = 0, index = 0 }) { if (!product) return null; const shouldReduceMotion = useReducedMotion(); const dashWidth = isMobile ? '92%' : '520px'; const dashLeft = isMobile ? '4%' : '20px'; const dashHeight = isMobile ? '220px' : '300px'; // Badge position configurations matching exact design screenshot const statPositions = [ // Index 0: Nebula AI Platform [ { bottom: '25px', left: '20px', bg: 'rgba(30, 30, 35, 0.65)', color: '#ffffff' }, // Bottom Left: 60% Faster Process Automation { top: '15px', right: '15px', bg: 'rgba(30, 30, 35, 0.65)', color: '#ffffff' } // Top Right: 24/7 AI Driven Assistance ], // Index 1: PRODMAX [ { top: '40px', left: '15px', bg: 'rgba(255, 255, 255, 0.65)', color: '#000000' }, // Top/Middle Left: 5%+ OEE Improvement { bottom: '15px', right: '15px', bg: 'rgba(30, 30, 35, 0.65)', color: '#ffffff' } // Bottom Right: 15% Reduction in Downtime ], // Index 2: Budgie [ { bottom: '40px', left: '20px', bg: 'rgba(255, 255, 255, 0.75)', color: '#166534' } // Bottom Left: 40% Faster HR Operations ] ]; const currentPos = statPositions[index % statPositions.length] || []; return (
{ if (isMobile) return; e.currentTarget.style.transform = 'translateY(-6px)'; e.currentTarget.style.boxShadow = '0 12px 35px rgba(0, 0, 0, 0.08)'; e.currentTarget.style.borderColor = 'rgba(0, 0, 0, 0.15)'; }} onMouseLeave={(e) => { e.currentTarget.style.transform = 'translateY(0)'; e.currentTarget.style.boxShadow = '0 8px 25px rgba(0, 0, 0, 0.04)'; e.currentTarget.style.borderColor = 'rgba(0, 0, 0, 0.08)'; }} >

{product.name}

{product.description}

{/* Dashboard Image Container */}
{`${product.name} {/* Floating Stat Badges */} {product.stats?.map((stat, sIdx) => { const pos = currentPos[sIdx] || {}; return (
{stat.value} {stat.label}
); })}
); }