mirror of
https://github.com/flarum/framework.git
synced 2025-04-26 06:34:06 +08:00
27 lines
830 B
JavaScript
27 lines
830 B
JavaScript
import { extend } from 'flarum/extend';
|
|
import DiscussionControls from 'flarum/utils/DiscussionControls';
|
|
import DiscussionPage from 'flarum/components/DiscussionPage';
|
|
import Button from 'flarum/components/Button';
|
|
|
|
export default function addLockControl() {
|
|
extend(DiscussionControls, 'moderationControls', function(items, discussion) {
|
|
if (discussion.canSticky()) {
|
|
items.add('lock', Button.component({
|
|
children: app.trans(discussion.isLocked() ? 'lock.unlock' : 'lock.lock'),
|
|
icon: 'lock',
|
|
onclick: this.lockAction.bind(discussion)
|
|
}));
|
|
}
|
|
});
|
|
|
|
DiscussionControls.lockAction = function() {
|
|
this.save({isLocked: !this.isLocked()}).then(() => {
|
|
if (app.current instanceof DiscussionPage) {
|
|
app.current.stream.update();
|
|
}
|
|
|
|
m.redraw();
|
|
});
|
|
};
|
|
}
|