Files
twenty/packages/twenty-front/src/modules/settings/roles/role-assignment/components/SettingsRoleAssignmentTableRow.tsx
T
Weiko f210d274bf Role page various fixes (#12324)
Various fixes from fast follows

- Sort roles by alphabetical order
- Change some tooltips
- During role creation, role should have all permissions enabled by
default
- Changed Permission icons design and refactored duplicating logic in a
dedicated component
- Changed "Revoked by" design
- Display role icon in default role picker
- Workspace member avatar was missing in role list and member picker
- Set "seeded" member role as editable for new workspaces
- Various css fixes
2025-05-27 17:58:55 +02:00

64 lines
1.8 KiB
TypeScript

import { TableCell } from '@/ui/layout/table/components/TableCell';
import { TableRow } from '@/ui/layout/table/components/TableRow';
import styled from '@emotion/styled';
import { Avatar, OverflowingTextWithTooltip } from 'twenty-ui/display';
import { WorkspaceMember } from '~/generated-metadata/graphql';
const StyledIconWrapper = styled.div`
align-items: center;
display: flex;
flex-shrink: 0;
margin-right: ${({ theme }) => theme.spacing(2)};
`;
const StyledNameCell = styled.div`
color: ${({ theme }) => theme.font.color.primary};
flex: 1;
min-width: 0;
`;
const StyledNameContainer = styled.div`
align-items: center;
display: flex;
overflow: hidden;
width: 100%;
`;
const StyledTableCell = styled(TableCell)`
overflow: hidden;
`;
type SettingsRoleAssignmentTableRowProps = {
workspaceMember: WorkspaceMember;
};
export const SettingsRoleAssignmentTableRow = ({
workspaceMember,
}: SettingsRoleAssignmentTableRowProps) => {
return (
<TableRow gridAutoColumns="2fr 4fr">
<StyledTableCell>
<StyledNameContainer>
<StyledIconWrapper>
<Avatar
avatarUrl={workspaceMember.avatarUrl}
placeholderColorSeed={workspaceMember.id}
placeholder={workspaceMember.name.firstName ?? ''}
type="rounded"
size="md"
/>
</StyledIconWrapper>
<StyledNameCell>
<OverflowingTextWithTooltip
text={`${workspaceMember.name.firstName} ${workspaceMember.name.lastName}`}
/>
</StyledNameCell>
</StyledNameContainer>
</StyledTableCell>
<StyledTableCell>
<OverflowingTextWithTooltip text={workspaceMember.userEmail} />
</StyledTableCell>
</TableRow>
);
};