Merge branch 'master' into glitch-soc/merge-upstream

This commit is contained in:
Thibaut Girka
2020-01-25 19:46:24 +01:00
4 changed files with 34 additions and 10 deletions

View File

@@ -56,12 +56,27 @@ export const updateAnnouncements = announcement => ({
});
export const addReaction = (announcementId, name) => (dispatch, getState) => {
dispatch(addReactionRequest(announcementId, name));
const announcement = getState().getIn(['announcements', 'items']).find(x => x.get('id') === announcementId);
let alreadyAdded = false;
if (announcement) {
const reaction = announcement.get('reactions').find(x => x.get('name') === name);
if (reaction && reaction.get('me')) {
alreadyAdded = true;
}
}
if (!alreadyAdded) {
dispatch(addReactionRequest(announcementId, name, alreadyAdded));
}
api(getState).put(`/api/v1/announcements/${announcementId}/reactions/${name}`).then(() => {
dispatch(addReactionSuccess(announcementId, name));
dispatch(addReactionSuccess(announcementId, name, alreadyAdded));
}).catch(err => {
dispatch(addReactionFail(announcementId, name, err));
if (!alreadyAdded) {
dispatch(addReactionFail(announcementId, name, err));
}
});
};

View File

@@ -33,6 +33,7 @@ class ColumnHeader extends React.PureComponent {
onPin: PropTypes.func,
onMove: PropTypes.func,
onClick: PropTypes.func,
appendContent: PropTypes.node,
};
state = {
@@ -81,7 +82,7 @@ class ColumnHeader extends React.PureComponent {
}
render () {
const { title, icon, active, children, pinned, multiColumn, extraButton, showBackButton, intl: { formatMessage }, placeholder } = this.props;
const { title, icon, active, children, pinned, multiColumn, extraButton, showBackButton, intl: { formatMessage }, placeholder, appendContent } = this.props;
const { collapsed, animating } = this.state;
const wrapperClassName = classNames('column-header__wrapper', {
@@ -172,6 +173,8 @@ class ColumnHeader extends React.PureComponent {
{(!collapsed || animating) && collapsedContent}
</div>
</div>
{appendContent}
</div>
);

View File

@@ -143,12 +143,11 @@ class HomeTimeline extends React.PureComponent {
pinned={pinned}
multiColumn={multiColumn}
extraButton={announcementsButton}
appendContent={hasAnnouncements && showAnnouncements && <AnnouncementsContainer />}
>
<ColumnSettingsContainer />
</ColumnHeader>
{hasAnnouncements && showAnnouncements && <AnnouncementsContainer />}
<StatusListContainer
trackScroll={!pinned}
scrollKey={`home_timeline-${columnId}`}