import { makeStyles, Button, TextField, Typography } from '@material-ui/core' import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { asyncAddContact } from '../../../../redux/contacts/operations' import ToolBar from './ToolBar'; const useStyles = makeStyles({ container: { display: 'flex', alignItems: 'center', alignContent:'center', flexDirection: 'column', width: 350, margin: '0 auto', paddingBottom: 24, }, title: { marginBottom: 20, textAlign: 'center', }, buttonNext: { marginTop: 20, height: 50, color: '#f8f8f8', backgroundColor:'#1d74c5', }, textField: { marginBottom:20 } }) interface IAddContact { setSelectedIndex: React.Dispatch>, handleClick: () => void } const AddContact = ({setSelectedIndex,handleClick}:IAddContact) => { const classes = useStyles() const dispatch = useDispatch() const [number, setNumber] = useState('') const handleTextField = (e: React.ChangeEvent) => { const value = e.target.value.split(' ').join('').trim() setNumber(value) } const handleAddContact = async () => { dispatch(asyncAddContact(number)) setNumber('') setSelectedIndex(1) } const isValidNumber = () => { if (number.length < 13 || number.length > 13) return false if(number.slice(0,1) === '+') return true return true } const handlePressEnter = (e: React.KeyboardEvent) => { if(e.code === 'Enter' && isValidNumber()) handleAddContact() } return ( <>
Add new contact {isValidNumber() && }
); }; export default AddContact;