import { Image } from '@/components/ui/Image'; import React from 'react'; import { ImageSourcePropType, Pressable, StyleSheet, Text, View } from 'react-native'; import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'; interface HealthDataCardProps { title: string; value: string; unit: string; style?: object; onPress?: () => void; icon?: React.ReactNode; iconSource?: ImageSourcePropType; subtitle?: string; } const defaultIconSource = require('@/assets/images/icons/icon-blood-oxygen.png'); const HealthDataCard: React.FC = ({ title, value, unit, style, onPress, icon, iconSource, subtitle }) => { const Container = onPress ? Pressable : View; return ( {icon ? ( {icon} ) : ( )} {title} {value} {unit} {subtitle ? ( {subtitle} ) : null} ); }; const styles = StyleSheet.create({ card: { shadowColor: '#000', paddingHorizontal: 16, shadowOffset: { width: 0, height: 2, }, shadowOpacity: 0.1, shadowRadius: 3.84, elevation: 5, marginVertical: 8, flexDirection: 'row', alignItems: 'center', }, content: { flex: 1, justifyContent: 'center', }, headerRow: { flexDirection: 'row', alignItems: 'center', marginBottom: 14, }, iconWrapper: { width: 16, height: 16, marginRight: 6, alignItems: 'center', justifyContent: 'center', }, titleIcon: { width: 16, height: 16, marginRight: 6, resizeMode: 'contain', }, title: { fontSize: 14, color: '#192126', fontWeight: '600', fontFamily: 'AliBold', }, valueContainer: { flexDirection: 'row', alignItems: 'flex-end', }, value: { fontSize: 16, fontWeight: '600', color: '#192126', fontFamily: 'AliBold', }, unit: { fontSize: 12, color: '#666', marginLeft: 4, marginBottom: 2, fontWeight: '500', fontFamily: 'AliRegular', }, subtitle: { marginTop: 6, fontSize: 12, color: '#8A8A8A', fontFamily: 'AliRegular', }, }); export default HealthDataCard;