import { useEffect, useState } from "react"; import styles from "./styles.module.css"; interface INameInput { name: string; value: T; label?: string | null; placeholder?: string | null; inputClassName?: string; onKeyDown: (event: React.KeyboardEvent) => void; onValid: (value: string) => void; onInvalid: () => void; } const isValidName = (name: string) => { return name.length > 0 && name.length < 30; }; function NameInput(props: INameInput): JSX.Element { const { name, value, placeholder, onValid, onInvalid, onKeyDown } = props; const [userName, setUserName] = useState(value); const handleChange = (event: React.ChangeEvent) => { setUserName(event.target.value); }; useEffect(() => { if (isValidName(userName)) { onValid(userName); } else { onInvalid(); } }, [userName, onInvalid, onValid]); return (
); } export default NameInput;