UNPKG

@plteam/chat-ui

Version:

CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript

20 lines (19 loc) 1.25 kB
import * as React from 'react'; import Stack from '@mui/material/Stack'; import { useChatContext } from '../../core/ChatGlobalContext'; import MessageGallery from './MessageGallery'; import MessageFileList from './MessageFileList'; import { useObserverValue } from '../../../views/hooks/useObserverValue'; const MessageAttachments = ({ message, onDeleteAttachment }) => { const { enableFileAttachments } = useChatContext(); const itemsAll = useObserverValue(message.attachments.itemsAll); const deletedIds = useObserverValue(message.attachments.deletedIds); const galleryItems = itemsAll?.filter((i) => i.isGallery && !deletedIds?.includes(i.id)) || []; const fileItems = itemsAll?.filter((i) => !i.isGallery && !deletedIds?.includes(i.id)) || []; if (!enableFileAttachments) return null; return (React.createElement(Stack, { width: "100%", alignItems: 'end', gap: 1 }, galleryItems.length ? (React.createElement(MessageGallery, { id: message.id, items: galleryItems, onDeleteItem: onDeleteAttachment })) : null, fileItems.length ? (React.createElement(MessageFileList, { items: fileItems, onDeleteItem: onDeleteAttachment })) : null)); }; export default MessageAttachments;