The code powering m.abunchtell.com https://m.abunchtell.com
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.
 
 
 
 

21 lines
913 B

  1. import { connect } from 'react-redux';
  2. import { addReaction, removeReaction, dismissAnnouncement } from 'mastodon/actions/announcements';
  3. import Announcements from '../components/announcements';
  4. import { createSelector } from 'reselect';
  5. import { Map as ImmutableMap } from 'immutable';
  6. const customEmojiMap = createSelector([state => state.get('custom_emojis')], items => items.reduce((map, emoji) => map.set(emoji.get('shortcode'), emoji), ImmutableMap()));
  7. const mapStateToProps = state => ({
  8. announcements: state.getIn(['announcements', 'items']),
  9. emojiMap: customEmojiMap(state),
  10. });
  11. const mapDispatchToProps = dispatch => ({
  12. dismissAnnouncement: id => dispatch(dismissAnnouncement(id)),
  13. addReaction: (id, name) => dispatch(addReaction(id, name)),
  14. removeReaction: (id, name) => dispatch(removeReaction(id, name)),
  15. });
  16. export default connect(mapStateToProps, mapDispatchToProps)(Announcements);