import React from 'react'; import { View, StyleSheet, ViewStyle } from 'react-native'; import Animated, { FadeInUp } from 'react-native-reanimated'; import { COLORS, SPACING, BORDER_RADIUS, SHADOWS } from '../../constants/theme'; interface CardProps { children: React.ReactNode; style?: ViewStyle | ViewStyle[]; variant?: 'elevated' | 'flat' | 'outline'; animated?: boolean; delay?: number; } export function Card({ children, style, variant = 'elevated', animated = false, delay = 0 }: CardProps) { const getVariantStyles = () => { switch (variant) { case 'flat': return styles.flat; case 'outline': return styles.outline; default: return styles.elevated; } }; const content = ( {children} ); if (animated) { return ( {content} ); } return content; } const styles = StyleSheet.create({ card: { padding: SPACING.lg, borderRadius: BORDER_RADIUS.xl, backgroundColor: COLORS.surface, }, elevated: { ...(SHADOWS.medium as any), }, flat: { backgroundColor: COLORS.surfaceLight, }, outline: { backgroundColor: 'transparent', borderWidth: 1, borderColor: COLORS.divider, }, });