diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx index 221d8d97cf..e3348664bf 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx @@ -87,6 +87,12 @@ export const SettingsRolePermissionsObjectLevelObjectFieldPermissionTable = ({ objectMetadataItemId: objectMetadataItem.id, }); + const shouldShowSeeTableHeader = !cannotAllowFieldReadRestrict; + const shouldShowUpdateTableHeader = + !cannotAllowFieldReadRestrict && !cannotAllowFieldUpdateRestrict; + const shouldShowEmptyTableHeader = + cannotAllowFieldReadRestrict && cannotAllowFieldUpdateRestrict; + return (
{t`Data type`} - {cannotAllowFieldReadRestrict ? ( - - ) : ( - - {t`See`} - - )} - {cannotAllowFieldUpdateRestrict ? ( - - ) : ( - - {t`Edit`} - - )} + <> + {shouldShowEmptyTableHeader && } + {shouldShowSeeTableHeader && ( + + {t`See`} + + )} + {shouldShowUpdateTableHeader && ( + + {t`Edit`} + + )} +
- {cannotAllowFieldReadRestrict ? ( -
- ) : ( - - - - )} - {cannotAllowFieldUpdateRestrict ? ( -
- ) : ( - - - - )} + <> + {shouldShowEmptyTableHeader &&
} + {shouldShowSeeTableHeader && ( + + + + )} + {shouldShowUpdateTableHeader && ( + + + + )} + ); diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow.tsx b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow.tsx index 78a9fd8be3..c1d8045ef5 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow.tsx @@ -136,12 +136,17 @@ export const SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow = hasRestriction && fieldPermissionForThisFieldMetadataItem?.canUpdateFieldValue === false; - const { objectReadIsRestricted, objectUpdateIsRestricted } = + const { cannotAllowFieldReadRestrict, cannotAllowFieldUpdateRestrict } = useObjectPermissionDerivedStates({ roleId, objectMetadataItemId: objectMetadataItem.id, }); + const shouldShowSeeTableHeader = !cannotAllowFieldReadRestrict; + const shouldShowUpdateTableHeader = + !cannotAllowFieldReadRestrict && !cannotAllowFieldUpdateRestrict; + const shouldShowEmptyTableHeader = cannotAllowFieldUpdateRestrict; + return ( @@ -172,30 +177,29 @@ export const SettingsRolePermissionsObjectLevelObjectFieldPermissionTableRow = value={fieldType as SettingsFieldType} /> - {objectReadIsRestricted ? ( - - ) : ( - - - - )} - {objectUpdateIsRestricted ? ( - - ) : ( - - - - )} + <> + {shouldShowEmptyTableHeader && } + {shouldShowSeeTableHeader && ( + + + + )} + {shouldShowUpdateTableHeader && ( + + + + )} + ); }; diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/object-form/components/SettingsRolePermissionsObjectLevelObjectFormObjectLevelTableRow.tsx b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/object-form/components/SettingsRolePermissionsObjectLevelObjectFormObjectLevelTableRow.tsx index 21c1ed0842..25d04b8b4c 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/object-form/components/SettingsRolePermissionsObjectLevelObjectFormObjectLevelTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/object-form/components/SettingsRolePermissionsObjectLevelObjectFormObjectLevelTableRow.tsx @@ -50,7 +50,7 @@ const StyledCheckboxCell = styled(TableCell)` align-items: center; display: flex; justify-content: flex-end; - padding-right: ${({ theme }) => theme.spacing(4)}; + padding-right: ${({ theme }) => theme.spacing(1)}; `; type OverridableCheckboxType = 'no_cta' | 'default' | 'override';