diff --git a/src/login/pages/Register.tsx b/src/login/pages/Register.tsx
index a938a9c4..090e0c63 100644
--- a/src/login/pages/Register.tsx
+++ b/src/login/pages/Register.tsx
@@ -24,6 +24,7 @@ export default function Register(props: RegisterProps) {
const { msg, msgStr } = i18n;
const [isFormSubmittable, setIsFormSubmittable] = useState(false);
+ const [areTermsAccepted, setAreTermsAccepted] = useState(false);
return (
- {termsAcceptanceRequired && }
+ {termsAcceptanceRequired && (
+
+ )}
{recaptchaRequired && (
@@ -61,7 +70,7 @@ export default function Register(props: RegisterProps) {
}) {
- const { i18n, kcClsx, messagesPerField } = props;
+function TermsAcceptance(props: {
+ i18n: I18n;
+ kcClsx: KcClsx;
+ messagesPerField: Pick;
+ areTermsAccepted: boolean;
+ onAreTermsAcceptedValueChange: (areTermsAccepted: boolean) => void;
+}) {
+ const { i18n, kcClsx, messagesPerField, areTermsAccepted, onAreTermsAcceptedValueChange } = props;
const { msg } = i18n;
@@ -93,6 +108,8 @@ function TermsAcceptance(props: { i18n: I18n; kcClsx: KcClsx; messagesPerField:
id="termsAccepted"
name="termsAccepted"
className={kcClsx("kcCheckboxInputClass")}
+ checked={areTermsAccepted}
+ onChange={e => onAreTermsAcceptedValueChange(e.target.checked)}
aria-invalid={messagesPerField.existsError("termsAccepted")}
/>