Browse Source

[Glitch] Fix frontend crash when deleting announcements

Port 858d0dd168 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
closed-social-glitch-2
ThibG 4 years ago
committed by Thibaut Girka
parent
commit
faa56643b8
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      app/javascript/flavours/glitch/features/getting_started/components/announcements.js

+ 10
- 2
app/javascript/flavours/glitch/features/getting_started/components/announcements.js View File

@ -378,6 +378,14 @@ class Announcements extends ImmutablePureComponent {
index: 0,
};
static getDerivedStateFromProps(props, state) {
if (props.announcements.size > 0 && state.index >= props.announcements.size) {
return { index: props.announcements.size - 1 };
} else {
return null;
}
}
componentDidMount () {
this._markAnnouncementAsRead();
}
@ -389,7 +397,7 @@ class Announcements extends ImmutablePureComponent {
_markAnnouncementAsRead () {
const { dismissAnnouncement, announcements } = this.props;
const { index } = this.state;
const announcement = announcements.get(index) || announcements.get(index - 1);
const announcement = announcements.get(index);
if (!announcement.get('read')) dismissAnnouncement(announcement.get('id'));
}
@ -407,7 +415,7 @@ class Announcements extends ImmutablePureComponent {
render () {
const { announcements, intl } = this.props;
const index = this.state.index < announcements.size ? this.state.index : announcements.size - 1;
const { index } = this.state;
if (announcements.isEmpty()) {
return null;

Loading…
Cancel
Save