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, }; }