[Glitch] Revamp post filtering system

Port front-end changes from 02851848e9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Claire
2022-06-28 09:42:13 +02:00
parent 4be626734d
commit a15fe32e61
11 changed files with 95 additions and 163 deletions

View File

@ -455,8 +455,8 @@ class Status extends ImmutablePureComponent {
}
handleUnfilterClick = e => {
const { onUnfilter, status } = this.props;
onUnfilter(status.get('reblog') ? status.get('reblog') : status, () => this.setState({ forceFilter: false }));
this.setState({ forceFilter: false });
e.preventDefault();
}
handleFilterClick = () => {
@ -557,8 +557,8 @@ class Status extends ImmutablePureComponent {
);
}
const filtered = (status.get('filtered') || status.getIn(['reblog', 'filtered'])) && settings.get('filtering_behavior') !== 'content_warning';
if (forceFilter === undefined ? filtered : forceFilter) {
const matchedFilters = status.get('filtered') || status.getIn(['reblog', 'filtered']);
if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) {
const minHandlers = this.props.muted ? {} : {
moveUp: this.handleHotkeyMoveUp,
moveDown: this.handleHotkeyMoveDown,
@ -567,13 +567,11 @@ class Status extends ImmutablePureComponent {
return (
<HotKeys handlers={minHandlers}>
<div className='status__wrapper status__wrapper--filtered focusable' tabIndex='0' ref={this.handleRef}>
<FormattedMessage id='status.filtered' defaultMessage='Filtered' />
{settings.get('filtering_behavior') !== 'upstream' && ' '}
{settings.get('filtering_behavior') !== 'upstream' && (
<button className='status__wrapper--filtered__button' onClick={this.handleUnfilterClick}>
<FormattedMessage id='status.show_filter_reason' defaultMessage='(show why)' />
</button>
)}
<FormattedMessage id='status.filtered' defaultMessage='Filtered' />: {matchedFilters.join(', ')}.
{' '}
<button className='status__wrapper--filtered__button' onClick={this.handleUnfilterClick}>
<FormattedMessage id='status.show_filter_reason' defaultMessage='Show anyway' />
</button>
</div>
</HotKeys>
);
@ -789,11 +787,11 @@ class Status extends ImmutablePureComponent {
{!isCollapsed || !(muted || !settings.getIn(['collapsed', 'show_action_bar'])) ? (
<StatusActionBar
{...other}
status={status}
account={status.get('account')}
showReplyCount={settings.get('show_reply_count')}
onFilter={this.handleFilterClick}
onFilter={matchedFilters && this.handleFilterClick}
{...other}
/>
) : null}
{notification ? (