diff --git a/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts b/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts index f2bd3b95c..cdb0977e0 100644 --- a/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts +++ b/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts @@ -18,6 +18,7 @@ export const pageIds = [ "login-update-profile.ftl", "login-update-password.ftl", "login-idp-link-confirm.ftl", + "login-idp-link-email.ftl", "login-page-expired.ftl", ] as const; diff --git a/src/lib/components/KcApp.tsx b/src/lib/components/KcApp.tsx index 1538b666d..e060506cc 100644 --- a/src/lib/components/KcApp.tsx +++ b/src/lib/components/KcApp.tsx @@ -14,6 +14,7 @@ import { LoginUpdatePassword } from "./LoginUpdatePassword"; import { LoginUpdateProfile } from "./LoginUpdateProfile"; import { LoginIdpLinkConfirm } from "./LoginIdpLinkConfirm"; import { LoginPageExpired } from "./LoginPageExpired"; +import { LoginIdpLinkEmail } from "./LoginIdpLinkEmail"; export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } & KcProps) => { switch (kcContext.pageId) { @@ -41,6 +42,8 @@ export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } return ; case "login-idp-link-confirm.ftl": return ; + case "login-idp-link-email.ftl": + return ; case "login-page-expired.ftl": return ; } diff --git a/src/lib/components/LoginIdpLinkEmail.tsx b/src/lib/components/LoginIdpLinkEmail.tsx new file mode 100644 index 000000000..50534685d --- /dev/null +++ b/src/lib/components/LoginIdpLinkEmail.tsx @@ -0,0 +1,32 @@ +import { memo } from "react"; +import { Template } from "./Template"; +import type { KcProps } from "./KcProps"; +import type { KcContextBase } from "../getKcContext/KcContextBase"; +import { useKcMessage } from "../i18n/useKcMessage"; + +export const LoginIdpLinkEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkEmail } & KcProps) => { + const { url, realm, brokerContext, idpAlias } = kcContext; + + const { msg } = useKcMessage(); + + return ( +