2022-07-30 00:42:07 +02:00
|
|
|
import React, { memo } from "react";
|
2022-09-01 15:13:24 +02:00
|
|
|
import { useCssAndCx } from "../tools/useCssAndCx";
|
2022-07-29 01:31:55 +02:00
|
|
|
import Template from "./Template";
|
2022-06-17 00:47:55 +02:00
|
|
|
import type { KcProps } from "./KcProps";
|
|
|
|
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
2022-07-31 22:30:32 +02:00
|
|
|
import type { I18n } from "../i18n";
|
2022-06-17 00:47:55 +02:00
|
|
|
|
2022-09-27 21:30:33 +02:00
|
|
|
const LogoutConfirm = memo(
|
|
|
|
({
|
|
|
|
kcContext,
|
|
|
|
i18n,
|
|
|
|
doFetchDefaultThemeResources = true,
|
|
|
|
...props
|
|
|
|
}: { kcContext: KcContextBase.LogoutConfirm; i18n: I18n; doFetchDefaultThemeResources?: boolean } & KcProps) => {
|
|
|
|
const { url, client, logoutConfirm } = kcContext;
|
2022-06-17 00:47:55 +02:00
|
|
|
|
2022-09-27 21:30:33 +02:00
|
|
|
const { cx } = useCssAndCx();
|
2022-06-17 00:47:55 +02:00
|
|
|
|
2022-09-27 21:30:33 +02:00
|
|
|
const { msg, msgStr } = i18n;
|
2022-06-17 00:47:55 +02:00
|
|
|
|
2022-09-27 21:30:33 +02:00
|
|
|
return (
|
|
|
|
<Template
|
|
|
|
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...props }}
|
|
|
|
displayMessage={false}
|
|
|
|
headerNode={msg("logoutConfirmTitle")}
|
|
|
|
formNode={
|
|
|
|
<>
|
|
|
|
<div id="kc-logout-confirm" className="content-area">
|
|
|
|
<p className="instruction">{msg("logoutConfirmHeader")}</p>
|
|
|
|
<form className="form-actions" action={url.logoutConfirmAction} method="POST">
|
|
|
|
<input type="hidden" name="session_code" value={logoutConfirm.code} />
|
|
|
|
<div className={cx(props.kcFormGroupClass)}>
|
|
|
|
<div id="kc-form-options">
|
|
|
|
<div className={cx(props.kcFormOptionsWrapperClass)}></div>
|
|
|
|
</div>
|
|
|
|
<div id="kc-form-buttons" className={cx(props.kcFormGroupClass)}>
|
|
|
|
<input
|
|
|
|
tabIndex={4}
|
|
|
|
className={cx(
|
|
|
|
props.kcButtonClass,
|
|
|
|
props.kcButtonPrimaryClass,
|
|
|
|
props.kcButtonBlockClass,
|
|
|
|
props.kcButtonLargeClass
|
|
|
|
)}
|
|
|
|
name="confirmLogout"
|
|
|
|
id="kc-logout"
|
|
|
|
type="submit"
|
|
|
|
value={msgStr("doLogout")}
|
|
|
|
/>
|
|
|
|
</div>
|
2022-06-17 00:47:55 +02:00
|
|
|
</div>
|
2022-09-27 21:30:33 +02:00
|
|
|
</form>
|
|
|
|
<div id="kc-info-message">
|
|
|
|
{!logoutConfirm.skipLink && client.baseUrl && (
|
|
|
|
<p>
|
|
|
|
<a href={client.baseUrl} dangerouslySetInnerHTML={{ __html: msgStr("backToApplication") }} />
|
|
|
|
</p>
|
|
|
|
)}
|
2022-06-17 00:47:55 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-09-27 21:30:33 +02:00
|
|
|
</>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
);
|
2022-07-29 01:31:55 +02:00
|
|
|
|
|
|
|
export default LogoutConfirm;
|