import { connect } from 'react-redux'; import { makeSelectClaimForUri, selectIsUriResolving, makeSelectTagInClaimOrChannelForUri, } from 'redux/selectors/claims'; import { doResolveUris } from 'redux/actions/claims'; import { parseURI } from 'util/lbryURI'; import { makeSelectWinningUriForQuery } from 'redux/selectors/search'; import WunderbarTopSuggestion from './view'; import { PREFERENCE_EMBED } from 'constants/tags'; const select = (state, props) => { const uriFromQuery = `lbry://${props.query}`; let uris = [uriFromQuery]; try { const { isChannel } = parseURI(uriFromQuery); if (!isChannel) { const channelUriFromQuery = `lbry://@${props.query}`; uris.push(channelUriFromQuery); } } catch (e) {} const resolvingUris = uris.some((uri) => selectIsUriResolving(state, uri)); const winningUri = makeSelectWinningUriForQuery(props.query)(state); const winningClaim = winningUri ? makeSelectClaimForUri(winningUri)(state) : undefined; const preferEmbed = makeSelectTagInClaimOrChannelForUri(winningUri, PREFERENCE_EMBED)(state); return { resolvingUris, winningUri, winningClaim, uris, preferEmbed }; }; export default connect(select, { doResolveUris, })(WunderbarTopSuggestion);