40 lines
1.2 KiB
TypeScript
Raw Normal View History

2021-03-06 22:41:36 +01:00
import { memo } from "react";
import { Template } from "./Template";
import type { KcProps } from "./KcProps";
import { assert } from "../tools/assert";
2021-03-08 00:09:52 +01:00
import type { KcContext } from "../KcContext";
2021-03-07 15:37:37 +01:00
import { useKcMessage } from "../i18n/useKcMessage";
2021-03-06 22:41:36 +01:00
2021-03-08 00:09:52 +01:00
export const Error = memo(({ kcContext, ...props }: { kcContext: KcContext.Error; } & KcProps) => {
2021-03-06 22:41:36 +01:00
2021-03-07 15:37:37 +01:00
const { msg } = useKcMessage();
2021-03-06 22:41:36 +01:00
2021-03-08 00:09:52 +01:00
assert(kcContext.message !== undefined);
2021-03-06 22:41:36 +01:00
const { message, client } = kcContext;
return (
<Template
2021-03-08 00:09:52 +01:00
{...{ kcContext, ...props }}
2021-03-06 22:41:36 +01:00
displayMessage={false}
2021-03-07 15:37:37 +01:00
headerNode={msg("errorTitle")}
2021-03-06 22:41:36 +01:00
formNode={
2021-03-06 23:03:03 +01:00
<div id="kc-error-message">
<p className="instruction">{message.summary}</p>
{
client !== undefined && client.baseUrl !== undefined &&
<p>
<a id="backToApplication" href={client.baseUrl}>
2021-03-07 15:37:37 +01:00
{msg("backToApplication")}
2021-03-06 23:03:03 +01:00
</a>
</p>
}
</div>
2021-03-06 22:41:36 +01:00
}
/>
);
});