import { emptySearchFilters, serializeSearchQuery, type NavBarSearchFormValues } from '@rocket.chat/ai-search'; import { Box, Icon, SidebarItemIcon } from '@rocket.chat/fuselage'; import type { AISearchResult } from '@rocket.chat/rest-typings'; import { useRouter } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import { useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import NavBarSearchItem from './NavBarSearchItem'; import NavBarSearchMessageRow from './NavBarSearchMessageRow'; export type NavBarSearchIntelligentSectionProps = { items: AISearchResult[]; onSelect: () => void; onClose: () => void; }; const NavBarSearchIntelligentSection = ({ items, onSelect, onClose }: NavBarSearchIntelligentSectionProps): ReactElement | null => { const { t } = useTranslation(); const router = useRouter(); const { watch } = useFormContext(); const { filterText = '', appliedFilters = emptySearchFilters() } = watch(); if (!items.length) { return null; } const query = serializeSearchQuery(filterText, appliedFilters); const searchHref = router.buildRoutePath({ name: 'search', search: query ? { q: query } : {}, }); return ( {t('Intelligent_Search')} {t('AI_Search_related_messages', { count: items.length })} {items.map((item) => ( ))} } />} href={searchHref} onClick={onClose} /> ); }; export default NavBarSearchIntelligentSection;