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" />
); };