From 740d9b7af5e0ff763b90617e21c0a11c8af8f767 Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Sun, 7 Mar 2021 14:57:53 +0100 Subject: [PATCH] Implement login-reset-password.ftl --- .../build-keycloak-theme/generateFtl/index.ts | 2 +- .../generateFtl/login-reset-password.ftl | 7 ++ src/lib/components/KcApp.tsx | 4 +- src/lib/components/LoginResetPassword.tsx | 86 +++++++++++++++++++ src/lib/components/Template.tsx | 6 +- src/lib/kcContext.ts | 11 ++- 6 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 src/bin/build-keycloak-theme/generateFtl/login-reset-password.ftl create mode 100644 src/lib/components/LoginResetPassword.tsx diff --git a/src/bin/build-keycloak-theme/generateFtl/index.ts b/src/bin/build-keycloak-theme/generateFtl/index.ts index acd673aa..35626792 100644 --- a/src/bin/build-keycloak-theme/generateFtl/index.ts +++ b/src/bin/build-keycloak-theme/generateFtl/index.ts @@ -9,7 +9,7 @@ import fs from "fs"; import { join as pathJoin } from "path"; import { objectKeys } from "evt/tools/typeSafety/objectKeys"; -export const pageIds= [ "login.ftl", "register.ftl", "info.ftl", "error.ftl"] as const; +export const pageIds= [ "login.ftl", "register.ftl", "info.ftl", "error.ftl", "login-reset-password.ftl"] as const; export type PageId = typeof pageIds[number]; diff --git a/src/bin/build-keycloak-theme/generateFtl/login-reset-password.ftl b/src/bin/build-keycloak-theme/generateFtl/login-reset-password.ftl new file mode 100644 index 00000000..56d0b812 --- /dev/null +++ b/src/bin/build-keycloak-theme/generateFtl/login-reset-password.ftl @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/lib/components/KcApp.tsx b/src/lib/components/KcApp.tsx index d06ef9d5..3f4a72d9 100644 --- a/src/lib/components/KcApp.tsx +++ b/src/lib/components/KcApp.tsx @@ -6,7 +6,8 @@ import type { KcProps } from "./KcProps"; import { Login } from "./Login"; import { Register } from "./Register"; import { Info } from "./Info"; -import { Error } from "./Error"; +import { Error } from "./Error"; +import { LoginResetPassword } from "./LoginResetPassword"; export const KcApp = memo((props: KcProps) => { @@ -18,6 +19,7 @@ export const KcApp = memo((props: KcProps) => { case "register.ftl": return ; case "info.ftl": return ; case "error.ftl": return ; + case "login-reset-password.ftl": return ; } }); \ No newline at end of file diff --git a/src/lib/components/LoginResetPassword.tsx b/src/lib/components/LoginResetPassword.tsx new file mode 100644 index 00000000..e0f90544 --- /dev/null +++ b/src/lib/components/LoginResetPassword.tsx @@ -0,0 +1,86 @@ + +import { memo } from "react"; +import { Template } from "./Template"; +import type { KcProps } from "./KcProps"; +import { assert } from "../tools/assert"; +import { kcContext } from "../kcContext"; +import { useKcTranslation } from "../i18n/useKcTranslation"; +import { cx } from "tss-react"; + +export const LoginResetPassword = memo((props: KcProps) => { + + const { t, tStr } = useKcTranslation(); + + assert( + kcContext !== undefined && + kcContext.pageId === "login-reset-password.ftl" + ); + + const { + url, + realm, + auth + } = kcContext; + + return ( +