@owlmeans/client-panel 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/auth/i18n/be.json +50 -0
- package/build/auth/i18n/de.json +50 -0
- package/build/auth/i18n/es.json +50 -0
- package/build/auth/i18n/pl.json +50 -0
- package/build/auth/i18n/ru.json +50 -0
- package/build/auth/i18n/uk.json +50 -0
- package/build/auth/i18n.js +13 -1
- package/build/auth/i18n.js.map +1 -1
- package/build/components/context.d.ts.map +1 -1
- package/build/components/context.js +6 -3
- package/build/components/context.js.map +1 -1
- package/build/components/form/action.d.ts.map +1 -1
- package/build/components/form/action.js +0 -8
- package/build/components/form/action.js.map +1 -1
- package/build/components/form/context.d.ts.map +1 -1
- package/build/components/form/context.js +5 -3
- package/build/components/form/context.js.map +1 -1
- package/package.json +13 -13
- package/src/auth/i18n/be.json +50 -0
- package/src/auth/i18n/de.json +50 -0
- package/src/auth/i18n/es.json +50 -0
- package/src/auth/i18n/pl.json +50 -0
- package/src/auth/i18n/ru.json +50 -0
- package/src/auth/i18n/uk.json +50 -0
- package/src/auth/i18n.ts +13 -1
- package/src/components/context.tsx +7 -8
- package/src/components/form/action.tsx +0 -8
- package/src/components/form/context.tsx +6 -7
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Ідэнтыфікатар арганізацыі" },
|
|
4
|
+
"address": { "label": "DID карыстальніка" },
|
|
5
|
+
"privateKey": { "label": "Прыватны ключ" },
|
|
6
|
+
"submit": "Аўтэнтыфікавацца"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам трэба пераканацца, што вы не робат. Клікніце на белае поле ніжэй, каб пацвердзіць, што вы чалавек."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Загрузка...",
|
|
14
|
+
"guideline": "Выкарыстоўвайце гэты пін-код на любым рэсурсе з падтрымкай аўтарызацыі праз кашалёк"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пін-код",
|
|
20
|
+
"hint": "Адсканіруйце QR-код або стварыце пін-код у дадатку OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Працягнуць з пін-кодам"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Скінуць",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Акно аўтэнтыфікацыі скончылася. Абнавіце старонку і паспрабуйце зноў."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Перавышаны ліміт часу! З меркаванняў бяспекі мы ўстанаўліваем ліміт часу на дзеянні аўтэнтыфікацыі. Паспрабуйце яшчэ раз.",
|
|
39
|
+
"rely": "Код аўтэнтыфікацыі скончыўся. Паспрабуйце яшчэ раз."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Працэс аўтэнтыфікацыі быў перарваны выкарыстоўваным дадаткам."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перазагрузіць"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Organisations-ID" },
|
|
4
|
+
"address": { "label": "Benutzer-DID" },
|
|
5
|
+
"privateKey": { "label": "Privater Schlüssel" },
|
|
6
|
+
"submit": "Authentifizieren"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Wir müssen sicherstellen, dass Sie kein Roboter sind. Klicken Sie auf das weiße Feld unten, um zu beweisen, dass Sie ein Mensch sind."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Wird geladen...",
|
|
14
|
+
"guideline": "Verwenden Sie diesen PIN-Code für jede Ressource, die Wallet-basierte Autorisierung unterstützt"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "PIN-Code",
|
|
20
|
+
"hint": "Scannen Sie den QR-Code oder erstellen Sie einen PIN-Code mit der OwlMeans ID-App"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Mit PIN fortfahren"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Zurücksetzen",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Das Authentifizierungsfenster ist abgelaufen. Bitte aktualisieren Sie die Seite und versuchen Sie es erneut."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Zeitüberschreitung! Aus Sicherheitsgründen setzen wir ein Zeitlimit für Authentifizierungsaktionen. Bitte versuchen Sie es erneut.",
|
|
39
|
+
"rely": "Der Authentifizierungscode ist abgelaufen. Bitte versuchen Sie es erneut."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Der Authentifizierungsprozess wurde durch die verwendete Authentifizierungsapp unterbrochen."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Neu laden"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "ID de organización" },
|
|
4
|
+
"address": { "label": "DID de usuario" },
|
|
5
|
+
"privateKey": { "label": "Clave privada" },
|
|
6
|
+
"submit": "Autenticar"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Necesitamos asegurarnos de que no eres un robot. Haz clic en el cuadro blanco a continuación para demostrar que eres humano."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Cargando...",
|
|
14
|
+
"guideline": "Use este código PIN en cualquier recurso que admita autorización basada en billetera"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Código PIN",
|
|
20
|
+
"hint": "Escanee el código QR o genere un código PIN con la aplicación OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Continuar con PIN"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Restablecer",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "La ventana de autenticación ha expirado. Actualice la página para intentarlo de nuevo."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "¡Tiempo de espera agotado! Por razones de seguridad, establecemos un límite de tiempo en las acciones de autenticación. Por favor, inténtelo de nuevo.",
|
|
39
|
+
"rely": "El código de autenticación ha expirado. Por favor, inténtelo de nuevo."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "El proceso de autenticación fue interrumpido por la aplicación de autenticación que utiliza."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Recargar"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Identyfikator organizacji" },
|
|
4
|
+
"address": { "label": "DID użytkownika" },
|
|
5
|
+
"privateKey": { "label": "Klucz prywatny" },
|
|
6
|
+
"submit": "Uwierzytelnij"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Musimy upewnić się, że nie jesteś robotem. Kliknij w białe pole poniżej, aby udowodnić, że jesteś człowiekiem."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Ładowanie...",
|
|
14
|
+
"guideline": "Użyj tego kodu PIN na dowolnym zasobie obsługującym autoryzację opartą na portfelu"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Kod PIN",
|
|
20
|
+
"hint": "Zeskanuj kod QR lub wygeneruj kod PIN za pomocą aplikacji OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Kontynuuj z pinem"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Resetuj",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Okno uwierzytelniania wygasło. Odśwież stronę, aby spróbować ponownie."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Przekroczono limit czasu! Ze względów bezpieczeństwa ustawiamy limit czasu na działania uwierzytelniające. Spróbuj ponownie.",
|
|
39
|
+
"rely": "Kod uwierzytelniania wygasł. Spróbuj ponownie."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Proces uwierzytelniania został przerwany przez aplikację uwierzytelniającą."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Przeładuj"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Идентификатор организации" },
|
|
4
|
+
"address": { "label": "DID пользователя" },
|
|
5
|
+
"privateKey": { "label": "Приватный ключ" },
|
|
6
|
+
"submit": "Аутентифицироваться"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам нужно убедиться, что вы не робот. Нажмите на белое поле ниже, чтобы подтвердить, что вы человек."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Загрузка...",
|
|
14
|
+
"guideline": "Используйте этот пин-код на любом ресурсе с поддержкой авторизации через кошелёк"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пин-код",
|
|
20
|
+
"hint": "Отсканируйте QR-код или создайте пин-код в приложении OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Продолжить с пин-кодом"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Сбросить",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Окно аутентификации истекло. Обновите страницу и попробуйте снова."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Превышено время ожидания! По соображениям безопасности мы устанавливаем ограничение по времени для действий аутентификации. Повторите попытку.",
|
|
39
|
+
"rely": "Код аутентификации истёк. Повторите попытку."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Процесс аутентификации был прерван используемым приложением."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перезагрузить"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Ідентифікатор організації" },
|
|
4
|
+
"address": { "label": "DID користувача" },
|
|
5
|
+
"privateKey": { "label": "Приватний ключ" },
|
|
6
|
+
"submit": "Автентифікуватися"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам потрібно переконатися, що ви не робот. Натисніть на біле поле нижче, щоб підтвердити, що ви людина."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Завантаження...",
|
|
14
|
+
"guideline": "Використовуйте цей пін-код на будь-якому ресурсі з підтримкою авторизації через гаманець"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пін-код",
|
|
20
|
+
"hint": "Відскануйте QR-код або створіть пін-код у додатку OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Продовжити з пін-кодом"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Скинути",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Вікно автентифікації закінчилося. Оновіть сторінку та спробуйте знову."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Перевищено ліміт часу! З міркувань безпеки ми встановлюємо ліміт часу на дії автентифікації. Спробуйте ще раз.",
|
|
39
|
+
"rely": "Код автентифікації закінчився. Спробуйте ще раз."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Процес автентифікації було перервано використовуваним додатком."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перезавантажити"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/build/auth/i18n.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { addI18nLib } from '@owlmeans/i18n';
|
|
2
|
-
import en from './i18n/en.json';
|
|
2
|
+
import en from './i18n/en.json' with { type: 'json' };
|
|
3
|
+
import pl from './i18n/pl.json' with { type: 'json' };
|
|
4
|
+
import ru from './i18n/ru.json' with { type: 'json' };
|
|
5
|
+
import be from './i18n/be.json' with { type: 'json' };
|
|
6
|
+
import uk from './i18n/uk.json' with { type: 'json' };
|
|
7
|
+
import es from './i18n/es.json' with { type: 'json' };
|
|
8
|
+
import de from './i18n/de.json' with { type: 'json' };
|
|
3
9
|
addI18nLib('en', 'client-panel-auth', en);
|
|
10
|
+
addI18nLib('pl', 'client-panel-auth', pl);
|
|
11
|
+
addI18nLib('ru', 'client-panel-auth', ru);
|
|
12
|
+
addI18nLib('be', 'client-panel-auth', be);
|
|
13
|
+
addI18nLib('uk', 'client-panel-auth', uk);
|
|
14
|
+
addI18nLib('es', 'client-panel-auth', es);
|
|
15
|
+
addI18nLib('de', 'client-panel-auth', de);
|
|
4
16
|
//# sourceMappingURL=i18n.js.map
|
package/build/auth/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/auth/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/auth/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErD,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AACzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAiB,SAAS,EAAuB,MAAM,uBAAuB,CAAA;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CAK1C,CAAA;AAED,eAAO,MAAM,cAAc,qBAAsD,CAAA;AAEjF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,WAAW,SAAS,CAAC,MAAM,CAAC,0DASvE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,QAAQ,cAAc,uBAajE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext as useReactContext } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { composePrefix, useI18n, useI18nLib } from '@owlmeans/client-i18n';
|
|
4
4
|
import { useContext } from '@owlmeans/client';
|
|
5
5
|
const PanelContext_ = createContext({});
|
|
6
6
|
export const PanelContext = ({ children, ...props }) => {
|
|
@@ -12,8 +12,11 @@ export const usePanelHelper = () => useReactContext(PanelContext_);
|
|
|
12
12
|
export const usePanelI18n = (name, override) => {
|
|
13
13
|
const context = useContext();
|
|
14
14
|
const i18n = { ...usePanelHelper(), ...override };
|
|
15
|
-
const prefix = (i18n?.prefix
|
|
16
|
-
|
|
15
|
+
const prefix = composePrefix(i18n?.prefix, name);
|
|
16
|
+
const resource = i18n?.resource ?? context.cfg.service;
|
|
17
|
+
// When ns is not explicitly set, default it to the resource name (app-style).
|
|
18
|
+
const ns = i18n?.ns ?? resource;
|
|
19
|
+
return useI18n(resource, ns, prefix);
|
|
17
20
|
};
|
|
18
21
|
export const usePanelError = (name, error) => {
|
|
19
22
|
const t = usePanelI18n();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAa,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,MAAM,aAAa,GAAG,aAAa,CAAgB,EAAE,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAE/B,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAA;AAClF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,eAAe,CAAgB,aAAa,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,QAA4B,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAA;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;IACtD,8EAA8E;IAC9E,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,QAAQ,CAAA;IAE/B,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAsB,EAAE,EAAE;IACpE,MAAM,CAAC,GAAG,YAAY,EAAE,CAAA;IACxB,MAAM,GAAG,GAAG,IAAI,CAAA;IAEhB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEjC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,IAAI,IAAI;YAChB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;aAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;SACjC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/components/form/action.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/components/form/action.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA6B1C,CAAA"}
|
|
@@ -2,19 +2,11 @@ import { useMemo } from "react";
|
|
|
2
2
|
import { useFormContext } from "react-hook-form";
|
|
3
3
|
import { useClientFormContext, useFormI18n } from "./context.js";
|
|
4
4
|
import { useContext } from "@owlmeans/client";
|
|
5
|
-
// import { usePanelHelper } from "../context.js"
|
|
6
|
-
// import { useCommonI18n, useI18nApp, useI18nLib } from "@owlmeans/client-i18n"
|
|
7
5
|
import { useI18nApp, useI18nLib } from "@owlmeans/client-i18n";
|
|
8
6
|
export const ActionCtrl = ({ render, label, i18n, size, onClick, submit }) => {
|
|
9
7
|
const form = useFormContext();
|
|
10
8
|
const client = useClientFormContext();
|
|
11
9
|
const context = useContext();
|
|
12
|
-
// const panel = usePanelHelper()
|
|
13
|
-
/*const t = useCommonI18n(
|
|
14
|
-
i18n?.resource ?? panel.resource ?? context.cfg.service,
|
|
15
|
-
i18n?.ns ?? panel.ns,
|
|
16
|
-
i18n?.prefix ?? panel.prefix
|
|
17
|
-
)*/
|
|
18
10
|
const t = useFormI18n();
|
|
19
11
|
const appT = useI18nApp(context.cfg.service, 'buttons');
|
|
20
12
|
const libT = useI18nLib('client-panel', 'buttons');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/components/form/action.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/components/form/action.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAChG,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAA;IAErC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAElD,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE;QAClE,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,EAAE,CAAC;KACjF,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAE,CAAA;IAE7B,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAA;IACvB,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/B,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA;IAElE,MAAM,MAAM,GAAG,OAAO,IAAI,MAAM,IAAI,IAAI;QACtC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAO,CAAA;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAA;IAE7C,OAAO,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACxF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/form/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CACa,CAAA;AAEzE,eAAO,MAAM,oBAAoB,oBAAoD,CAAA;AAErF,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/form/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CACa,CAAA;AAEzE,eAAO,MAAM,oBAAoB,oBAAoD,CAAA;AAErF,eAAO,MAAM,WAAW,6DAQvB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,UAAU,uBAa5D,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext as useReactContext } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { composePrefix, useI18n, useI18nLib } from '@owlmeans/client-i18n';
|
|
4
4
|
import { useContext } from '@owlmeans/client';
|
|
5
5
|
const FormContext_ = createContext({});
|
|
6
6
|
export const FormContext = ({ children, ...props }) => _jsx(FormContext_.Provider, { value: props, children: children });
|
|
@@ -8,8 +8,10 @@ export const useClientFormContext = () => useReactContext(FormContext_);
|
|
|
8
8
|
export const useFormI18n = () => {
|
|
9
9
|
const context = useContext();
|
|
10
10
|
const { i18n, name } = useClientFormContext();
|
|
11
|
-
const prefix = (i18n?.prefix
|
|
12
|
-
|
|
11
|
+
const prefix = composePrefix(i18n?.prefix, name);
|
|
12
|
+
const resource = i18n?.resource ?? context.cfg.service;
|
|
13
|
+
const ns = i18n?.ns ?? resource;
|
|
14
|
+
return useI18n(resource, ns, prefix);
|
|
13
15
|
};
|
|
14
16
|
export const useFormError = (name, error) => {
|
|
15
17
|
const t = useFormI18n();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/form/context.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/form/context.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,MAAM,YAAY,GAAG,aAAa,CAAe,EAA6B,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAwC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACzF,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CAAA;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAe,YAAY,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,QAAQ,CAAA;IAE/B,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAkB,EAAE,EAAE;IAC/D,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;IACvB,MAAM,GAAG,GAAG,IAAI,CAAA;IAEhB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEjC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,IAAI,IAAI;YAChB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;aAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;SACjC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/client-panel",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -36,18 +36,18 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@hookform/resolvers": "^3.9.0",
|
|
39
|
-
"@owlmeans/client": "^0.1.
|
|
40
|
-
"@owlmeans/client-i18n": "^0.1.
|
|
41
|
-
"@owlmeans/client-entrypoint": "^0.1.
|
|
42
|
-
"@owlmeans/client-route": "^0.1.
|
|
43
|
-
"@owlmeans/error": "^0.1.
|
|
44
|
-
"@owlmeans/entrypoint": "^0.1.
|
|
39
|
+
"@owlmeans/client": "^0.1.6",
|
|
40
|
+
"@owlmeans/client-i18n": "^0.1.6",
|
|
41
|
+
"@owlmeans/client-entrypoint": "^0.1.6",
|
|
42
|
+
"@owlmeans/client-route": "^0.1.6",
|
|
43
|
+
"@owlmeans/error": "^0.1.6",
|
|
44
|
+
"@owlmeans/entrypoint": "^0.1.6"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"@owlmeans/auth": "^0.1.
|
|
48
|
-
"@owlmeans/client-auth": "^0.1.
|
|
49
|
-
"@owlmeans/i18n": "^0.1.
|
|
50
|
-
"@owlmeans/router": "^0.1.
|
|
47
|
+
"@owlmeans/auth": "^0.1.6",
|
|
48
|
+
"@owlmeans/client-auth": "^0.1.6",
|
|
49
|
+
"@owlmeans/i18n": "^0.1.6",
|
|
50
|
+
"@owlmeans/router": "^0.1.6",
|
|
51
51
|
"ajv": "*",
|
|
52
52
|
"react": "*",
|
|
53
53
|
"react-hook-form": "*"
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@owlmeans/dep-config": "workspace:*",
|
|
65
|
-
"@owlmeans/auth": "^0.1.
|
|
66
|
-
"@owlmeans/client-auth": "^0.1.
|
|
65
|
+
"@owlmeans/auth": "^0.1.6",
|
|
66
|
+
"@owlmeans/client-auth": "^0.1.6",
|
|
67
67
|
"@types/react": "^19.2.7",
|
|
68
68
|
"nodemon": "^3.1.11",
|
|
69
69
|
"npm-check": "^6.0.1",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Ідэнтыфікатар арганізацыі" },
|
|
4
|
+
"address": { "label": "DID карыстальніка" },
|
|
5
|
+
"privateKey": { "label": "Прыватны ключ" },
|
|
6
|
+
"submit": "Аўтэнтыфікавацца"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам трэба пераканацца, што вы не робат. Клікніце на белае поле ніжэй, каб пацвердзіць, што вы чалавек."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Загрузка...",
|
|
14
|
+
"guideline": "Выкарыстоўвайце гэты пін-код на любым рэсурсе з падтрымкай аўтарызацыі праз кашалёк"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пін-код",
|
|
20
|
+
"hint": "Адсканіруйце QR-код або стварыце пін-код у дадатку OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Працягнуць з пін-кодам"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Скінуць",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Акно аўтэнтыфікацыі скончылася. Абнавіце старонку і паспрабуйце зноў."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Перавышаны ліміт часу! З меркаванняў бяспекі мы ўстанаўліваем ліміт часу на дзеянні аўтэнтыфікацыі. Паспрабуйце яшчэ раз.",
|
|
39
|
+
"rely": "Код аўтэнтыфікацыі скончыўся. Паспрабуйце яшчэ раз."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Працэс аўтэнтыфікацыі быў перарваны выкарыстоўваным дадаткам."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перазагрузіць"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Organisations-ID" },
|
|
4
|
+
"address": { "label": "Benutzer-DID" },
|
|
5
|
+
"privateKey": { "label": "Privater Schlüssel" },
|
|
6
|
+
"submit": "Authentifizieren"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Wir müssen sicherstellen, dass Sie kein Roboter sind. Klicken Sie auf das weiße Feld unten, um zu beweisen, dass Sie ein Mensch sind."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Wird geladen...",
|
|
14
|
+
"guideline": "Verwenden Sie diesen PIN-Code für jede Ressource, die Wallet-basierte Autorisierung unterstützt"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "PIN-Code",
|
|
20
|
+
"hint": "Scannen Sie den QR-Code oder erstellen Sie einen PIN-Code mit der OwlMeans ID-App"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Mit PIN fortfahren"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Zurücksetzen",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Das Authentifizierungsfenster ist abgelaufen. Bitte aktualisieren Sie die Seite und versuchen Sie es erneut."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Zeitüberschreitung! Aus Sicherheitsgründen setzen wir ein Zeitlimit für Authentifizierungsaktionen. Bitte versuchen Sie es erneut.",
|
|
39
|
+
"rely": "Der Authentifizierungscode ist abgelaufen. Bitte versuchen Sie es erneut."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Der Authentifizierungsprozess wurde durch die verwendete Authentifizierungsapp unterbrochen."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Neu laden"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "ID de organización" },
|
|
4
|
+
"address": { "label": "DID de usuario" },
|
|
5
|
+
"privateKey": { "label": "Clave privada" },
|
|
6
|
+
"submit": "Autenticar"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Necesitamos asegurarnos de que no eres un robot. Haz clic en el cuadro blanco a continuación para demostrar que eres humano."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Cargando...",
|
|
14
|
+
"guideline": "Use este código PIN en cualquier recurso que admita autorización basada en billetera"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Código PIN",
|
|
20
|
+
"hint": "Escanee el código QR o genere un código PIN con la aplicación OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Continuar con PIN"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Restablecer",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "La ventana de autenticación ha expirado. Actualice la página para intentarlo de nuevo."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "¡Tiempo de espera agotado! Por razones de seguridad, establecemos un límite de tiempo en las acciones de autenticación. Por favor, inténtelo de nuevo.",
|
|
39
|
+
"rely": "El código de autenticación ha expirado. Por favor, inténtelo de nuevo."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "El proceso de autenticación fue interrumpido por la aplicación de autenticación que utiliza."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Recargar"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Identyfikator organizacji" },
|
|
4
|
+
"address": { "label": "DID użytkownika" },
|
|
5
|
+
"privateKey": { "label": "Klucz prywatny" },
|
|
6
|
+
"submit": "Uwierzytelnij"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Musimy upewnić się, że nie jesteś robotem. Kliknij w białe pole poniżej, aby udowodnić, że jesteś człowiekiem."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Ładowanie...",
|
|
14
|
+
"guideline": "Użyj tego kodu PIN na dowolnym zasobie obsługującym autoryzację opartą na portfelu"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Kod PIN",
|
|
20
|
+
"hint": "Zeskanuj kod QR lub wygeneruj kod PIN za pomocą aplikacji OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Kontynuuj z pinem"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Resetuj",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Okno uwierzytelniania wygasło. Odśwież stronę, aby spróbować ponownie."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Przekroczono limit czasu! Ze względów bezpieczeństwa ustawiamy limit czasu na działania uwierzytelniające. Spróbuj ponownie.",
|
|
39
|
+
"rely": "Kod uwierzytelniania wygasł. Spróbuj ponownie."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Proces uwierzytelniania został przerwany przez aplikację uwierzytelniającą."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Przeładuj"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Идентификатор организации" },
|
|
4
|
+
"address": { "label": "DID пользователя" },
|
|
5
|
+
"privateKey": { "label": "Приватный ключ" },
|
|
6
|
+
"submit": "Аутентифицироваться"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам нужно убедиться, что вы не робот. Нажмите на белое поле ниже, чтобы подтвердить, что вы человек."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Загрузка...",
|
|
14
|
+
"guideline": "Используйте этот пин-код на любом ресурсе с поддержкой авторизации через кошелёк"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пин-код",
|
|
20
|
+
"hint": "Отсканируйте QR-код или создайте пин-код в приложении OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Продолжить с пин-кодом"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Сбросить",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Окно аутентификации истекло. Обновите страницу и попробуйте снова."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Превышено время ожидания! По соображениям безопасности мы устанавливаем ограничение по времени для действий аутентификации. Повторите попытку.",
|
|
39
|
+
"rely": "Код аутентификации истёк. Повторите попытку."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Процесс аутентификации был прерван используемым приложением."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перезагрузить"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"basic-ed25519": {
|
|
3
|
+
"entityId": { "label": "Ідентифікатор організації" },
|
|
4
|
+
"address": { "label": "DID користувача" },
|
|
5
|
+
"privateKey": { "label": "Приватний ключ" },
|
|
6
|
+
"submit": "Автентифікуватися"
|
|
7
|
+
},
|
|
8
|
+
"re-captcha": {
|
|
9
|
+
"guideline": "Нам потрібно переконатися, що ви не робот. Натисніть на біле поле нижче, щоб підтвердити, що ви людина."
|
|
10
|
+
},
|
|
11
|
+
"wallet-provider": {
|
|
12
|
+
"pin": {
|
|
13
|
+
"loading": "Завантаження...",
|
|
14
|
+
"guideline": "Використовуйте цей пін-код на будь-якому ресурсі з підтримкою авторизації через гаманець"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"wallet-consumer": {
|
|
18
|
+
"pin": {
|
|
19
|
+
"label": "Пін-код",
|
|
20
|
+
"hint": "Відскануйте QR-код або створіть пін-код у додатку OwlMeans ID"
|
|
21
|
+
},
|
|
22
|
+
"submit": "Продовжити з пін-кодом"
|
|
23
|
+
},
|
|
24
|
+
"oidp-auth": {
|
|
25
|
+
"reset": "Скинути",
|
|
26
|
+
"error": {
|
|
27
|
+
"socket": {
|
|
28
|
+
"timeout": {
|
|
29
|
+
"rely": "Вікно автентифікації закінчилося. Оновіть сторінку та спробуйте знову."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"oidp-create-id": {
|
|
35
|
+
"error": {
|
|
36
|
+
"socket": {
|
|
37
|
+
"timeout": {
|
|
38
|
+
"call": "Перевищено ліміт часу! З міркувань безпеки ми встановлюємо ліміт часу на дії автентифікації. Спробуйте ще раз.",
|
|
39
|
+
"rely": "Код автентифікації закінчився. Спробуйте ще раз."
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"authorization": {
|
|
44
|
+
"sequence": "Процес автентифікації було перервано використовуваним додатком."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"reset": "Перезавантажити"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/src/auth/i18n.ts
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { addI18nLib } from '@owlmeans/i18n'
|
|
2
2
|
|
|
3
|
-
import en from './i18n/en.json'
|
|
3
|
+
import en from './i18n/en.json' with { type: 'json' }
|
|
4
|
+
import pl from './i18n/pl.json' with { type: 'json' }
|
|
5
|
+
import ru from './i18n/ru.json' with { type: 'json' }
|
|
6
|
+
import be from './i18n/be.json' with { type: 'json' }
|
|
7
|
+
import uk from './i18n/uk.json' with { type: 'json' }
|
|
8
|
+
import es from './i18n/es.json' with { type: 'json' }
|
|
9
|
+
import de from './i18n/de.json' with { type: 'json' }
|
|
4
10
|
|
|
5
11
|
addI18nLib('en', 'client-panel-auth', en)
|
|
12
|
+
addI18nLib('pl', 'client-panel-auth', pl)
|
|
13
|
+
addI18nLib('ru', 'client-panel-auth', ru)
|
|
14
|
+
addI18nLib('be', 'client-panel-auth', be)
|
|
15
|
+
addI18nLib('uk', 'client-panel-auth', uk)
|
|
16
|
+
addI18nLib('es', 'client-panel-auth', es)
|
|
17
|
+
addI18nLib('de', 'client-panel-auth', de)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FC } from 'react'
|
|
2
2
|
import { createContext, useContext as useReactContext } from 'react'
|
|
3
3
|
import type { TPanelContext } from './types.js'
|
|
4
|
-
import { I18nProps,
|
|
4
|
+
import { composePrefix, I18nProps, useI18n, useI18nLib } from '@owlmeans/client-i18n'
|
|
5
5
|
import { useContext } from '@owlmeans/client'
|
|
6
6
|
import { ResilientError } from '@owlmeans/error'
|
|
7
7
|
|
|
@@ -10,7 +10,7 @@ const PanelContext_ = createContext<TPanelContext>({})
|
|
|
10
10
|
export const PanelContext: FC<TPanelContext> = ({ children, ...props }) => {
|
|
11
11
|
const parent = usePanelHelper()
|
|
12
12
|
props = { ...parent, ...props }
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
return <PanelContext_.Provider value={props}>{children}</PanelContext_.Provider>
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -19,13 +19,12 @@ export const usePanelHelper = () => useReactContext<TPanelContext>(PanelContext_
|
|
|
19
19
|
export const usePanelI18n = (name?: string, override?: I18nProps["i18n"]) => {
|
|
20
20
|
const context = useContext()
|
|
21
21
|
const i18n = { ...usePanelHelper(), ...override }
|
|
22
|
-
const prefix = (i18n?.prefix
|
|
22
|
+
const prefix = composePrefix(i18n?.prefix, name)
|
|
23
|
+
const resource = i18n?.resource ?? context.cfg.service
|
|
24
|
+
// When ns is not explicitly set, default it to the resource name (app-style).
|
|
25
|
+
const ns = i18n?.ns ?? resource
|
|
23
26
|
|
|
24
|
-
return
|
|
25
|
-
i18n?.resource ?? context.cfg.service,
|
|
26
|
-
i18n?.ns ?? context.cfg.service ?? i18n?.resource,
|
|
27
|
-
prefix
|
|
28
|
-
)
|
|
27
|
+
return useI18n(resource, ns, prefix)
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
export const usePanelError = (name: string, error?: ResilientError) => {
|
|
@@ -4,8 +4,6 @@ import { useFormContext } from "react-hook-form"
|
|
|
4
4
|
import { useClientFormContext, useFormI18n } from "./context.js"
|
|
5
5
|
import type { FormActionProps } from "./types.js"
|
|
6
6
|
import { useContext } from "@owlmeans/client"
|
|
7
|
-
// import { usePanelHelper } from "../context.js"
|
|
8
|
-
// import { useCommonI18n, useI18nApp, useI18nLib } from "@owlmeans/client-i18n"
|
|
9
7
|
import { useI18nApp, useI18nLib } from "@owlmeans/client-i18n"
|
|
10
8
|
|
|
11
9
|
export const ActionCtrl: FC<FormActionProps> = ({ render, label, i18n, size, onClick, submit }) => {
|
|
@@ -13,12 +11,6 @@ export const ActionCtrl: FC<FormActionProps> = ({ render, label, i18n, size, onC
|
|
|
13
11
|
const client = useClientFormContext()
|
|
14
12
|
|
|
15
13
|
const context = useContext()
|
|
16
|
-
// const panel = usePanelHelper()
|
|
17
|
-
/*const t = useCommonI18n(
|
|
18
|
-
i18n?.resource ?? panel.resource ?? context.cfg.service,
|
|
19
|
-
i18n?.ns ?? panel.ns,
|
|
20
|
-
i18n?.prefix ?? panel.prefix
|
|
21
|
-
)*/
|
|
22
14
|
const t = useFormI18n()
|
|
23
15
|
const appT = useI18nApp(context.cfg.service, 'buttons')
|
|
24
16
|
const libT = useI18nLib('client-panel', 'buttons')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FC, PropsWithChildren } from 'react'
|
|
2
2
|
import { createContext, useContext as useReactContext } from 'react'
|
|
3
|
-
import {
|
|
3
|
+
import { composePrefix, useI18n, useI18nLib } from '@owlmeans/client-i18n'
|
|
4
4
|
import type { FieldError } from 'react-hook-form'
|
|
5
5
|
import { useContext } from '@owlmeans/client'
|
|
6
6
|
import type { TFormContext } from './types.js'
|
|
@@ -15,12 +15,11 @@ export const useClientFormContext = () => useReactContext<TFormContext>(FormCont
|
|
|
15
15
|
export const useFormI18n = () => {
|
|
16
16
|
const context = useContext()
|
|
17
17
|
const { i18n, name } = useClientFormContext()
|
|
18
|
-
const prefix = (i18n?.prefix
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
18
|
+
const prefix = composePrefix(i18n?.prefix, name)
|
|
19
|
+
const resource = i18n?.resource ?? context.cfg.service
|
|
20
|
+
const ns = i18n?.ns ?? resource
|
|
21
|
+
|
|
22
|
+
return useI18n(resource, ns, prefix)
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
export const useFormError = (name: string, error?: FieldError) => {
|