You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

107 lines
3.0 KiB

import { connect } from 'react-redux'
import { setCurrency, tickerSelectors } from 'reducers/ticker'
import { fetchBalance } from 'reducers/balance'
import { fetchInvoices, setInvoice, invoiceSelectors } from 'reducers/invoice'
import { setPayment, fetchPayments, paymentSelectors } from 'reducers/payment'
import { fetchTransactions } from 'reducers/transaction'
import {
showActivityModal,
hideActivityModal,
changeFilter,
toggleFilterPulldown,
activitySelectors,
updateSearchActive,
updateSearchText
} from 'reducers/activity'
import { walletAddress, openWalletModal } from 'reducers/address'
import { setFormType } from 'reducers/form'
import { payFormSelectors } from 'reducers/payform'
import { setWalletCurrencyFilters } from 'reducers/info'
import Activity from '../components/Activity'
const mapDispatchToProps = {
setCurrency,
setPayment,
setInvoice,
fetchPayments,
fetchInvoices,
fetchTransactions,
showActivityModal,
hideActivityModal,
changeFilter,
toggleFilterPulldown,
walletAddress,
openWalletModal,
fetchBalance,
updateSearchActive,
updateSearchText,
setFormType,
setWalletCurrencyFilters
}
const mapStateToProps = state => ({
activity: state.activity,
balance: state.balance,
address: state.address,
info: state.info,
payment: state.payment,
transaction: state.transaction,
invoice: state.invoice,
invoices: invoiceSelectors.invoices(state),
ticker: state.ticker,
network: state.network,
paymentModalOpen: paymentSelectors.paymentModalOpen(state),
invoiceModalOpen: invoiceSelectors.invoiceModalOpen(state),
currentTicker: tickerSelectors.currentTicker(state),
currentCurrencyFilters: tickerSelectors.currentCurrencyFilters(state),
currencyName: tickerSelectors.currencyName(state),
currentActivity: activitySelectors.currentActivity(state)(state),
nonActiveFilters: activitySelectors.nonActiveFilters(state),
showPayLoadingScreen: payFormSelectors.showPayLoadingScreen(state)
})
const mergeProps = (stateProps, dispatchProps, ownProps) => ({
...stateProps,
...dispatchProps,
...ownProps,
walletProps: {
balance: stateProps.balance,
address: stateProps.address.address,
info: stateProps.info,
ticker: stateProps.ticker,
currentTicker: stateProps.currentTicker,
showPayLoadingScreen: stateProps.showPayLoadingScreen,
showSuccessPayScreen: stateProps.payment.showSuccessPayScreen,
successTransactionScreen: stateProps.transaction.successTransactionScreen,
currentCurrencyFilters: stateProps.currentCurrencyFilters,
currencyName: stateProps.currencyName,
network: stateProps.info.network,
setCurrency: dispatchProps.setCurrency,
setWalletCurrencyFilters: dispatchProps.setWalletCurrencyFilters,
walletAddress: dispatchProps.walletAddress,
openReceiveModal: dispatchProps.openWalletModal,
openPayForm: () => dispatchProps.setFormType('PAY_FORM'),
openRequestForm: () => dispatchProps.setFormType('REQUEST_FORM')
}
})
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps
)(Activity)