diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index 48cabaf..5ecd81b 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -85,6 +85,7 @@ const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible { ((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0)) > 3 && { + setSelectedImages([]) setModalDetailsVisible({ visible: true, content: item.content }); }}> {((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0))} diff --git a/components/ask/selectModel.tsx b/components/ask/selectModel.tsx index 60bda27..b001f21 100644 --- a/components/ask/selectModel.tsx +++ b/components/ask/selectModel.tsx @@ -48,6 +48,16 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS windowSize={10} removeClippedSubviews={true} renderItem={({ item }) => { + const itemId = item?.id || item?.video?.id; + const isSelected = selectedImages.includes(itemId); + + const toggleSelection = () => { + setSelectedImages(prev => + isSelected + ? prev.filter(id => id !== itemId) + : [...prev, itemId] + ); + }; return ( { - setSelectedImages((prev) => { - if (prev.includes(item?.id || item?.video?.id)) { - return prev.filter((id) => id !== (item.id || item?.video?.id)); - } else { - return [...prev, item.id || item.video?.id]; - } - }); - }} + style={[ + detailsStyles.circleMarker, + isSelected && detailsStyles.circleMarkerSelected + ]} + onPress={toggleSelection} + activeOpacity={0.8} > - {selectedImages.includes(item?.id || item?.video?.id) ? : ""} + {isSelected && }