Files
2025-10-12 13:42:02 +02:00

23 lines
915 B
JavaScript

import { Map as ImmutableMap } from "immutable";
import { connect } from "react-redux";
import { createSelector } from "reselect";
import { addReaction, removeReaction, dismissAnnouncement } from "mastodon/actions/announcements";
import Announcements from "../components/announcements";
const customEmojiMap = createSelector([state => state.get("custom_emojis")], items => items.reduce((map, emoji) => map.set(emoji.get("shortcode"), emoji), ImmutableMap()));
const mapStateToProps = state => ({
announcements: state.getIn(["announcements", "items"]),
emojiMap: customEmojiMap(state),
});
const mapDispatchToProps = dispatch => ({
dismissAnnouncement: id => dispatch(dismissAnnouncement(id)),
addReaction: (id, name) => dispatch(addReaction(id, name)),
removeReaction: (id, name) => dispatch(removeReaction(id, name)),
});
export default connect(mapStateToProps, mapDispatchToProps)(Announcements);