import {bindActionCreators} from 'redux'
import {makeGetSearch} from 'store/selectors'
import {showModal, getSearchResults} from 'store/actions'
import connectPage from '../connect-page'
import searchKeys from 'global/constants/search-keys'
import securityTypes from 'common-fe/constants/security-types'
import TradeBondsPage from './component'

const mapStateToProps = (state) => {
    const getSearch = makeGetSearch(searchKeys.SECURITY)
    const search = getSearch(state)

    return {
        search,
    }
}

const mapDispatchToProps = (dispatch) => ({
    getSearchResults: (params, ...rest) =>
        dispatch(
            getSearchResults(
                {
                    ...params,
                    equityType: securityTypes.FUND.value,
                    include: 'all',
                    searchKey: searchKeys.SECURITY,
                    securityType: securityTypes.FUND.value,
                },
                ...rest
            )
        ),
    ...bindActionCreators({showModal}, dispatch),
})

export default connectPage(TradeBondsPage, mapStateToProps, mapDispatchToProps)
