import ChatSvg from "@/assets/icons/svg/chat.svg"; import { ContentPart, Message, User } from "@/types/ask"; import { TFunction } from "i18next"; import React from 'react'; import { StyleSheet, TouchableOpacity, View } from 'react-native'; import { ThemedText } from "@/components/ThemedText"; import MessageRow from './MessageRow'; interface RenderMessageProps { insets: { top: number }; item: Message; sessionId: string; setModalVisible: React.Dispatch>; modalVisible: { visible: boolean, data: ContentPart }; setModalDetailsVisible: React.Dispatch>; modalDetailsVisible: { visible: boolean, content: any }; setSelectedImages: React.Dispatch>; selectedImages: string[]; t: TFunction; setCancel: React.Dispatch>; cancel: boolean; setUserMessages: React.Dispatch>; } const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, setModalVisible, modalVisible, setModalDetailsVisible, modalDetailsVisible, setSelectedImages, selectedImages, setUserMessages }: RenderMessageProps) => { const isUser = item.role === User; return ( {!isUser && } {item.content instanceof Array && item.content.filter((media: ContentPart) => media.type !== 'text').length > 0 && ( { }}> Help me create a warm, cozy video. Help me find materials for subsequent operations. )} ); }; const styles = StyleSheet.create({ tips: { flexDirection: 'column', gap: 5, marginRight: 10, }, tip: { backgroundColor: '#FFF8DE', paddingHorizontal: 16, paddingVertical: 8, }, tipText: { color: '#4C320C', fontSize: 14 } }); export default React.memo(MessageItem);