import { LinkingController } from '@/Controllers/LinkingController' import { observer } from 'mobx-react-lite' import { SNNote } from '@standardnotes/snjs' import Icon from '../Icon/Icon' import { PremiumFeatureIconName } from '../Icon/PremiumFeatureIcon' import LinkedItemMeta from './LinkedItemMeta' import { LinkableItem } from '@/Utils/Items/Search/LinkableItem' import { LinkedItemSearchResultsAddTagOption } from './LinkedItemSearchResultsAddTagOption' import { useCallback } from 'react' type Props = { createAndAddNewTag: LinkingController['createAndAddNewTag'] linkItems: LinkingController['linkItems'] results: LinkableItem[] searchQuery: string shouldShowCreateTag: boolean onClickCallback?: () => void isEntitledToNoteLinking: boolean item: LinkableItem } const LinkedItemSearchResults = ({ createAndAddNewTag, linkItems, results, searchQuery, shouldShowCreateTag, onClickCallback, isEntitledToNoteLinking, item, }: Props) => { const onClickAddNew = useCallback( (searchQuery: string) => { void createAndAddNewTag(searchQuery) onClickCallback?.() }, [createAndAddNewTag, onClickCallback], ) return (
{results.map((result) => { const cannotLinkItem = !isEntitledToNoteLinking && result instanceof SNNote return ( ) })} {shouldShowCreateTag && ( )}
) } export default observer(LinkedItemSearchResults)