Add tooltip for promotion and demotion of users

This commit is contained in:
Manuel
2023-08-11 19:29:06 +02:00
parent edb48135d6
commit 74bf117fe3
2 changed files with 44 additions and 31 deletions

View File

@@ -10,6 +10,11 @@
"user": "User"
}
},
"tooltips": {
"deleteUser": "Delete user",
"demoteAdmin": "Demote administrator",
"promoteToAdmin": "Promote to administrator"
},
"modals": {
"delete": {
"title": "Delete user {{name}}",

View File

@@ -11,6 +11,7 @@ import {
Table,
Text,
Title,
Tooltip,
} from '@mantine/core';
import { useDebouncedValue } from '@mantine/hooks';
import { IconPlus, IconTrash, IconUserDown, IconUserUp } from '@tabler/icons-react';
@@ -88,52 +89,59 @@ const ManageUsersPage = () => {
<Group spacing="xs">
<Avatar size="sm" />
<Text>{user.name}</Text>
{user.isOwner ? (
{user.isOwner && (
<Badge color="pink" size="sm">
Owner
</Badge>
) : user.isAdmin ? (
)}
{user.isAdmin && (
<Badge color="red" size="sm">
Admin
</Badge>
) : null}
)}
</Group>
<Group>
{user.isAdmin ? (
<Tooltip label={t('tooltips.demoteAdmin')} withinPortal withArrow>
<ActionIcon
disabled={user.id === sessionData?.user?.id || user.isOwner}
onClick={() => {
openRoleChangeModal({
...user,
type: 'demote',
});
}}
>
<IconUserDown size="1rem" />
</ActionIcon>
</Tooltip>
) : (
<Tooltip label={t('tooltips.promoteToAdmin')} withinPortal withArrow>
<ActionIcon
onClick={() => {
openRoleChangeModal({
...user,
type: 'promote',
});
}}
>
<IconUserUp size="1rem" />
</ActionIcon>
</Tooltip>
)}
<Tooltip label={t('tooltips.deleteUser')} withinPortal withArrow>
<ActionIcon
disabled={user.id === sessionData?.user?.id || user.isOwner}
onClick={() => {
openRoleChangeModal({
...user,
type: 'demote',
});
openDeleteUserModal(user);
}}
color="red"
variant="light"
>
<IconUserDown size="1rem" />
<IconTrash size="1rem" />
</ActionIcon>
) : (
<ActionIcon
onClick={() => {
openRoleChangeModal({
...user,
type: 'promote',
});
}}
>
<IconUserUp size="1rem" />
</ActionIcon>
)}
<ActionIcon
disabled={user.id === sessionData?.user?.id || user.isOwner}
onClick={() => {
openDeleteUserModal(user);
}}
color="red"
variant="light"
>
<IconTrash size="1rem" />
</ActionIcon>
</Tooltip>
</Group>
</Group>
</td>