@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
JavaScript
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;