import { connect } from 'react-redux'; import { selectClaimForUri, selectClaimIsMine } from 'redux/selectors/claims'; import { makeSelectPendingAmountByUri } from 'redux/selectors/wallet'; import { doOpenModal } from 'redux/actions/app'; import FileDescription from './view'; import { getClaimMetadata } from 'util/claim'; const select = (state, props) => { const { uri } = props; const pendingAmount = makeSelectPendingAmountByUri(uri)(state); const claim = selectClaimForUri(state, uri); const metadata = getClaimMetadata(claim); const description = metadata && metadata.description; const amount = claim ? parseFloat(claim.amount) + parseFloat(pendingAmount || claim.meta.support_amount) : 0; const hasSupport = claim && claim.meta && claim.meta.support_amount && Number(claim.meta.support_amount) > 0; const isEmpty = !claim || !metadata; return { claimIsMine: selectClaimIsMine(state, claim), description, amount, hasSupport, isEmpty, }; }; const perform = { doOpenModal, }; export default connect(select, perform)(FileDescription);