import * as React from 'react'; import { useParams } from 'react-router-dom'; import { useMutation } from '@apollo/client'; import Container from '@mui/material/Container'; import Grid from '@mui/material/Grid'; import Stack from '@mui/material/Stack'; import LoadingButton from '@mui/lab/LoadingButton'; import { IRole } from '@automatisch/types'; import { UPDATE_ROLE } from 'graphql/mutations/update-role.ee'; import useRole from 'hooks/useRole.ee'; import PageTitle from 'components/PageTitle'; import Form from 'components/Form'; import TextField from 'components/TextField'; import useFormatMessage from 'hooks/useFormatMessage'; import { Skeleton } from '@mui/material'; type EditRoleParams = { roleId: string; }; // TODO: introduce interaction feedback upon deletion (successful + failure) export default function EditRole(): React.ReactElement { const formatMessage = useFormatMessage(); const [updateRole, { loading }] = useMutation(UPDATE_ROLE); const { roleId } = useParams(); const { role, loading: roleLoading } = useRole(roleId); const handleRoleUpdate = (roleData: Partial) => { updateRole({ variables: { input: { id: roleId, name: roleData.name, description: roleData.description, }, }, }); }; return ( {formatMessage('editRolePage.title')} {roleLoading ? ( ) : (
{formatMessage('editRole.submit')}
)}
); }