import { HStack, Text } from '@chakra-ui/react'; import React from 'react'; import { useController, useFormContext } from 'react-hook-form'; import type { OtpCodeFormFields } from '../types'; import { PinInput } from 'toolkit/chakra/pin-input'; const CODE_LENGTH = 6; interface Props { isDisabled?: boolean; } const AuthModalFieldOtpCode = ({ isDisabled: isDisabledProp }: Props) => { const { control } = useFormContext(); const { field, fieldState, formState } = useController({ control, name: 'code', rules: { required: true, minLength: CODE_LENGTH, maxLength: CODE_LENGTH }, }); const isDisabled = isDisabledProp || formState.isSubmitting; const handleChange = React.useCallback(({ value }: { value: Array }) => { field.onChange(value); }, [ field ]); return ( <> { fieldState.error?.message && { fieldState.error.message } } ); }; export default React.memo(AuthModalFieldOtpCode);