import { FC } from 'react' import { useFormik } from 'formik' import * as Yup from 'yup' import { useTranslation } from 'react-i18next' import { AddAdminRestaurantType } from '../../types/Types' import Input from '../../../../components/Input' import Select from '../../../../components/Select' import Button from '../../../../components/Button' import { useAddAdminRestaurant, useGetSystemRoles } from '../../hooks/useIconData' import { SystemRoleType } from '../../types/Types' import { ErrorType } from '../../../../helpers/types' import { toast } from '../../../../components/Toast'; import { TickCircle } from 'iconsax-react' interface AddRestaurantAdminFormProps { restaurantId: string onSuccess: () => void onClose: () => void } const AddRestaurantAdminForm: FC = ({ restaurantId, onSuccess, onClose }) => { const { t } = useTranslation('global') const { mutate: addAdmin, isPending } = useAddAdminRestaurant() const { data: rolesData } = useGetSystemRoles() const rolesList = rolesData?.data || [] const formik = useFormik({ initialValues: { restaurantId: restaurantId, phone: '', firstName: '', lastName: '', roleId: '' }, validationSchema: Yup.object({ phone: Yup.string().required(t('errors.required')), firstName: Yup.string().required(t('errors.required')), lastName: Yup.string().required(t('errors.required')), roleId: Yup.string().required(t('errors.required')) }), onSubmit: (values) => { addAdmin(values, { onSuccess: () => { toast(t('success'), 'success') formik.resetForm() onSuccess() onClose() }, onError: (error: ErrorType) => { toast(error.response?.data?.error?.message[0], 'error') } }) } }) return (