f210d274bf
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
64 lines
1.8 KiB
TypeScript
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>
|
|
);
|
|
};
|