AugurProject/augur-ui

View on GitHub
src/modules/market/containers/market-header-message.js

Summary

Maintainability
A
0 mins
Test Coverage
import { connect } from "react-redux";
import MarketHeaderMessage from "modules/market/components/market-header-message/market-header-message";
import { addMarketBanner } from "modules/markets/actions/market-banners";

const mapStateToProps = state => ({
  marketBanners: state.marketBanners,
  isLoggedIn: (state.loginAccount || {}).address
});

const mapDispatchToProps = dispatch => ({
  dismiss: marketId => dispatch(addMarketBanner(marketId))
});

const mergeProps = (sP, dP, oP) => {
  const { marketId, isPastV2Cutoff } = oP;

  const hasSeen = sP.marketBanners.indexOf(marketId) !== -1 || isPastV2Cutoff;

  return {
    show: !hasSeen,
    loggedIn: !!sP.isLoggedIn,
    ...oP,
    ...sP,
    ...dP
  };
};

export default connect(
  mapStateToProps,
  mapDispatchToProps,
  mergeProps
)(MarketHeaderMessage);