Files
synapse-admin/src/App.js
T

71 lines
2.2 KiB
JavaScript
Raw Normal View History

2020-01-27 14:57:27 +01:00
import React from "react";
2020-02-07 16:29:11 +01:00
import { Admin, Resource, resolveBrowserLocale } from "react-admin";
import polyglotI18nProvider from "ra-i18n-polyglot";
2020-02-07 16:35:21 +01:00
import authProvider from "./synapse/authProvider";
2020-02-07 16:10:43 +01:00
import dataProvider from "./synapse/dataProvider";
2020-02-07 17:44:48 +01:00
import { UserList, UserCreate, UserEdit } from "./components/users";
2020-07-07 21:28:20 +02:00
import { RoomList, RoomShow } from "./components/rooms";
2021-01-04 09:14:33 +01:00
import { ReportList, ReportShow } from "./components/EventReports";
2020-02-07 16:35:21 +01:00
import LoginPage from "./components/LoginPage";
2020-02-07 17:44:48 +01:00
import UserIcon from "@material-ui/icons/Group";
import EqualizerIcon from "@material-ui/icons/Equalizer";
import { UserMediaStatsList } from "./components/statistics";
2021-01-04 09:14:33 +01:00
import RoomIcon from "@material-ui/icons/ViewList";
import ReportIcon from "@material-ui/icons/Warning";
2020-09-22 11:30:27 +02:00
import { ImportFeature } from "./components/ImportFeature";
import { Route } from "react-router-dom";
2020-02-07 16:29:11 +01:00
import germanMessages from "./i18n/de";
import englishMessages from "./i18n/en";
// TODO: Can we use lazy loading together with browser locale?
const messages = {
de: germanMessages,
en: englishMessages,
};
const i18nProvider = polyglotI18nProvider(
locale => (messages[locale] ? messages[locale] : messages.en),
resolveBrowserLocale()
);
2020-01-27 14:57:27 +01:00
const App = () => (
2020-02-07 16:35:21 +01:00
<Admin
disableTelemetry
2020-02-07 16:35:21 +01:00
loginPage={LoginPage}
authProvider={authProvider}
dataProvider={dataProvider}
i18nProvider={i18nProvider}
2020-09-22 11:30:27 +02:00
customRoutes={[
<Route key="userImport" path="/import_users" component={ImportFeature} />,
]}
2020-02-07 16:35:21 +01:00
>
2020-02-07 17:44:48 +01:00
<Resource
name="users"
list={UserList}
create={UserCreate}
edit={UserEdit}
icon={UserIcon}
/>
2020-07-07 21:28:20 +02:00
<Resource name="rooms" list={RoomList} show={RoomShow} icon={RoomIcon} />
<Resource
name="user_media_statistics"
list={UserMediaStatsList}
icon={EqualizerIcon}
/>
2021-01-04 09:14:33 +01:00
<Resource
name="reports"
list={ReportList}
show={ReportShow}
icon={ReportIcon}
/>
<Resource name="connections" />
2020-07-08 10:58:57 +02:00
<Resource name="devices" />
2020-08-06 21:43:19 +02:00
<Resource name="room_members" />
2021-02-11 21:11:34 +01:00
<Resource name="users_media" />
<Resource name="joined_rooms" />
<Resource name="pushers" />
2020-04-23 10:00:46 +02:00
<Resource name="servernotices" />
2020-01-27 14:57:27 +01:00
</Admin>
);
export default App;