import React, { ChangeEvent, KeyboardEvent, useState } from 'react' import Greeting from './Greeting' import { UserType } from './HW3' type GreetingContainerPropsType = { users: UserType[] // need to fix any addUserCallback: (name: string) => void // need to fix any } // более простой и понятный для новичков // function GreetingContainer(props: GreetingPropsType) { // более современный и удобный для про :) const GreetingContainer: React.FC = ({users, addUserCallback}) => { // деструктуризация пропсов const [name, setName] = useState('') // need to fix any const [error, setError] = useState('') // need to fix any const setNameCallback = (e: ChangeEvent) => { // need to fix any // нельзя пробелы перед и после имени, можно в середине setName(e.currentTarget.value) // need to fix error && setError('') } const addUser = () => { addUserCallback(name) setName('') } const onBlur = () => { const trimmedName = name.trim() if (!trimmedName) { setError('name is required!') } setName(trimmedName) // need to fix } const onEnter = (e: KeyboardEvent) => { if (e.key === 'Enter') { const trimmedName = name.trim() if (!trimmedName) { setName('') setError('name is required!') } else { addUserCallback(trimmedName) setName('') } } } const totalUsers = users.length // need to fix return ( ) } export default GreetingContainer