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
|
|
|
}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
|