import {connect, withFragments} from 'plugin-api/beta/client/hocs'; import {bindActionCreators} from 'redux'; import ViewingOptions from '../components/ViewingOptions'; import {openMenu, closeMenu} from '../actions'; import {compose, gql} from 'react-apollo'; import {getSlotFragmentSpreads} from 'plugin-api/beta/client/utils'; const slots = [ 'viewingOptionsSort', 'viewingOptionsFilter', ]; const mapStateToProps = ({talkPluginViewingOptions: state}) => ({ open: state.open }); const mapDispatchToProps = (dispatch) => bindActionCreators({openMenu, closeMenu}, dispatch); const withViewingOptionsFragments = withFragments({ root: gql` fragment TalkViewingOptions_ViewingOptions_root on RootQuery { __typename ${getSlotFragmentSpreads(slots, 'root')} }`, asset: gql` fragment TalkViewingOptions_ViewingOptions_asset on Asset { __typename ${getSlotFragmentSpreads(slots, 'asset')} }`, }); const enhance = compose( connect(mapStateToProps, mapDispatchToProps), withViewingOptionsFragments, ); export default enhance(ViewingOptions);