diff --git a/src/langs/fa.json b/src/langs/fa.json index ab83ec6..d078ca9 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -748,6 +748,7 @@ "group_add": "ساخت گروه", "submit_group": "ثبت گروه", "error_count_users": "حداقل یک کاربر باید انتخاب شود", + "error_count_roles": "حداقل یک نقش باید انتخاب شود", "list_user_group": "لیست گروه های کاربری", "groups": "گروه ها", "group_name": "نام گروه", diff --git a/src/pages/users/Create.tsx b/src/pages/users/Create.tsx index ab967e7..89b4d30 100644 --- a/src/pages/users/Create.tsx +++ b/src/pages/users/Create.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next' import Button from '../../components/Button' import { TickCircle } from 'iconsax-react' import Input from '../../components/Input' -import Select from '../../components/Select' +import CheckBoxComponent from '../../components/CheckBoxComponent' import UploadBoxDraggble from '../../components/UploadBoxDraggble' import { useFormik } from 'formik' import { CreateUserType, RoleItemType } from './types/UserTypes' @@ -45,7 +45,7 @@ const CreateUser: FC = () => { repeatPassword: '', phone: '', profilePic: '', - roleId: '' + roleIds: [] }, validationSchema: Yup.object({ email: Yup.string().email('Invalid email').required(t('errors.required')), @@ -54,7 +54,7 @@ const CreateUser: FC = () => { password: Yup.string().required(t('errors.required')), repeatPassword: Yup.string().required(t('errors.required')), phone: Yup.string().required(t('errors.required')), - roleId: Yup.string().required(t('errors.required')), + roleIds: Yup.array().of(Yup.string()).min(1, t('user.error_count_roles')), }), onSubmit: async (values) => { if (file) { @@ -76,6 +76,15 @@ const CreateUser: FC = () => { } }) + const handleRoleToggle = (roleId: string) => { + const currentRoleIds = formik.values.roleIds + if (currentRoleIds.includes(roleId)) { + formik.setFieldValue('roleIds', currentRoleIds.filter((id) => id !== roleId)) + } else { + formik.setFieldValue('roleIds', [...currentRoleIds, roleId]) + } + } + return (
@@ -117,22 +126,29 @@ const CreateUser: FC = () => { error_text={formik.touched.lastName && formik.errors.lastName ? formik.errors.lastName : ''} />
-
- {/* */} - */} -