import React, { useState } from 'react'; import Modal from '../common/Modal'; import { useAddDomain } from '../../services/domains'; type AddDomainProps = { closeModal: Function } const AddDomain = ({ closeModal }: AddDomainProps) => { const [newDomain, setNewDomain] = useState(''); const [newDomainError, setNewDomainError] = useState(false); const { mutate: addMutate, isLoading: isAdding } = useAddDomain(() => closeModal()); const addDomain = () => { // console.log('ADD NEW DOMAIN', newDomain); if (/^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/.test(newDomain.trim())) { setNewDomainError(false); // TODO: Domain Action addMutate(newDomain.trim()); } else { setNewDomainError(true); } }; const handleDomainInput = (e:React.FormEvent) => { if (e.currentTarget.value === '' && newDomainError) { setNewDomainError(false); } setNewDomain(e.currentTarget.value); }; return ( { closeModal(false); }} title={'Add New Domain'}>

Domain Name {newDomainError && Not a Valid Domain}

{ if (e.code === 'Enter') { e.preventDefault(); addDomain(); } }} />
); }; export default AddDomain;