-
-
Notifications
You must be signed in to change notification settings - Fork 829
/
DashboardPage.tsx
88 lines (79 loc) · 2.42 KB
/
DashboardPage.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import app from '../../admin/app';
import StatusWidget from './StatusWidget';
import ExtensionsWidget from './ExtensionsWidget';
import ItemList from '../../common/utils/ItemList';
import AdminPage from './AdminPage';
import type { Children } from 'mithril';
import AlertWidget from './AlertWidget';
import Link from '../../common/components/Link';
export default class DashboardPage extends AdminPage {
headerInfo() {
return {
className: 'DashboardPage',
icon: 'fas fa-chart-bar',
title: app.translator.trans('core.admin.dashboard.title'),
description: app.translator.trans('core.admin.dashboard.description'),
};
}
content() {
return this.availableWidgets().toArray();
}
availableWidgets(): ItemList<Children> {
const items = new ItemList<Children>();
if (app.data.bisecting) {
items.add(
'bisecting',
<AlertWidget
alert={{
type: 'error',
dismissible: false,
controls: [
<Link className="Button Button--link" href={app.route('advanced', { modal: 'extension-bisect' })}>
{app.translator.trans('core.lib.notices.bisecting_continue')}
</Link>,
],
}}
>
{app.translator.trans('core.lib.notices.bisecting')}
</AlertWidget>,
120
);
}
if (app.data.maintenanceMode) {
items.add(
'maintenanceMode',
<AlertWidget
alert={{
type: 'error',
dismissible: false,
}}
>
{app.translator.trans('core.lib.notices.maintenance_mode_' + app.data.maintenanceMode)}
</AlertWidget>,
110
);
}
if (app.data.debugEnabled) {
items.add(
'debug-warning',
<AlertWidget
className="DebugWarningWidget"
alert={{
type: 'warning',
dismissible: false,
title: app.translator.trans('core.admin.debug-warning.label'),
icon: 'fas fa-exclamation-triangle',
}}
>
{app.translator.trans('core.admin.debug-warning.detail', {
link: <Link href="https://docs.flarum.org/troubleshoot/#step-0-activate-debug-mode" external={true} target="_blank" />,
})}
</AlertWidget>,
100
);
}
items.add('status', <StatusWidget />, 30);
items.add('extensions', <ExtensionsWidget />, 10);
return items;
}
}