LibreChat/client/src/components/Chat/Messages/Content/ContentParts.tsx
2024-09-02 21:20:34 -04:00

34 lines
893 B
TypeScript

import { memo } from 'react';
import type { TMessageContentParts } from 'librechat-data-provider';
import Part from './Part';
type ContentPartsProps = {
content: Array<TMessageContentParts | undefined>;
messageId: string;
isCreatedByUser: boolean;
isLast: boolean;
isSubmitting: boolean;
};
const ContentParts = memo(
({ content, messageId, isCreatedByUser, isLast, isSubmitting }: ContentPartsProps) => {
return (
<>
{content
.filter((part) => part)
.map((part, idx) => (
<Part
key={`display-${messageId}-${idx}`}
part={part}
isSubmitting={isSubmitting}
showCursor={idx === content.length - 1 && isLast}
messageId={messageId}
isCreatedByUser={isCreatedByUser}
/>
))}
</>
);
},
);
export default ContentParts;