keycloakify 10.0.0-rc.40 → 10.0.0-rc.41
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/account/DefaultPage.d.ts +5 -0
- package/account/{Fallback.js → DefaultPage.js} +2 -2
- package/account/DefaultPage.js.map +1 -0
- package/account/Template.d.ts +2 -1
- package/account/Template.js +2 -3
- package/account/Template.js.map +1 -1
- package/account/TemplateProps.d.ts +3 -3
- package/account/i18n/i18n.d.ts +3 -1
- package/account/i18n/i18n.js +2 -2
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/index.d.ts +4 -8
- package/account/i18n/index.js +1 -4
- package/account/i18n/index.js.map +1 -1
- package/account/pages/Account.d.ts +2 -1
- package/account/pages/Account.js +3 -4
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.d.ts +2 -1
- package/account/pages/Applications.js +3 -4
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +2 -1
- package/account/pages/FederatedIdentity.js +3 -4
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Log.d.ts +2 -1
- package/account/pages/Log.js +3 -4
- package/account/pages/Log.js.map +1 -1
- package/account/pages/PageProps.d.ts +4 -4
- package/account/pages/Password.d.ts +2 -1
- package/account/pages/Password.js +3 -3
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.d.ts +2 -1
- package/account/pages/Sessions.js +3 -4
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.d.ts +2 -1
- package/account/pages/Totp.js +3 -4
- package/account/pages/Totp.js.map +1 -1
- package/bin/538.index.js +37 -2
- package/login/{Fallback.d.ts → DefaultPage.d.ts} +4 -3
- package/login/{Fallback.js → DefaultPage.js} +2 -2
- package/login/DefaultPage.js.map +1 -0
- package/login/Template.d.ts +2 -1
- package/login/Template.js +2 -3
- package/login/Template.js.map +1 -1
- package/login/TemplateProps.d.ts +3 -3
- package/login/UserProfileFormFields.d.ts +2 -1
- package/login/UserProfileFormFields.js +3 -4
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/i18n.d.ts +3 -1
- package/login/i18n/i18n.js +1 -1
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +4 -8
- package/login/i18n/index.js +1 -4
- package/login/i18n/index.js.map +1 -1
- package/login/lib/useUserProfileForm.d.ts +2 -0
- package/login/lib/useUserProfileForm.js +5 -5
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.d.ts +2 -1
- package/login/pages/Code.js +3 -4
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.d.ts +2 -1
- package/login/pages/DeleteAccountConfirm.js +3 -4
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.d.ts +2 -1
- package/login/pages/DeleteCredential.js +3 -4
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.d.ts +2 -1
- package/login/pages/Error.js +3 -4
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.d.ts +2 -1
- package/login/pages/FrontchannelLogout.js +3 -4
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.d.ts +2 -1
- package/login/pages/IdpReviewUserProfile.js +3 -4
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.d.ts +2 -1
- package/login/pages/Info.js +3 -4
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.d.ts +2 -1
- package/login/pages/Login.js +2 -4
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.d.ts +2 -1
- package/login/pages/LoginConfigTotp.js +2 -4
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.d.ts +2 -1
- package/login/pages/LoginIdpLinkConfirm.js +3 -4
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.d.ts +2 -1
- package/login/pages/LoginIdpLinkEmail.js +3 -4
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +2 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +3 -4
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.d.ts +2 -1
- package/login/pages/LoginOauthGrant.js +3 -4
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.d.ts +2 -1
- package/login/pages/LoginOtp.js +3 -4
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.d.ts +2 -1
- package/login/pages/LoginPageExpired.js +3 -4
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.d.ts +2 -1
- package/login/pages/LoginPassword.js +2 -4
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +2 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +2 -4
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +2 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js +3 -4
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.d.ts +2 -1
- package/login/pages/LoginResetOtp.js +3 -4
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.d.ts +2 -1
- package/login/pages/LoginResetPassword.js +3 -4
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.d.ts +2 -1
- package/login/pages/LoginUpdatePassword.js +2 -4
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.d.ts +2 -1
- package/login/pages/LoginUpdateProfile.js +3 -4
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.d.ts +2 -1
- package/login/pages/LoginUsername.js +3 -4
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.d.ts +2 -1
- package/login/pages/LoginVerifyEmail.js +3 -4
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.d.ts +2 -1
- package/login/pages/LoginX509Info.js +3 -4
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.d.ts +2 -1
- package/login/pages/LogoutConfirm.js +3 -4
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/PageProps.d.ts +4 -4
- package/login/pages/Register.d.ts +2 -1
- package/login/pages/Register.js +2 -4
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.d.ts +2 -1
- package/login/pages/SamlPostForm.js +3 -4
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.d.ts +2 -1
- package/login/pages/SelectAuthenticator.js +3 -4
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.d.ts +2 -1
- package/login/pages/Terms.js +3 -4
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.d.ts +2 -1
- package/login/pages/UpdateEmail.js +2 -4
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.d.ts +2 -1
- package/login/pages/WebauthnAuthenticate.js +3 -4
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.d.ts +2 -1
- package/login/pages/WebauthnError.js +3 -4
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.d.ts +2 -1
- package/login/pages/WebauthnRegister.js +2 -4
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +9 -9
- package/src/account/{Fallback.tsx → DefaultPage.tsx} +3 -2
- package/src/account/Template.tsx +4 -4
- package/src/account/TemplateProps.ts +4 -3
- package/src/account/i18n/i18n.tsx +3 -3
- package/src/account/i18n/index.ts +4 -9
- package/src/account/pages/Account.tsx +5 -5
- package/src/account/pages/Applications.tsx +5 -5
- package/src/account/pages/FederatedIdentity.tsx +5 -5
- package/src/account/pages/Log.tsx +5 -5
- package/src/account/pages/PageProps.ts +4 -4
- package/src/account/pages/Password.tsx +5 -4
- package/src/account/pages/Sessions.tsx +5 -5
- package/src/account/pages/Totp.tsx +5 -5
- package/src/bin/shared/generateKcGenTs.ts +46 -36
- package/src/login/{Fallback.tsx → DefaultPage.tsx} +4 -3
- package/src/login/Template.tsx +4 -3
- package/src/login/TemplateProps.ts +3 -4
- package/src/login/UserProfileFormFields.tsx +5 -5
- package/src/login/i18n/i18n.tsx +2 -2
- package/src/login/i18n/index.ts +4 -9
- package/src/login/lib/useUserProfileForm.tsx +8 -6
- package/src/login/pages/Code.tsx +5 -4
- package/src/login/pages/DeleteAccountConfirm.tsx +5 -5
- package/src/login/pages/DeleteCredential.tsx +5 -4
- package/src/login/pages/Error.tsx +12 -5
- package/src/login/pages/FrontchannelLogout.tsx +5 -4
- package/src/login/pages/IdpReviewUserProfile.tsx +6 -4
- package/src/login/pages/Info.tsx +5 -4
- package/src/login/pages/Login.tsx +4 -4
- package/src/login/pages/LoginConfigTotp.tsx +4 -6
- package/src/login/pages/LoginIdpLinkConfirm.tsx +5 -5
- package/src/login/pages/LoginIdpLinkEmail.tsx +11 -5
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +11 -5
- package/src/login/pages/LoginOauthGrant.tsx +5 -4
- package/src/login/pages/LoginOtp.tsx +5 -4
- package/src/login/pages/LoginPageExpired.tsx +5 -5
- package/src/login/pages/LoginPassword.tsx +4 -4
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +10 -5
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +5 -4
- package/src/login/pages/LoginResetOtp.tsx +5 -4
- package/src/login/pages/LoginResetPassword.tsx +5 -4
- package/src/login/pages/LoginUpdatePassword.tsx +4 -4
- package/src/login/pages/LoginUpdateProfile.tsx +6 -4
- package/src/login/pages/LoginUsername.tsx +5 -4
- package/src/login/pages/LoginVerifyEmail.tsx +5 -4
- package/src/login/pages/LoginX509Info.tsx +5 -5
- package/src/login/pages/LogoutConfirm.tsx +5 -5
- package/src/login/pages/PageProps.ts +4 -4
- package/src/login/pages/Register.tsx +12 -5
- package/src/login/pages/SamlPostForm.tsx +5 -5
- package/src/login/pages/SelectAuthenticator.tsx +5 -4
- package/src/login/pages/Terms.tsx +12 -5
- package/src/login/pages/UpdateEmail.tsx +5 -4
- package/src/login/pages/WebauthnAuthenticate.tsx +5 -4
- package/src/login/pages/WebauthnError.tsx +12 -5
- package/src/login/pages/WebauthnRegister.tsx +4 -4
- package/vite-plugin/index.js +48 -24
- package/account/Fallback.d.ts +0 -4
- package/account/Fallback.js.map +0 -1
- package/login/Fallback.js.map +0 -1
@@ -1,10 +1,10 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function DeleteAccountConfirm(props: PageProps<Extract<KcContext, { pageId: "delete-account-confirm.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function DeleteAccountConfirm(props: PageProps<Extract<KcContext, { pageId: "delete-account-confirm.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { kcClsx } = getKcClsx({
|
10
10
|
doUseDefaultCss,
|
@@ -13,10 +13,10 @@ export default function DeleteAccountConfirm(props: PageProps<Extract<KcContext,
|
|
13
13
|
|
14
14
|
const { url, triggered_from_aia } = kcContext;
|
15
15
|
|
16
|
-
const { msg, msgStr } =
|
16
|
+
const { msg, msgStr } = i18n;
|
17
17
|
|
18
18
|
return (
|
19
|
-
<Template kcContext={kcContext} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("deleteAccountConfirm")}>
|
19
|
+
<Template kcContext={kcContext} i18n={i18n} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("deleteAccountConfirm")}>
|
20
20
|
<form action={url.loginAction} className="form-vertical" method="post">
|
21
21
|
<div className="alert alert-warning" style={{ marginTop: "0", marginBottom: "30px" }}>
|
22
22
|
<span className="pficon pficon-warning-triangle-o"></span>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function DeleteCredential(props: PageProps<Extract<KcContext, { pageId: "delete-credential.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function DeleteCredential(props: PageProps<Extract<KcContext, { pageId: "delete-credential.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
|
-
const { msgStr, msg } =
|
9
|
+
const { msgStr, msg } = i18n;
|
10
10
|
|
11
11
|
const { kcClsx } = getKcClsx({
|
12
12
|
doUseDefaultCss,
|
@@ -18,6 +18,7 @@ export default function DeleteCredential(props: PageProps<Extract<KcContext, { p
|
|
18
18
|
return (
|
19
19
|
<Template
|
20
20
|
kcContext={kcContext}
|
21
|
+
i18n={i18n}
|
21
22
|
doUseDefaultCss={doUseDefaultCss}
|
22
23
|
classes={classes}
|
23
24
|
displayMessage={false}
|
@@ -1,16 +1,23 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
2
|
import type { KcContext } from "../KcContext";
|
3
|
-
import {
|
3
|
+
import type { I18n } from "../i18n";
|
4
4
|
|
5
|
-
export default function Error(props: PageProps<Extract<KcContext, { pageId: "error.ftl" }
|
6
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
5
|
+
export default function Error(props: PageProps<Extract<KcContext, { pageId: "error.ftl" }>, I18n>) {
|
6
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
7
7
|
|
8
8
|
const { message, client, skipLink } = kcContext;
|
9
9
|
|
10
|
-
const { msg } =
|
10
|
+
const { msg } = i18n;
|
11
11
|
|
12
12
|
return (
|
13
|
-
<Template
|
13
|
+
<Template
|
14
|
+
kcContext={kcContext}
|
15
|
+
i18n={i18n}
|
16
|
+
doUseDefaultCss={doUseDefaultCss}
|
17
|
+
classes={classes}
|
18
|
+
displayMessage={false}
|
19
|
+
headerNode={msg("errorTitle")}
|
20
|
+
>
|
14
21
|
<div id="kc-error-message">
|
15
22
|
<p className="instruction">{message.summary}</p>
|
16
23
|
{!skipLink && client !== undefined && client.baseUrl !== undefined && (
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function FrontchannelLogout(props: PageProps<Extract<KcContext, { pageId: "frontchannel-logout.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function FrontchannelLogout(props: PageProps<Extract<KcContext, { pageId: "frontchannel-logout.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { logout } = kcContext;
|
10
10
|
|
11
|
-
const { msg, msgStr } =
|
11
|
+
const { msg, msgStr } = i18n;
|
12
12
|
|
13
13
|
useEffect(() => {
|
14
14
|
if (logout.logoutRedirectUri) {
|
@@ -19,6 +19,7 @@ export default function FrontchannelLogout(props: PageProps<Extract<KcContext, {
|
|
19
19
|
return (
|
20
20
|
<Template
|
21
21
|
kcContext={kcContext}
|
22
|
+
i18n={i18n}
|
22
23
|
doUseDefaultCss={doUseDefaultCss}
|
23
24
|
classes={classes}
|
24
25
|
documentTitle={msgStr("frontchannel-logout.title")}
|
@@ -4,22 +4,22 @@ import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
6
6
|
import type { KcContext } from "../KcContext";
|
7
|
-
import {
|
7
|
+
import type { I18n } from "../i18n";
|
8
8
|
|
9
|
-
type IdpReviewUserProfileProps = PageProps<Extract<KcContext, { pageId: "idp-review-user-profile.ftl" }
|
9
|
+
type IdpReviewUserProfileProps = PageProps<Extract<KcContext, { pageId: "idp-review-user-profile.ftl" }>, I18n> & {
|
10
10
|
UserProfileFormFields: LazyOrNot<(props: UserProfileFormFieldsProps) => JSX.Element>;
|
11
11
|
doMakeUserConfirmPassword: boolean;
|
12
12
|
};
|
13
13
|
|
14
14
|
export default function IdpReviewUserProfile(props: IdpReviewUserProfileProps) {
|
15
|
-
const { kcContext, doUseDefaultCss, Template, classes, UserProfileFormFields, doMakeUserConfirmPassword } = props;
|
15
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes, UserProfileFormFields, doMakeUserConfirmPassword } = props;
|
16
16
|
|
17
17
|
const { kcClsx } = getKcClsx({
|
18
18
|
doUseDefaultCss,
|
19
19
|
classes
|
20
20
|
});
|
21
21
|
|
22
|
-
const { msg, msgStr } =
|
22
|
+
const { msg, msgStr } = i18n;
|
23
23
|
|
24
24
|
const { url, messagesPerField } = kcContext;
|
25
25
|
|
@@ -28,6 +28,7 @@ export default function IdpReviewUserProfile(props: IdpReviewUserProfileProps) {
|
|
28
28
|
return (
|
29
29
|
<Template
|
30
30
|
kcContext={kcContext}
|
31
|
+
i18n={i18n}
|
31
32
|
doUseDefaultCss={doUseDefaultCss}
|
32
33
|
classes={classes}
|
33
34
|
displayMessage={messagesPerField.exists("global")}
|
@@ -37,6 +38,7 @@ export default function IdpReviewUserProfile(props: IdpReviewUserProfileProps) {
|
|
37
38
|
<form id="kc-idp-review-profile-form" className={kcClsx("kcFormClass")} action={url.loginAction} method="post">
|
38
39
|
<UserProfileFormFields
|
39
40
|
kcContext={kcContext}
|
41
|
+
i18n={i18n}
|
40
42
|
onIsFormSubmittableValueChange={setIsFomSubmittable}
|
41
43
|
kcClsx={kcClsx}
|
42
44
|
doMakeUserConfirmPassword={doMakeUserConfirmPassword}
|
package/src/login/pages/Info.tsx
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import { assert } from "keycloakify/tools/assert";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function Info(props: PageProps<Extract<KcContext, { pageId: "info.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function Info(props: PageProps<Extract<KcContext, { pageId: "info.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
|
-
const { msgStr, msg } =
|
9
|
+
const { msgStr, msg } = i18n;
|
10
10
|
|
11
11
|
assert(
|
12
12
|
kcContext.message !== undefined,
|
@@ -18,6 +18,7 @@ export default function Info(props: PageProps<Extract<KcContext, { pageId: "info
|
|
18
18
|
return (
|
19
19
|
<Template
|
20
20
|
kcContext={kcContext}
|
21
|
+
i18n={i18n}
|
21
22
|
doUseDefaultCss={doUseDefaultCss}
|
22
23
|
classes={classes}
|
23
24
|
displayMessage={false}
|
@@ -4,10 +4,10 @@ import { clsx } from "keycloakify/tools/clsx";
|
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx";
|
6
6
|
import type { KcContext } from "../KcContext";
|
7
|
-
import {
|
7
|
+
import type { I18n } from "../i18n";
|
8
8
|
|
9
|
-
export default function Login(props: PageProps<Extract<KcContext, { pageId: "login.ftl" }
|
10
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
9
|
+
export default function Login(props: PageProps<Extract<KcContext, { pageId: "login.ftl" }>, I18n>) {
|
10
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
11
11
|
|
12
12
|
const { kcClsx } = getKcClsx({
|
13
13
|
doUseDefaultCss,
|
@@ -16,7 +16,6 @@ export default function Login(props: PageProps<Extract<KcContext, { pageId: "log
|
|
16
16
|
|
17
17
|
const { social, realm, url, usernameHidden, login, auth, registrationDisabled, messagesPerField } = kcContext;
|
18
18
|
|
19
|
-
const i18n = useI18n({ kcContext });
|
20
19
|
const { msg, msgStr } = i18n;
|
21
20
|
|
22
21
|
const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
|
@@ -24,6 +23,7 @@ export default function Login(props: PageProps<Extract<KcContext, { pageId: "log
|
|
24
23
|
return (
|
25
24
|
<Template
|
26
25
|
kcContext={kcContext}
|
26
|
+
i18n={i18n}
|
27
27
|
doUseDefaultCss={doUseDefaultCss}
|
28
28
|
classes={classes}
|
29
29
|
displayMessage={!messagesPerField.existsError("username", "password")}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { getKcClsx, KcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function LoginConfigTotp(props: PageProps<Extract<KcContext, { pageId: "login-config-totp.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function LoginConfigTotp(props: PageProps<Extract<KcContext, { pageId: "login-config-totp.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { kcClsx } = getKcClsx({
|
10
10
|
doUseDefaultCss,
|
@@ -13,12 +13,10 @@ export default function LoginConfigTotp(props: PageProps<Extract<KcContext, { pa
|
|
13
13
|
|
14
14
|
const { url, isAppInitiatedAction, totp, mode, messagesPerField } = kcContext;
|
15
15
|
|
16
|
-
const i18n = useI18n({ kcContext });
|
17
|
-
|
18
16
|
const { msg, msgStr, advancedMsg } = i18n;
|
19
17
|
|
20
18
|
return (
|
21
|
-
<Template kcContext={kcContext} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("loginTotpTitle")}>
|
19
|
+
<Template kcContext={kcContext} i18n={i18n} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("loginTotpTitle")}>
|
22
20
|
<>
|
23
21
|
<ol id="kc-totp-settings">
|
24
22
|
<li>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function LoginIdpLinkConfirm(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-confirm.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function LoginIdpLinkConfirm(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-confirm.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { kcClsx } = getKcClsx({
|
10
10
|
doUseDefaultCss,
|
@@ -13,10 +13,10 @@ export default function LoginIdpLinkConfirm(props: PageProps<Extract<KcContext,
|
|
13
13
|
|
14
14
|
const { url, idpAlias } = kcContext;
|
15
15
|
|
16
|
-
const { msg } =
|
16
|
+
const { msg } = i18n;
|
17
17
|
|
18
18
|
return (
|
19
|
-
<Template kcContext={kcContext} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("confirmLinkIdpTitle")}>
|
19
|
+
<Template kcContext={kcContext} i18n={i18n} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("confirmLinkIdpTitle")}>
|
20
20
|
<form id="kc-register-form" action={url.loginAction} method="post">
|
21
21
|
<div className={kcClsx("kcFormGroupClass")}>
|
22
22
|
<button
|
@@ -1,16 +1,22 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
2
|
import type { KcContext } from "../KcContext";
|
3
|
-
import {
|
3
|
+
import type { I18n } from "../i18n";
|
4
4
|
|
5
|
-
export default function LoginIdpLinkEmail(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-email.ftl" }
|
6
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
5
|
+
export default function LoginIdpLinkEmail(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-email.ftl" }>, I18n>) {
|
6
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
7
7
|
|
8
8
|
const { url, realm, brokerContext, idpAlias } = kcContext;
|
9
9
|
|
10
|
-
const { msg } =
|
10
|
+
const { msg } = i18n;
|
11
11
|
|
12
12
|
return (
|
13
|
-
<Template
|
13
|
+
<Template
|
14
|
+
kcContext={kcContext}
|
15
|
+
i18n={i18n}
|
16
|
+
doUseDefaultCss={doUseDefaultCss}
|
17
|
+
classes={classes}
|
18
|
+
headerNode={msg("emailLinkIdpTitle", idpAlias)}
|
19
|
+
>
|
14
20
|
<p id="instruction1" className="instruction">
|
15
21
|
{msg("emailLinkIdp1", idpAlias, brokerContext.username, realm.displayName)}
|
16
22
|
</p>
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
6
|
export default function LoginOauth2DeviceVerifyUserCode(
|
7
|
-
props: PageProps<Extract<KcContext, { pageId: "login-oauth2-device-verify-user-code.ftl" }
|
7
|
+
props: PageProps<Extract<KcContext, { pageId: "login-oauth2-device-verify-user-code.ftl" }>, I18n>
|
8
8
|
) {
|
9
|
-
const { kcContext, doUseDefaultCss, classes, Template } = props;
|
9
|
+
const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
|
10
10
|
const { url } = kcContext;
|
11
11
|
|
12
|
-
const { msg, msgStr } =
|
12
|
+
const { msg, msgStr } = i18n;
|
13
13
|
|
14
14
|
const { kcClsx } = getKcClsx({
|
15
15
|
doUseDefaultCss,
|
@@ -17,7 +17,13 @@ export default function LoginOauth2DeviceVerifyUserCode(
|
|
17
17
|
});
|
18
18
|
|
19
19
|
return (
|
20
|
-
<Template
|
20
|
+
<Template
|
21
|
+
kcContext={kcContext}
|
22
|
+
i18n={i18n}
|
23
|
+
doUseDefaultCss={doUseDefaultCss}
|
24
|
+
classes={classes}
|
25
|
+
headerNode={msg("oauth2DeviceVerificationTitle")}
|
26
|
+
>
|
21
27
|
<form
|
22
28
|
id="kc-user-verify-device-user-code-form"
|
23
29
|
className={kcClsx("kcFormClass")}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pageId: "login-oauth-grant.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, classes, Template } = props;
|
6
|
+
export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pageId: "login-oauth-grant.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
|
8
8
|
const { url, oauth, client } = kcContext;
|
9
9
|
|
10
|
-
const { msg, msgStr, advancedMsg, advancedMsgStr } =
|
10
|
+
const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
|
11
11
|
|
12
12
|
const { kcClsx } = getKcClsx({
|
13
13
|
doUseDefaultCss,
|
@@ -17,6 +17,7 @@ export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pa
|
|
17
17
|
return (
|
18
18
|
<Template
|
19
19
|
kcContext={kcContext}
|
20
|
+
i18n={i18n}
|
20
21
|
doUseDefaultCss={doUseDefaultCss}
|
21
22
|
classes={classes}
|
22
23
|
bodyClassName="oauth"
|
@@ -2,10 +2,10 @@ import { Fragment } from "react";
|
|
2
2
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
3
3
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
4
|
import type { KcContext } from "../KcContext";
|
5
|
-
import {
|
5
|
+
import type { I18n } from "../i18n";
|
6
6
|
|
7
|
-
export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "login-otp.ftl" }
|
8
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
7
|
+
export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "login-otp.ftl" }>, I18n>) {
|
8
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
9
9
|
|
10
10
|
const { kcClsx } = getKcClsx({
|
11
11
|
doUseDefaultCss,
|
@@ -14,11 +14,12 @@ export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "
|
|
14
14
|
|
15
15
|
const { otpLogin, url, messagesPerField } = kcContext;
|
16
16
|
|
17
|
-
const { msg, msgStr } =
|
17
|
+
const { msg, msgStr } = i18n;
|
18
18
|
|
19
19
|
return (
|
20
20
|
<Template
|
21
21
|
kcContext={kcContext}
|
22
|
+
i18n={i18n}
|
22
23
|
doUseDefaultCss={doUseDefaultCss}
|
23
24
|
classes={classes}
|
24
25
|
displayMessage={!messagesPerField.existsError("totp")}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
2
|
import type { KcContext } from "../KcContext";
|
3
|
-
import {
|
3
|
+
import type { I18n } from "../i18n";
|
4
4
|
|
5
|
-
export default function LoginPageExpired(props: PageProps<Extract<KcContext, { pageId: "login-page-expired.ftl" }
|
6
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
5
|
+
export default function LoginPageExpired(props: PageProps<Extract<KcContext, { pageId: "login-page-expired.ftl" }>, I18n>) {
|
6
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
7
7
|
|
8
8
|
const { url } = kcContext;
|
9
9
|
|
10
|
-
const { msg } =
|
10
|
+
const { msg } = i18n;
|
11
11
|
|
12
12
|
return (
|
13
|
-
<Template kcContext={kcContext} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("pageExpiredTitle")}>
|
13
|
+
<Template kcContext={kcContext} i18n={i18n} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("pageExpiredTitle")}>
|
14
14
|
<p id="instruction1" className="instruction">
|
15
15
|
{msg("pageExpiredMsg1")}
|
16
16
|
<a id="loginRestartLink" href={url.loginRestartFlowUrl}>
|
@@ -4,10 +4,10 @@ import { assert } from "tsafe/assert";
|
|
4
4
|
import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx";
|
5
5
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
6
|
import type { KcContext } from "../KcContext";
|
7
|
-
import {
|
7
|
+
import type { I18n } from "../i18n";
|
8
8
|
|
9
|
-
export default function LoginPassword(props: PageProps<Extract<KcContext, { pageId: "login-password.ftl" }
|
10
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
9
|
+
export default function LoginPassword(props: PageProps<Extract<KcContext, { pageId: "login-password.ftl" }>, I18n>) {
|
10
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
11
11
|
|
12
12
|
const { kcClsx } = getKcClsx({
|
13
13
|
doUseDefaultCss,
|
@@ -16,7 +16,6 @@ export default function LoginPassword(props: PageProps<Extract<KcContext, { page
|
|
16
16
|
|
17
17
|
const { realm, url, messagesPerField } = kcContext;
|
18
18
|
|
19
|
-
const i18n = useI18n({ kcContext });
|
20
19
|
const { msg, msgStr } = i18n;
|
21
20
|
|
22
21
|
const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
|
@@ -24,6 +23,7 @@ export default function LoginPassword(props: PageProps<Extract<KcContext, { page
|
|
24
23
|
return (
|
25
24
|
<Template
|
26
25
|
kcContext={kcContext}
|
26
|
+
i18n={i18n}
|
27
27
|
doUseDefaultCss={doUseDefaultCss}
|
28
28
|
classes={classes}
|
29
29
|
headerNode={msg("doLogIn")}
|
@@ -4,10 +4,10 @@ import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx";
|
|
4
4
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
5
5
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
6
|
import type { KcContext } from "../KcContext";
|
7
|
-
import {
|
7
|
+
import type { I18n } from "../i18n";
|
8
8
|
|
9
|
-
export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-config.ftl" }
|
10
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
9
|
+
export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-config.ftl" }>, I18n>) {
|
10
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
11
11
|
|
12
12
|
const { kcClsx } = getKcClsx({
|
13
13
|
doUseDefaultCss,
|
@@ -16,7 +16,6 @@ export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<Kc
|
|
16
16
|
|
17
17
|
const { recoveryAuthnCodesConfigBean, isAppInitiatedAction } = kcContext;
|
18
18
|
|
19
|
-
const i18n = useI18n({ kcContext });
|
20
19
|
const { msg, msgStr } = i18n;
|
21
20
|
|
22
21
|
const { insertScriptTags } = useInsertScriptTags({
|
@@ -145,7 +144,13 @@ export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<Kc
|
|
145
144
|
}, []);
|
146
145
|
|
147
146
|
return (
|
148
|
-
<Template
|
147
|
+
<Template
|
148
|
+
kcContext={kcContext}
|
149
|
+
i18n={i18n}
|
150
|
+
doUseDefaultCss={doUseDefaultCss}
|
151
|
+
classes={classes}
|
152
|
+
headerNode={msg("recovery-code-config-header")}
|
153
|
+
>
|
149
154
|
<div className={clsx("pf-c-alert", "pf-m-warning", "pf-m-inline", kcClsx("kcRecoveryCodesWarning"))} aria-label="Warning alert">
|
150
155
|
<div className="pf-c-alert__icon">
|
151
156
|
<i className="pficon-warning-triangle-o" aria-hidden="true" />
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function LoginRecoveryAuthnCodeInput(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-input.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function LoginRecoveryAuthnCodeInput(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-input.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { kcClsx } = getKcClsx({
|
10
10
|
doUseDefaultCss,
|
@@ -13,11 +13,12 @@ export default function LoginRecoveryAuthnCodeInput(props: PageProps<Extract<KcC
|
|
13
13
|
|
14
14
|
const { url, messagesPerField, recoveryAuthnCodesInputBean } = kcContext;
|
15
15
|
|
16
|
-
const { msg, msgStr } =
|
16
|
+
const { msg, msgStr } = i18n;
|
17
17
|
|
18
18
|
return (
|
19
19
|
<Template
|
20
20
|
kcContext={kcContext}
|
21
|
+
i18n={i18n}
|
21
22
|
doUseDefaultCss={doUseDefaultCss}
|
22
23
|
classes={classes}
|
23
24
|
headerNode={msg("auth-recovery-code-header")}
|
@@ -2,10 +2,10 @@ import { Fragment } from "react";
|
|
2
2
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
3
3
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
4
|
import type { KcContext } from "../KcContext";
|
5
|
-
import {
|
5
|
+
import type { I18n } from "../i18n";
|
6
6
|
|
7
|
-
export default function LoginResetOtp(props: PageProps<Extract<KcContext, { pageId: "login-reset-otp.ftl" }
|
8
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
7
|
+
export default function LoginResetOtp(props: PageProps<Extract<KcContext, { pageId: "login-reset-otp.ftl" }>, I18n>) {
|
8
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
9
9
|
|
10
10
|
const { kcClsx } = getKcClsx({
|
11
11
|
doUseDefaultCss,
|
@@ -14,11 +14,12 @@ export default function LoginResetOtp(props: PageProps<Extract<KcContext, { page
|
|
14
14
|
|
15
15
|
const { url, messagesPerField, configuredOtpCredentials } = kcContext;
|
16
16
|
|
17
|
-
const { msg, msgStr } =
|
17
|
+
const { msg, msgStr } = i18n;
|
18
18
|
|
19
19
|
return (
|
20
20
|
<Template
|
21
21
|
kcContext={kcContext}
|
22
|
+
i18n={i18n}
|
22
23
|
doUseDefaultCss={doUseDefaultCss}
|
23
24
|
classes={classes}
|
24
25
|
displayMessage={!messagesPerField.existsError("totp")}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
3
|
import type { KcContext } from "../KcContext";
|
4
|
-
import {
|
4
|
+
import type { I18n } from "../i18n";
|
5
5
|
|
6
|
-
export default function LoginResetPassword(props: PageProps<Extract<KcContext, { pageId: "login-reset-password.ftl" }
|
7
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
6
|
+
export default function LoginResetPassword(props: PageProps<Extract<KcContext, { pageId: "login-reset-password.ftl" }>, I18n>) {
|
7
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
8
8
|
|
9
9
|
const { kcClsx } = getKcClsx({
|
10
10
|
doUseDefaultCss,
|
@@ -13,11 +13,12 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
|
|
13
13
|
|
14
14
|
const { url, realm, auth, messagesPerField } = kcContext;
|
15
15
|
|
16
|
-
const { msg, msgStr } =
|
16
|
+
const { msg, msgStr } = i18n;
|
17
17
|
|
18
18
|
return (
|
19
19
|
<Template
|
20
20
|
kcContext={kcContext}
|
21
|
+
i18n={i18n}
|
21
22
|
doUseDefaultCss={doUseDefaultCss}
|
22
23
|
classes={classes}
|
23
24
|
displayInfo
|
@@ -3,17 +3,16 @@ import { assert } from "tsafe/assert";
|
|
3
3
|
import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx";
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import type { KcContext } from "../KcContext";
|
6
|
-
import {
|
6
|
+
import type { I18n } from "../i18n";
|
7
7
|
|
8
|
-
export default function LoginUpdatePassword(props: PageProps<Extract<KcContext, { pageId: "login-update-password.ftl" }
|
9
|
-
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
8
|
+
export default function LoginUpdatePassword(props: PageProps<Extract<KcContext, { pageId: "login-update-password.ftl" }>, I18n>) {
|
9
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
10
10
|
|
11
11
|
const { kcClsx } = getKcClsx({
|
12
12
|
doUseDefaultCss,
|
13
13
|
classes
|
14
14
|
});
|
15
15
|
|
16
|
-
const i18n = useI18n({ kcContext });
|
17
16
|
const { msg, msgStr } = i18n;
|
18
17
|
|
19
18
|
const { url, messagesPerField, isAppInitiatedAction } = kcContext;
|
@@ -21,6 +20,7 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
|
|
21
20
|
return (
|
22
21
|
<Template
|
23
22
|
kcContext={kcContext}
|
23
|
+
i18n={i18n}
|
24
24
|
doUseDefaultCss={doUseDefaultCss}
|
25
25
|
classes={classes}
|
26
26
|
displayMessage={!messagesPerField.existsError("password", "password-confirm")}
|
@@ -4,15 +4,15 @@ import { getKcClsx } from "keycloakify/login/lib/kcClsx";
|
|
4
4
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
5
5
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
6
|
import type { KcContext } from "../KcContext";
|
7
|
-
import {
|
7
|
+
import type { I18n } from "../i18n";
|
8
8
|
|
9
|
-
type LoginUpdateProfileProps = PageProps<Extract<KcContext, { pageId: "login-update-profile.ftl" }
|
9
|
+
type LoginUpdateProfileProps = PageProps<Extract<KcContext, { pageId: "login-update-profile.ftl" }>, I18n> & {
|
10
10
|
UserProfileFormFields: LazyOrNot<(props: UserProfileFormFieldsProps) => JSX.Element>;
|
11
11
|
doMakeUserConfirmPassword: boolean;
|
12
12
|
};
|
13
13
|
|
14
14
|
export default function LoginUpdateProfile(props: LoginUpdateProfileProps) {
|
15
|
-
const { kcContext, doUseDefaultCss, Template, classes, UserProfileFormFields, doMakeUserConfirmPassword } = props;
|
15
|
+
const { kcContext, i18n, doUseDefaultCss, Template, classes, UserProfileFormFields, doMakeUserConfirmPassword } = props;
|
16
16
|
|
17
17
|
const { kcClsx } = getKcClsx({
|
18
18
|
doUseDefaultCss,
|
@@ -21,13 +21,14 @@ export default function LoginUpdateProfile(props: LoginUpdateProfileProps) {
|
|
21
21
|
|
22
22
|
const { url, isAppInitiatedAction } = kcContext;
|
23
23
|
|
24
|
-
const { msg, msgStr } =
|
24
|
+
const { msg, msgStr } = i18n;
|
25
25
|
|
26
26
|
const [isFormSubmittable, setIsFormSubmittable] = useState(false);
|
27
27
|
|
28
28
|
return (
|
29
29
|
<Template
|
30
30
|
kcContext={kcContext}
|
31
|
+
i18n={i18n}
|
31
32
|
doUseDefaultCss={doUseDefaultCss}
|
32
33
|
classes={classes}
|
33
34
|
displayRequiredFields
|
@@ -36,6 +37,7 @@ export default function LoginUpdateProfile(props: LoginUpdateProfileProps) {
|
|
36
37
|
<form id="kc-update-profile-form" className={kcClsx("kcFormClass")} action={url.loginAction} method="post">
|
37
38
|
<UserProfileFormFields
|
38
39
|
kcContext={kcContext}
|
40
|
+
i18n={i18n}
|
39
41
|
kcClsx={kcClsx}
|
40
42
|
onIsFormSubmittableValueChange={setIsFormSubmittable}
|
41
43
|
doMakeUserConfirmPassword={doMakeUserConfirmPassword}
|