role crud fix
This commit is contained in:
@@ -6,16 +6,17 @@ import { toast } from 'react-toastify'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import Button from '@/components/Button'
|
||||
import Input from '@/components/Input'
|
||||
import { useCreateRole } from './hooks/useRolesData'
|
||||
import { Checkbox } from '@/components/ui/checkbox'
|
||||
import { useCreateRole, useGetPermissions } from './hooks/useRolesData'
|
||||
import type { CreateRoleType } from './types/Types'
|
||||
import { Pages } from '@/config/Pages'
|
||||
import type { ErrorType } from '@/helpers/types'
|
||||
import { extractErrorMessage } from '@/config/func'
|
||||
|
||||
const CreateRole: FC = () => {
|
||||
const { mutate: createRole, isPending } = useCreateRole()
|
||||
const navigate = useNavigate()
|
||||
|
||||
const { mutate: createRole, isPending } = useCreateRole()
|
||||
const { data: permissionsData } = useGetPermissions()
|
||||
const formik = useFormik<CreateRoleType>({
|
||||
initialValues: {
|
||||
name: '',
|
||||
@@ -69,6 +70,31 @@ const CreateRole: FC = () => {
|
||||
error_text={formik.touched.name && formik.errors.name ? formik.errors.name : ''}
|
||||
/>
|
||||
</div>
|
||||
<div className='mt-6'>
|
||||
<div className='text-sm mb-3'>دسترسیها</div>
|
||||
{permissionsData?.data && permissionsData.data.length > 0 ? (
|
||||
<div className='flex gap-6 flex-wrap'>
|
||||
{permissionsData.data.map((permission) => (
|
||||
<div key={permission.id} className='flex items-center gap-2'>
|
||||
<Checkbox
|
||||
checked={formik.values.permissionIds.includes(permission.id)}
|
||||
onCheckedChange={(checked) => {
|
||||
const currentIds = formik.values.permissionIds
|
||||
if (checked) {
|
||||
formik.setFieldValue('permissionIds', [...currentIds, permission.id])
|
||||
} else {
|
||||
formik.setFieldValue('permissionIds', currentIds.filter((id) => id !== permission.id))
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<label className='text-xs cursor-pointer'>{permission.title}</label>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
) : (
|
||||
<div className='text-sm text-gray-500'>دسترسیای یافت نشد</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user