+
+ {msg("termsText")}
+
+
+
+ >
+ }
+ />
+ );
+});
+
+
diff --git a/src/lib/i18n/generated_messages/account.ts b/src/lib/i18n/generated_messages/account.ts
index 0de6b708..fd5bf3a2 100644
--- a/src/lib/i18n/generated_messages/account.ts
+++ b/src/lib/i18n/generated_messages/account.ts
@@ -3060,5 +3060,5 @@ export const messages= {
"locale_ru": "Русский",
"locale_zh-CN": "中文简体"
}
-} as const;
+};
/* spell-checker: enable */
\ No newline at end of file
diff --git a/src/lib/i18n/generated_messages/admin.ts b/src/lib/i18n/generated_messages/admin.ts
index 198dfed3..c43ad309 100644
--- a/src/lib/i18n/generated_messages/admin.ts
+++ b/src/lib/i18n/generated_messages/admin.ts
@@ -240,5 +240,5 @@ export const messages= {
"pairwiseFailedToGetRedirectURIs": "无法从服务器获得重定向URL",
"pairwiseRedirectURIsMismatch": "客户端的重定向URI与服务器端获取的URI配置不匹配。"
}
-} as const;
+};
/* spell-checker: enable */
\ No newline at end of file
diff --git a/src/lib/i18n/generated_messages/email.ts b/src/lib/i18n/generated_messages/email.ts
index ad1a2c70..2d94b032 100644
--- a/src/lib/i18n/generated_messages/email.ts
+++ b/src/lib/i18n/generated_messages/email.ts
@@ -634,5 +634,5 @@ export const messages= {
"eventUpdateTotpBody": "您账户的OTP 配置在{0} 由 {1}更改. 如非本人操作,请联系管理员。",
"eventUpdateTotpBodyHtml": "您账户的OTP 配置在{0} 由 {1}更改. 如非本人操作,请联系管理员。
"
}
-} as const;
+};
/* spell-checker: enable */
\ No newline at end of file
diff --git a/src/lib/i18n/generated_messages/login.ts b/src/lib/i18n/generated_messages/login.ts
index a49d24e2..aa862552 100644
--- a/src/lib/i18n/generated_messages/login.ts
+++ b/src/lib/i18n/generated_messages/login.ts
@@ -4360,5 +4360,5 @@ export const messages= {
"invalidParameterMessage": "无效的参数 : {0}",
"alreadyLoggedIn": "您已经登录"
}
-} as const;
+};
/* spell-checker: enable */
\ No newline at end of file
diff --git a/src/lib/i18n/useKcMessage.tsx b/src/lib/i18n/useKcMessage.tsx
index a4ee0967..ade551b3 100644
--- a/src/lib/i18n/useKcMessage.tsx
+++ b/src/lib/i18n/useKcMessage.tsx
@@ -1,9 +1,10 @@
-import { useCallback } from "react";
+import { useCallback } from "react";
import { useKcLanguageTag } from "./useKcLanguageTag";
import { messages } from "./generated_messages/login";
import type { ReactNode } from "react";
-import { id } from "evt/tools/typeSafety/id";
+//@ts-ignore
+import * as markdown from "markdown";
export type MessageKey = keyof typeof messages["en"];
@@ -32,11 +33,16 @@ export function useKcMessage() {
[kcLanguageTag]
);
- const msg = useCallback(
- id<(...args: Parameters) => ReactNode>(
- (key, ...args) =>
-
- ),
+ const msg = useCallback<(...args: Parameters) => ReactNode>(
+ (key, ...args) =>
+
+ ,
[kcLanguageTag]
);
diff --git a/src/lib/kcContext.ts b/src/lib/kcContext.ts
index c0eb7037..c4984815 100644
--- a/src/lib/kcContext.ts
+++ b/src/lib/kcContext.ts
@@ -16,7 +16,8 @@ type ExtractAfterStartingWith =
*/
export type KcContext =
KcContext.Login | KcContext.Register | KcContext.Info |
- KcContext.Error | KcContext.LoginResetPassword | KcContext.LoginVerifyEmail;
+ KcContext.Error | KcContext.LoginResetPassword | KcContext.LoginVerifyEmail |
+ KcContext.Terms;
export declare namespace KcContext {
@@ -155,6 +156,10 @@ export declare namespace KcContext {
pageId: "login-verify-email.ftl";
};
+ export type Terms = Common & {
+ pageId: "terms.ftl";
+ };
+
}
doExtends();
diff --git a/src/lib/kcContextMocks/index.ts b/src/lib/kcContextMocks/index.ts
index c90104ce..aba49f62 100644
--- a/src/lib/kcContextMocks/index.ts
+++ b/src/lib/kcContextMocks/index.ts
@@ -199,3 +199,8 @@ export const kcLoginVerifyEmailContext: KcContext.LoginVerifyEmail = {
"pageId": "login-verify-email.ftl"
};
+export const kcTermContext: KcContext.Terms = {
+ ...kcCommonContext,
+ "pageId": "terms.ftl"
+};
+