From 2c7c8397f098d363ac6bca44cff8d76302d1448d Mon Sep 17 00:00:00 2001 From: garronej Date: Mon, 14 Jun 2021 21:19:46 +0200 Subject: [PATCH] Add login-idp-link-confirm.ftl --- .../build-keycloak-theme/generateFtl/index.ts | 3 +- .../generateFtl/login-idp-link-confirm.ftl | 11 ++++ src/lib/components/KcApp.tsx | 12 ++-- src/lib/components/LoginIdpLinkConfirm.tsx | 58 +++++++++++++++++++ src/lib/kcContext.ts | 8 ++- src/lib/kcContextMocks/index.ts | 6 ++ 6 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 src/bin/build-keycloak-theme/generateFtl/login-idp-link-confirm.ftl create mode 100644 src/lib/components/LoginIdpLinkConfirm.tsx diff --git a/src/bin/build-keycloak-theme/generateFtl/index.ts b/src/bin/build-keycloak-theme/generateFtl/index.ts index 8b770fa0..2ca60ffe 100644 --- a/src/bin/build-keycloak-theme/generateFtl/index.ts +++ b/src/bin/build-keycloak-theme/generateFtl/index.ts @@ -15,7 +15,8 @@ export const pageIds = [ "login.ftl", "register.ftl", "info.ftl", "error.ftl", "login-reset-password.ftl", "login-verify-email.ftl", "terms.ftl", - "login-otp.ftl", "login-update-profile.ftl" + "login-otp.ftl", "login-update-profile.ftl", + "login-idp-link-confirm.ftl" ] as const; export type PageId = typeof pageIds[number]; diff --git a/src/bin/build-keycloak-theme/generateFtl/login-idp-link-confirm.ftl b/src/bin/build-keycloak-theme/generateFtl/login-idp-link-confirm.ftl new file mode 100644 index 00000000..1bbecb76 --- /dev/null +++ b/src/bin/build-keycloak-theme/generateFtl/login-idp-link-confirm.ftl @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/src/lib/components/KcApp.tsx b/src/lib/components/KcApp.tsx index cc6912cd..c92f23e2 100644 --- a/src/lib/components/KcApp.tsx +++ b/src/lib/components/KcApp.tsx @@ -9,10 +9,11 @@ import { Error } from "./Error"; import { LoginResetPassword } from "./LoginResetPassword"; import { LoginVerifyEmail } from "./LoginVerifyEmail"; import { Terms } from "./Terms"; -import { LoginOtp } from "./LoginOtp"; -import { LoginUpdateProfile } from "./LoginUpdateProfile"; +import { LoginOtp } from "./LoginOtp"; +import { LoginUpdateProfile } from "./LoginUpdateProfile"; +import { LoginIdpLinkConfirm } from "./LoginIdpLinkConfirm"; -export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContext; } & KcProps ) => { +export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContext; } & KcProps) => { switch (kcContext.pageId) { case "login.ftl": return ; case "register.ftl": return ; @@ -20,8 +21,9 @@ export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContext; } & case "error.ftl": return ; case "login-reset-password.ftl": return ; case "login-verify-email.ftl": return ; - case "terms.ftl": return ; - case "login-otp.ftl": return ; + case "terms.ftl": return ; + case "login-otp.ftl": return ; case "login-update-profile.ftl": return ; + case "login-idp-link-confirm.ftl": return ; } }); \ No newline at end of file diff --git a/src/lib/components/LoginIdpLinkConfirm.tsx b/src/lib/components/LoginIdpLinkConfirm.tsx new file mode 100644 index 00000000..89448741 --- /dev/null +++ b/src/lib/components/LoginIdpLinkConfirm.tsx @@ -0,0 +1,58 @@ + +import { memo } from "react"; +import { Template } from "./Template"; +import type { KcProps } from "./KcProps"; +import type { KcContext } from "../KcContext"; +import { useKcMessage } from "../i18n/useKcMessage"; +import { cx } from "tss-react"; + +export const LoginIdpLinkConfirm = memo(({ kcContext, ...props }: { kcContext: KcContext.LoginIdpLinkConfirm; } & KcProps) => { + + const { msg } = useKcMessage(); + + const { url, idpAlias } = kcContext; + + return ( +