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 : ''}
/>
-
- {/*
*/}
-