diff --git a/package.json b/package.json index 8ae9a8c7..81cf29c8 100755 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ }, "devDependencies": { "@emotion/react": "^11.4.1", + "@types/memoizee": "^0.4.7", "@types/node": "^17.0.25", "@types/react": "^17.0.0", "copyfiles": "^2.4.1", @@ -77,6 +78,7 @@ "cheerio": "^1.0.0-rc.5", "cli-select": "^1.1.2", "evt": "2.0.0-beta.39", + "memoizee": "^0.4.15", "minimal-polyfills": "^2.2.1", "path-browserify": "^1.0.1", "powerhooks": "^0.14.0", diff --git a/src/lib/components/Error.tsx b/src/lib/components/Error.tsx index e1d31148..1de141e5 100644 --- a/src/lib/components/Error.tsx +++ b/src/lib/components/Error.tsx @@ -2,10 +2,10 @@ import { memo } from "react"; import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; -import { useKcMessage } from "../i18n/useKcMessage"; +import { getMsg } from "../i18n"; export const Error = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Error } & KcProps) => { - const { msg } = useKcMessage(); + const { msg } = getMsg(kcContext); const { message, client } = kcContext; diff --git a/src/lib/components/Info.tsx b/src/lib/components/Info.tsx index 40a593bd..74160fe6 100644 --- a/src/lib/components/Info.tsx +++ b/src/lib/components/Info.tsx @@ -3,10 +3,10 @@ import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import { assert } from "../tools/assert"; import type { KcContextBase } from "../getKcContext/KcContextBase"; -import { useKcMessage } from "../i18n/useKcMessage"; +import { getMsg } from "../i18n"; export const Info = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Info } & KcProps) => { - const { msg } = useKcMessage(); + const { msg } = getMsg(kcContext); assert(kcContext.message !== undefined); diff --git a/src/lib/components/Login.tsx b/src/lib/components/Login.tsx index 8c6f6691..de807e9e 100644 --- a/src/lib/components/Login.tsx +++ b/src/lib/components/Login.tsx @@ -2,7 +2,7 @@ import { useState, memo } from "react"; import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; -import { useKcMessage } from "../i18n/useKcMessage"; +import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; import { useConstCallback } from "powerhooks/useConstCallback"; import type { FormEventHandler } from "react"; @@ -10,7 +10,7 @@ import type { FormEventHandler } from "react"; export const Login = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Login } & KcProps) => { const { social, realm, url, usernameEditDisabled, login, auth, registrationDisabled } = kcContext; - const { msg, msgStr } = useKcMessage(); + const { msg, msgStr } = getMsg(kcContext); const { cx } = useCssAndCx(); diff --git a/src/lib/components/LoginIdpLinkConfirm.tsx b/src/lib/components/LoginIdpLinkConfirm.tsx index 803ab1a0..658aa7ac 100644 --- a/src/lib/components/LoginIdpLinkConfirm.tsx +++ b/src/lib/components/LoginIdpLinkConfirm.tsx @@ -2,13 +2,13 @@ import { memo } from "react"; import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; -import { useKcMessage } from "../i18n/useKcMessage"; +import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; export const LoginIdpLinkConfirm = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkConfirm } & KcProps) => { const { url, idpAlias } = kcContext; - const { msg } = useKcMessage(); + const { msg } = getMsg(kcContext); const { cx } = useCssAndCx(); diff --git a/src/lib/components/LoginIdpLinkEmail.tsx b/src/lib/components/LoginIdpLinkEmail.tsx index 50534685..5ddecf4d 100644 --- a/src/lib/components/LoginIdpLinkEmail.tsx +++ b/src/lib/components/LoginIdpLinkEmail.tsx @@ -2,12 +2,12 @@ import { memo } from "react"; import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; -import { useKcMessage } from "../i18n/useKcMessage"; +import { getMsg } from "../i18n"; export const LoginIdpLinkEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkEmail } & KcProps) => { const { url, realm, brokerContext, idpAlias } = kcContext; - const { msg } = useKcMessage(); + const { msg } = getMsg(kcContext); return (