| import { useMemo } from 'react'; |
| import { useRecoilValue } from 'recoil'; |
| import type { TAttachment } from 'librechat-data-provider'; |
| import { useSearchResultsByTurn } from './useSearchResultsByTurn'; |
| import store from '~/store'; |
|
|
| export default function useAttachments({ |
| messageId, |
| attachments, |
| }: { |
| messageId?: string; |
| attachments?: TAttachment[]; |
| }) { |
| const messageAttachmentsMap = useRecoilValue(store.messageAttachmentsMap); |
| const messageAttachments = useMemo( |
| () => attachments ?? messageAttachmentsMap[messageId ?? ''] ?? [], |
| [attachments, messageAttachmentsMap, messageId], |
| ); |
|
|
| const searchResults = useSearchResultsByTurn(messageAttachments); |
|
|
| return { |
| attachments: messageAttachments, |
| searchResults, |
| }; |
| } |
|
|