2024-04-22 14:23:55 +02:00
|
|
|
import { merge } from "lodash";
|
2024-04-22 15:36:13 +02:00
|
|
|
import polyglotI18nProvider from "ra-i18n-polyglot";
|
|
|
|
|
|
|
|
import { Admin, CustomRoutes, Resource, resolveBrowserLocale } from "react-admin";
|
|
|
|
import { Route } from "react-router-dom";
|
|
|
|
|
|
|
|
import { ImportFeature } from "./components/ImportFeature";
|
2020-02-07 16:29:11 +01:00
|
|
|
import germanMessages from "./i18n/de";
|
|
|
|
import englishMessages from "./i18n/en";
|
2023-01-24 21:41:56 +01:00
|
|
|
import frenchMessages from "./i18n/fr";
|
2023-08-31 14:50:44 +02:00
|
|
|
import italianMessages from "./i18n/it";
|
2024-07-18 21:32:22 +03:00
|
|
|
import russianMessages from "./i18n/ru";
|
2024-04-22 15:36:13 +02:00
|
|
|
import chineseMessages from "./i18n/zh";
|
2024-04-26 14:37:33 +02:00
|
|
|
import LoginPage from "./pages/LoginPage";
|
|
|
|
import destinations from "./resources/destinations";
|
|
|
|
import registrationToken from "./resources/registration_tokens";
|
|
|
|
import reports from "./resources/reports";
|
|
|
|
import roomDirectory from "./resources/room_directory";
|
|
|
|
import rooms from "./resources/rooms";
|
|
|
|
import userMediaStats from "./resources/user_media_statistics";
|
|
|
|
import users from "./resources/users";
|
2024-04-22 15:36:13 +02:00
|
|
|
import authProvider from "./synapse/authProvider";
|
|
|
|
import dataProvider from "./synapse/dataProvider";
|
2020-02-07 16:29:11 +01:00
|
|
|
|
|
|
|
// TODO: Can we use lazy loading together with browser locale?
|
|
|
|
const messages = {
|
|
|
|
de: germanMessages,
|
|
|
|
en: englishMessages,
|
2023-01-24 21:41:56 +01:00
|
|
|
fr: frenchMessages,
|
2023-08-31 14:50:44 +02:00
|
|
|
it: italianMessages,
|
2024-07-18 21:32:22 +03:00
|
|
|
ru: russianMessages,
|
2021-05-04 19:58:13 +08:00
|
|
|
zh: chineseMessages,
|
2020-02-07 16:29:11 +01:00
|
|
|
};
|
|
|
|
const i18nProvider = polyglotI18nProvider(
|
2024-04-22 15:36:13 +02:00
|
|
|
locale => (messages[locale] ? merge({}, messages.en, messages[locale]) : messages.en),
|
2024-04-22 10:57:24 +02:00
|
|
|
resolveBrowserLocale(),
|
|
|
|
[
|
|
|
|
{ locale: "en", name: "English" },
|
|
|
|
{ locale: "de", name: "Deutsch" },
|
|
|
|
{ locale: "fr", name: "Français" },
|
|
|
|
{ locale: "it", name: "Italiano" },
|
|
|
|
{ locale: "fa", name: "Persian(فارسی)" },
|
2024-07-18 21:32:22 +03:00
|
|
|
{ locale: "ru", name: "Russian(Русский)" },
|
2024-04-22 10:57:24 +02:00
|
|
|
{ locale: "zh", name: "简体中文" },
|
|
|
|
]
|
2020-02-07 16:29:11 +01:00
|
|
|
);
|
2020-01-27 14:57:27 +01:00
|
|
|
|
|
|
|
const App = () => (
|
2020-02-07 16:35:21 +01:00
|
|
|
<Admin
|
2021-03-01 09:26:58 +01:00
|
|
|
disableTelemetry
|
2024-02-06 12:42:19 +01:00
|
|
|
requireAuth
|
2020-02-07 16:35:21 +01:00
|
|
|
loginPage={LoginPage}
|
|
|
|
authProvider={authProvider}
|
|
|
|
dataProvider={dataProvider}
|
|
|
|
i18nProvider={i18nProvider}
|
2024-07-03 08:31:24 +02:00
|
|
|
darkTheme={{ palette: { mode: "dark" } }}
|
2020-02-07 16:35:21 +01:00
|
|
|
>
|
2023-02-04 16:57:37 +01:00
|
|
|
<CustomRoutes>
|
|
|
|
<Route path="/import_users" element={<ImportFeature />} />
|
|
|
|
</CustomRoutes>
|
2024-02-05 13:44:00 +01:00
|
|
|
<Resource {...users} />
|
|
|
|
<Resource {...rooms} />
|
|
|
|
<Resource {...userMediaStats} />
|
|
|
|
<Resource {...reports} />
|
|
|
|
<Resource {...roomDirectory} />
|
|
|
|
<Resource {...destinations} />
|
|
|
|
<Resource {...registrationToken} />
|
2020-03-28 21:25:34 +01:00
|
|
|
<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" />
|
2021-02-11 20:45:02 +01:00
|
|
|
<Resource name="joined_rooms" />
|
2021-02-11 20:37:20 +01:00
|
|
|
<Resource name="pushers" />
|
2020-04-23 10:00:46 +02:00
|
|
|
<Resource name="servernotices" />
|
2021-05-08 19:10:51 +02:00
|
|
|
<Resource name="forward_extremities" />
|
2021-05-04 13:57:41 +02:00
|
|
|
<Resource name="room_state" />
|
2023-01-24 16:35:42 +01:00
|
|
|
<Resource name="destination_rooms" />
|
2020-01-27 14:57:27 +01:00
|
|
|
</Admin>
|
|
|
|
);
|
|
|
|
|
|
|
|
export default App;
|