import { useState } from 'react'; interface FlipCardProps { frontTitle: string; frontDescription: string; backTitle: string; backDescription: string; frontColor?: string; backColor?: string; } export default function FlipCard({ frontTitle, frontDescription, backTitle, backDescription, frontColor = '#3b82f6', backColor = '#10b981' }: FlipCardProps) { const [isFlipped, setIsFlipped] = useState(false); const containerStyle: React.CSSProperties = { perspective: '1000px', width: '100%', height: '200px', cursor: 'pointer', }; const innerStyle: React.CSSProperties = { position: 'relative', width: '100%', height: '100%', transformStyle: 'preserve-3d', transition: 'transform 0.6s cubic-bezier(0.4, 0, 0.2, 1)', transform: isFlipped ? 'rotateY(180deg)' : 'rotateY(0deg)', }; const faceStyle = (color: string, isFront: boolean): React.CSSProperties => ({ position: 'absolute', width: '100%', height: '100%', backfaceVisibility: 'hidden', borderRadius: '1rem', padding: '1.5rem', display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', background: color, color: 'white', transform: isFront ? 'rotateY(0deg)' : 'rotateY(180deg)', boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)', }); return (
{frontDescription}
{backDescription}