1
0
mirror of https://github.com/flarum/core.git synced 2025-07-31 05:30:38 +02:00

feat: extract notification primaryControl items to an ItemList (#3204)

This commit is contained in:
Ian Morland
2021-12-14 22:11:48 +00:00
committed by GitHub
parent 6136ce8d8c
commit c9a8543554

View File

@@ -5,6 +5,7 @@ import Button from '../../common/components/Button';
import Link from '../../common/components/Link';
import LoadingIndicator from '../../common/components/LoadingIndicator';
import Discussion from '../../common/models/Discussion';
import ItemList from '../../common/utils/ItemList';
/**
* The `NotificationList` component displays a list of the logged-in user's
@@ -19,14 +20,7 @@ export default class NotificationList extends Component {
<div className="NotificationList-header">
<h4 className="App-titleControl App-titleControl--text">{app.translator.trans('core.forum.notifications.title')}</h4>
<div className="App-primaryControl">
<Button
className="Button Button--link"
icon="fas fa-check"
title={app.translator.trans('core.forum.notifications.mark_all_as_read_tooltip')}
onclick={state.markAllAsRead.bind(state)}
/>
</div>
<div className="App-primaryControl">{this.controlItems().toArray()}</div>
</div>
<div className="NotificationList-content">{this.content(state)}</div>
@@ -34,6 +28,24 @@ export default class NotificationList extends Component {
);
}
controlItems() {
const items = new ItemList();
const state = this.attrs.state;
items.add(
'mark_all_as_read',
<Button
className="Button Button--link"
icon="fas fa-check"
title={app.translator.trans('core.forum.notifications.mark_all_as_read_tooltip')}
onclick={state.markAllAsRead.bind(state)}
/>,
70
);
return items;
}
content(state) {
if (state.isLoading()) {
return <LoadingIndicator className="LoadingIndicator--block" />;