import { useCallback, useEffect, useState } from "react"; import { parseEther } from "viem"; import { CommonInputProps, InputBase, IntegerVariant, isValidInteger } from "~~/components/scaffold-eth"; type IntegerInputProps = CommonInputProps & { variant?: IntegerVariant; disableMultiplyBy1e18?: boolean; }; export const IntegerInput = ({ value, onChange, name, placeholder, disabled, variant = IntegerVariant.UINT256, disableMultiplyBy1e18 = false, }: IntegerInputProps) => { const [inputError, setInputError] = useState(false); const multiplyBy1e18 = useCallback(() => { if (!value) { return; } return onChange(parseEther(value).toString()); }, [onChange, value]); useEffect(() => { if (isValidInteger(variant, value)) { setInputError(false); } else { setInputError(true); } }, [value, variant]); return ( ) } /> ); };