import { useEffect } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { faCheck } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { yupResolver } from '@hookform/resolvers/yup'; import * as yup from 'yup'; import { Button, FormControl, Input } from '@app/components/v2'; type Props = { orgName?: string; onOrgNameChange: (name: string) => Promise; }; const formSchema = yup.object({ name: yup.string().required().label('Project Name') }); type FormData = yup.InferType; export const OrgNameChangeSection = ({ onOrgNameChange, orgName }: Props): JSX.Element => { const { handleSubmit, control, reset, formState: { isDirty, isSubmitting } } = useForm({ resolver: yupResolver(formSchema) }); const { t } = useTranslation(); useEffect(() => { reset({ name: orgName }); }, [orgName]); const onFormSubmit = async ({ name }: FormData) => { await onOrgNameChange(name); }; return (

{t('common.display-name')}

( )} control={control} name="name" />
); };