mirror of
https://github.com/formbricks/formbricks.git
synced 2026-02-14 18:18:47 -06:00
Compare commits
1 Commits
feature/fi
...
mattinannt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09d2e6edd8 |
@@ -121,13 +121,20 @@ export const DisableTwoFactorModal = ({ open, setOpen }: TDisableTwoFactorModalP
|
|||||||
<Controller
|
<Controller
|
||||||
name="code"
|
name="code"
|
||||||
control={control}
|
control={control}
|
||||||
render={({ field }) => (
|
render={({ field, formState: { errors } }) => (
|
||||||
<OTPInput
|
<>
|
||||||
value={field.value}
|
<OTPInput
|
||||||
valueLength={6}
|
value={field.value}
|
||||||
onChange={field.onChange}
|
valueLength={6}
|
||||||
containerClassName="justify-start mt-4"
|
onChange={field.onChange}
|
||||||
/>
|
containerClassName="justify-start mt-4"
|
||||||
|
/>
|
||||||
|
{errors.code && (
|
||||||
|
<p className="mt-2 text-sm text-red-600" id="code-error">
|
||||||
|
{errors.code.message}
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ type TEnableCodeProps = {
|
|||||||
refreshData: () => void;
|
refreshData: () => void;
|
||||||
};
|
};
|
||||||
const EnterCode = ({ setCurrentStep, setOpen, refreshData }: TEnableCodeProps) => {
|
const EnterCode = ({ setCurrentStep, setOpen, refreshData }: TEnableCodeProps) => {
|
||||||
const { control, handleSubmit } = useForm<TEnterCodeFormState>({
|
const { control, handleSubmit, setError } = useForm<TEnterCodeFormState>({
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
code: "",
|
code: "",
|
||||||
},
|
},
|
||||||
@@ -163,6 +163,9 @@ const EnterCode = ({ setCurrentStep, setOpen, refreshData }: TEnableCodeProps) =
|
|||||||
|
|
||||||
// refresh data to update the UI
|
// refresh data to update the UI
|
||||||
refreshData();
|
refreshData();
|
||||||
|
} else {
|
||||||
|
const errorMessage = getFormattedErrorMessage(enableTwoFactorAuthResponse);
|
||||||
|
setError("code", { message: errorMessage });
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
toast.error(err.message);
|
toast.error(err.message);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { Controller, useFormContext } from "react-hook-form";
|
|||||||
import { OTPInput } from "@formbricks/ui/components/OTPInput";
|
import { OTPInput } from "@formbricks/ui/components/OTPInput";
|
||||||
|
|
||||||
export const TwoFactor = () => {
|
export const TwoFactor = () => {
|
||||||
const { control } = useFormContext();
|
const { control, formState: { errors } } = useFormContext();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -18,7 +18,14 @@ export const TwoFactor = () => {
|
|||||||
control={control}
|
control={control}
|
||||||
name="totpCode"
|
name="totpCode"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<OTPInput value={field.value ?? ""} onChange={field.onChange} valueLength={6} />
|
<>
|
||||||
|
<OTPInput value={field.value ?? ""} onChange={field.onChange} valueLength={6} />
|
||||||
|
{errors.totpCode && (
|
||||||
|
<p className="mt-2 text-sm text-red-600" id="totpCode-error">
|
||||||
|
{errors.totpCode.message}
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user