import AdaptableCard from '@/components/shared/AdaptableCard' import Container from '@/components/shared/Container' import { Button, Table, toast } from '@/components/ui' import { IdentityRoleDto } from '@/proxy/admin' import { getRoles } from '@/proxy/admin/identity.service' import { useLocalization } from '@/utils/hooks/useLocalization' import useThemeClass from '@/utils/hooks/useThemeClass' import isEmpty from 'lodash/isEmpty' import { useEffect, useState } from 'react' import { Helmet } from 'react-helmet' import RolesPermission from './RolesPermission' const { Tr, Th, Td, THead, TBody } = Table const Roles = () => { const { textTheme } = useThemeClass() const [roleList, setRoleList] = useState([]) const [activeRoleName, setActiveRoleName] = useState() const [permissionDialogOpen, setPermissionDialogOpen] = useState(false) const { translate } = useLocalization() const fetchData = async () => { const response = await getRoles() if (response.data?.items) { setRoleList(response.data.items) } } useEffect(() => { if (isEmpty(roleList)) { fetchData() } // eslint-disable-next-line react-hooks/exhaustive-deps }, []) return ( <> {roleList.map((role) => ( ))}
Role
{ setActiveRoleName(role.name) setPermissionDialogOpen(true) }} > {translate('::Permission')}
{role.name}
{activeRoleName && ( setPermissionDialogOpen(false)} > )} ) } export default Roles