diff --git a/src/App.test.tsx b/src/App.test.tsx index 3da4e42..d9c6394 100644 --- a/src/App.test.tsx +++ b/src/App.test.tsx @@ -1,4 +1,4 @@ -import { render, screen, waitFor } from "@testing-library/react"; +import { render, screen } from "@testing-library/react"; import fetchMock from "jest-fetch-mock"; fetchMock.enableMocks(); diff --git a/src/i18n/de.ts b/src/i18n/de.ts index 2331268..e1b8433 100644 --- a/src/i18n/de.ts +++ b/src/i18n/de.ts @@ -2,7 +2,7 @@ import { formalGermanMessages } from "@haleos/ra-language-german"; import { SynapseTranslationMessages } from "."; -const de: SynapseTranslationMessages = { +const fixedGermanMessages = { ...formalGermanMessages, ra: { ...formalGermanMessages.ra, @@ -10,8 +10,30 @@ const de: SynapseTranslationMessages = { ...formalGermanMessages.ra.navigation, no_filtered_results: "Keine Ergebnisse", clear_filters: "Alle Filter entfernen", + add_filter: "Filter hinzufügen", + }, + action: { + ...formalGermanMessages.ra.action, + update_application: "Anwendung aktualisieren", + }, + page: { + ...formalGermanMessages.ra.page, + empty: "Leer", + access_denied: "Zugriff verweigert", + authentication_error: "Authentifizierungsfehler", + }, + message: { + ...formalGermanMessages.ra.message, + access_denied: + "Sie haben nicht die richtigen Berechtigungen um auf diese Seite zuzugreifen.", + authentication_error: + "Der Authentifizierungsserver hat einen Fehler zurückgegeben und Ihre Anmeldedaten konnten nicht überprüft werden.", }, }, +} + +const de: SynapseTranslationMessages = { + ...fixedGermanMessages, synapseadmin: { auth: { base_url: "Heimserver URL", diff --git a/src/i18n/ru.ts b/src/i18n/ru.ts index f2492a9..b3773b1 100644 --- a/src/i18n/ru.ts +++ b/src/i18n/ru.ts @@ -2,7 +2,7 @@ import russianMessages from "ra-language-russian"; import { SynapseTranslationMessages } from "."; -const ru: SynapseTranslationMessages = { +const fixedRussianMessages = { ...russianMessages, ra: { ...russianMessages.ra, @@ -11,7 +11,24 @@ const ru: SynapseTranslationMessages = { no_filtered_results: "Нет результатов", clear_filters: "Все фильтры сбросить", }, + page: { + ...russianMessages.ra.page, + empty: "Пусто", + access_denied: "Доступ запрещен", + authentication_error: "Ошибка аутентификации", + }, + message: { + ...russianMessages.ra.message, + access_denied: + "У вас нет прав доступа к этой странице.", + authentication_error: + "Сервер аутентификации вернул ошибку и не смог проверить ваши учетные данные.", + }, }, +} + +const ru: SynapseTranslationMessages = { + ...fixedRussianMessages, synapseadmin: { auth: { base_url: "Адрес домашнего сервера", diff --git a/src/i18n/zh.ts b/src/i18n/zh.ts index 0a3113c..ec96389 100644 --- a/src/i18n/zh.ts +++ b/src/i18n/zh.ts @@ -2,7 +2,7 @@ import chineseMessages from "@haxqer/ra-language-chinese"; import { SynapseTranslationMessages } from "."; -const zh: SynapseTranslationMessages = { +const fixedChineseMessages = { ...chineseMessages, ra: { ...chineseMessages.ra, @@ -11,7 +11,27 @@ const zh: SynapseTranslationMessages = { no_filtered_results: "没有结果", clear_filters: "清除所有过滤器", }, + action: { + ...chineseMessages.ra.action, + update_application: "Anwendung aktualisieren", + }, + page: { + ...chineseMessages.ra.page, + access_denied: "拒绝访问", + authentication_error: "认证错误", + }, + message: { + ...chineseMessages.ra.message, + access_denied: + "您没有访问此页面的权限。", + authentication_error: + "身份验证服务器返回错误,无法验证您的凭据。", + }, }, +} + +const zh: SynapseTranslationMessages = { + ...fixedChineseMessages, synapseadmin: { auth: { base_url: "服务器 URL", diff --git a/src/synapse/authProvider.test.ts b/src/synapse/authProvider.test.ts index d47894f..16cf298 100644 --- a/src/synapse/authProvider.test.ts +++ b/src/synapse/authProvider.test.ts @@ -30,7 +30,7 @@ describe("authProvider", () => { }); expect(ret).toEqual({redirectTo: "/"}); - expect(fetch).toBeCalledWith("http://example.com/_matrix/client/r0/login", { + expect(fetch).toHaveBeenCalledWith("http://example.com/_matrix/client/r0/login", { body: '{"device_id":null,"initial_device_display_name":"Synapse Admin","type":"m.login.password","identifier":{"type":"m.id.user","user":"@user:example.com"},"password":"secret"}', headers: new Headers({ Accept: "application/json", @@ -83,7 +83,7 @@ describe("authProvider", () => { await authProvider.logout(null); - expect(fetch).toBeCalledWith("example.com/_matrix/client/r0/logout", { + expect(fetch).toHaveBeenCalledWith("example.com/_matrix/client/r0/logout", { headers: new Headers({ Accept: "application/json", Authorization: "Bearer foo", @@ -123,7 +123,9 @@ describe("authProvider", () => { describe("getPermissions", () => { it("should do nothing", async () => { - await expect(authProvider.getPermissions(null)).resolves.toBeUndefined(); + if (authProvider.getPermissions) { + await expect(authProvider.getPermissions(null)).resolves.toBeUndefined(); + } }); }); }); diff --git a/src/synapse/authProvider.ts b/src/synapse/authProvider.ts index 4ededae..f1c673c 100644 --- a/src/synapse/authProvider.ts +++ b/src/synapse/authProvider.ts @@ -1,4 +1,4 @@ -import { AuthProvider, HttpError, Options, fetchUtils, useTranslate } from "react-admin"; +import { AuthProvider, HttpError, Options, fetchUtils } from "react-admin"; import storage from "../storage"; import { MatrixError, displayError } from "../components/error";