import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; import { Ionicons } from '@expo/vector-icons'; import React from 'react'; import { StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native'; interface DietInputCardProps { cardId: string; dietTextInputs: Record; onDietTextInputChange: (cardId: string, value: string) => void; onSubmitDietText: (cardId: string) => void; onBackToDietOptions: (cardId: string) => void; onShowDietPhotoActionSheet: (cardId: string) => void; } const DietInputCard: React.FC = ({ cardId, dietTextInputs, onDietTextInputChange, onSubmitDietText, onBackToDietOptions, onShowDietPhotoActionSheet }) => { const colorScheme = useColorScheme(); const theme = Colors[colorScheme ?? 'light']; return ( onBackToDietOptions(cardId)} > 记录饮食 onShowDietPhotoActionSheet(cardId)} > onDietTextInputChange(cardId, text)} multiline textAlignVertical="top" /> onSubmitDietText(cardId)} > 提交 ); }; const styles = StyleSheet.create({ bubble: { paddingHorizontal: 12, paddingVertical: 10, borderRadius: 16, maxWidth: '85%', alignSelf: 'flex-start', gap: 12, minWidth: 300 }, dietInputHeader: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', }, dietBackBtn: { width: 28, height: 28, borderRadius: 14, alignItems: 'center', justifyContent: 'center', backgroundColor: 'rgba(0,0,0,0.06)', }, dietInputTitle: { fontSize: 16, fontWeight: '600', flex: 1, textAlign: 'center', }, photoBtn: { width: 28, height: 28, borderRadius: 14, alignItems: 'center', justifyContent: 'center', }, dietTextInput: { minHeight: 80, borderWidth: 1, borderRadius: 12, paddingHorizontal: 12, paddingVertical: 10, fontSize: 15, textAlignVertical: 'top', }, dietSubmitBtn: { height: 40, paddingHorizontal: 16, borderRadius: 10, alignItems: 'center', justifyContent: 'center', alignSelf: 'flex-end', }, submitButtonText: { fontSize: 14, fontWeight: '600', }, }); export default DietInputCard;