mirror of
https://github.com/flarum/core.git
synced 2025-08-06 00:17:31 +02:00
Update for new Flags/Approval extensions
This commit is contained in:
@@ -1,25 +1,27 @@
|
||||
import { extend } from 'flarum/extend';
|
||||
import { extend, override } from 'flarum/extend';
|
||||
import app from 'flarum/app';
|
||||
|
||||
import Button from 'flarum/components/Button';
|
||||
import CommentPost from 'flarum/components/CommentPost';
|
||||
import PostControls from 'flarum/utils/PostControls';
|
||||
import CommentPost from 'flarum/components/CommentPost';
|
||||
|
||||
app.initializers.add('akismet', () => {
|
||||
extend(CommentPost.prototype, 'reportActionItems', function(items) {
|
||||
if (this.props.post.reports()[0].reporter() === 'Akismet') {
|
||||
items.add('notSpam',
|
||||
<Button className="Button"
|
||||
icon="check"
|
||||
onclick={() => {
|
||||
this.dismissReport({akismet: 'ham'}).then(() => {
|
||||
PostControls.restoreAction.apply(this.props.post);
|
||||
m.redraw();
|
||||
});
|
||||
}}>
|
||||
Not Spam
|
||||
</Button>
|
||||
);
|
||||
extend(PostControls, 'destructiveControls', function(items, post) {
|
||||
if (items.approve) {
|
||||
const flags = post.flags();
|
||||
|
||||
if (flags && flags.some(flag => flag.type() === 'akismet')) {
|
||||
Object.assign(items.approve.content.props, {
|
||||
children: 'Not Spam'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}, -10); // set initializer priority to run after reports
|
||||
|
||||
override(CommentPost.prototype, 'flagReason', function(original, flag) {
|
||||
if (flag.type() === 'akismet') {
|
||||
return 'Akismet flagged as Spam';
|
||||
}
|
||||
|
||||
return original(flag);
|
||||
});
|
||||
}, -20); // run after the approval extension
|
||||
|
Reference in New Issue
Block a user