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

16 lines (15 loc) 1.09 kB
import * as React from 'react'; import TimeGroupItem from '../TimeGroupItem'; import ThreadListItemObserver from '../ThreadListItemObserver'; import { useObserverValue } from '../../hooks/useObserverValue'; import DelayRenderer from '../../../ui/DelayRenderer'; const ThreadListMapBlockGroupItem = ({ listGroupItem, setThread, index, model, slots, slotProps }) => { const threads = useObserverValue(listGroupItem.threads) ?? []; const list = React.useMemo(() => threads.map((thread) => (React.createElement(ThreadListItemObserver, { key: thread.id, setThread: setThread, thread: thread, model: model, slots: slots }))), [threads.length]); if (!threads.length) return null; return (React.createElement(DelayRenderer, { once: true, timeout: index * 50 + 20 }, React.createElement(TimeGroupItem, { key: listGroupItem.data.id, group: listGroupItem.data, slots: slots, slotProps: slotProps }), list)); }; export default React.memo(ThreadListMapBlockGroupItem, (prev, next) => prev.listGroupItem.data.id === next.listGroupItem.data.id);