askvortsov
composer.json
...
"afrux/forum-widgets-core": "^0.1.0"
admin/index.js
import registerWidget from "../common/registerWidget";
app.initializers.add('datlechin/test-widget', () => {
registerWidget(app)
});
forum/index.js
import registerWidget from "../common/registerWidget";
app.initializers.add('datlechin/test-widget', () => {
registerWidget(app)
});
common/registerWidget.js
import Widgets from 'flarum/extensions/afrux-forum-widgets-core/common/extend/Widgets';
import TestWidget from "./components/TestWidget";
export default function(app) {
(new Widgets).add({
key: 'onlineUsers',
component: TestWidget,
isDisabled: false,
isUnique: true,
placement: 'end',
position: 1,
}).extend(app, 'datlechin-test-widget');
};
common/components/TestWidget.js
import Widget from 'flarum/extensions/afrux-forum-widgets-core/common/components/Widget';
export default class TestWidget extends Widget {
className() {
return 'TestWidget';
}
icon() {
return 'fas fa-cirlce';
}
title() {
return app.translator.trans('afrux-online-users-widget.forum.widget.title');
}
content() {
return (
<div className="Afrux-OnlineUsersWidget-users">
// ...
</div>
);
}
}
tsconfig.json
paths: {
...
"flarum/extensions/afrux-forum-widgets-core/*": ["../vendor/afrux/forum-widgets-core/js/dist-typings/*"]
}