diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/objects-permissions/constants/settingsRoleObjectPermissionIconConfig.ts b/packages/twenty-front/src/modules/settings/roles/role-permissions/objects-permissions/constants/settingsRoleObjectPermissionIconConfig.ts
index c5e23960a..756c6aa06 100644
--- a/packages/twenty-front/src/modules/settings/roles/role-permissions/objects-permissions/constants/settingsRoleObjectPermissionIconConfig.ts
+++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/objects-permissions/constants/settingsRoleObjectPermissionIconConfig.ts
@@ -7,6 +7,7 @@ import {
IconTrash,
IconTrashOff,
IconTrashX,
+ IconTrashXOff,
} from 'twenty-ui/display';
type SettingsRoleObjectPermissionIconConfig = {
@@ -38,6 +39,6 @@ export const SETTINGS_ROLE_OBJECT_PERMISSION_ICON_CONFIG: Record<
},
canDestroyObjectRecords: {
Icon: IconTrashX,
- IconForbidden: IconTrashX,
+ IconForbidden: IconTrashXOff,
},
};
diff --git a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRole.tsx b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRole.tsx
index 38676760d..a510dd1fd 100644
--- a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRole.tsx
+++ b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRole.tsx
@@ -1,3 +1,4 @@
+import { useAuth } from '@/auth/hooks/useAuth';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { GET_ROLES } from '@/settings/roles/graphql/queries/getRolesQuery';
@@ -82,6 +83,8 @@ export const SettingsRole = ({ roleId, isCreateMode }: SettingsRoleProps) => {
settingsPersistedRoleFamilyState(roleId),
);
+ const { loadCurrentUser } = useAuth();
+
const { enqueueSnackBar } = useSnackBar();
if (!isDefined(settingsRolesIsLoading)) {
@@ -268,6 +271,8 @@ export const SettingsRole = ({ roleId, isCreateMode }: SettingsRoleProps) => {
});
}
}
+
+ await loadCurrentUser();
};
return (
diff --git a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleCreateEffect.tsx b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleCreateEffect.tsx
index 215351e94..99d046b61 100644
--- a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleCreateEffect.tsx
+++ b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleCreateEffect.tsx
@@ -32,7 +32,7 @@ export const SettingsRoleCreateEffect = ({
const newRole = {
id: roleId,
- label: t`Role name`,
+ label: t`Untitled role`,
description: '',
icon: 'IconUser',
canUpdateAllSettings: true,
diff --git a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleLabelContainer.tsx b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleLabelContainer.tsx
index 2899561ad..d161fd633 100644
--- a/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleLabelContainer.tsx
+++ b/packages/twenty-front/src/modules/settings/roles/role/components/SettingsRoleLabelContainer.tsx
@@ -3,6 +3,7 @@ import { useRecoilState } from 'recoil';
import { settingsDraftRoleFamilyState } from '@/settings/roles/states/settingsDraftRoleFamilyState';
import { TitleInput } from '@/ui/input/components/TitleInput';
import styled from '@emotion/styled';
+import { t } from '@lingui/core/macro';
const ROLE_LABEL_EDIT_HOTKEY_SCOPE = 'role-label-edit';
@@ -42,7 +43,7 @@ export const SettingsRoleLabelContainer = ({
sizeVariant="md"
value={settingsDraftRole.label}
onChange={handleChange}
- placeholder="Role name"
+ placeholder={t`Role name`}
hotkeyScope={ROLE_LABEL_EDIT_HOTKEY_SCOPE}
/>
diff --git a/packages/twenty-ui/src/assets/icons/trash-x-off.svg b/packages/twenty-ui/src/assets/icons/trash-x-off.svg
new file mode 100644
index 000000000..24e730edf
--- /dev/null
+++ b/packages/twenty-ui/src/assets/icons/trash-x-off.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/packages/twenty-ui/src/display/icon/components/IconTrashXOff.tsx b/packages/twenty-ui/src/display/icon/components/IconTrashXOff.tsx
new file mode 100644
index 000000000..8092fa014
--- /dev/null
+++ b/packages/twenty-ui/src/display/icon/components/IconTrashXOff.tsx
@@ -0,0 +1,14 @@
+import { useTheme } from '@emotion/react';
+
+import IconTrashXOffRaw from '@assets/icons/trash-x-off.svg?react';
+import { IconComponentProps } from '@ui/display/icon/types/IconComponent';
+
+type IconTrashXOffProps = Pick;
+
+export const IconTrashXOff = (props: IconTrashXOffProps) => {
+ const theme = useTheme();
+ const size = props.size ?? theme.icon.size.lg;
+ const stroke = props.stroke ?? theme.icon.stroke.md;
+
+ return ;
+};
diff --git a/packages/twenty-ui/src/display/index.ts b/packages/twenty-ui/src/display/index.ts
index 12b95a0b8..c547b740e 100644
--- a/packages/twenty-ui/src/display/index.ts
+++ b/packages/twenty-ui/src/display/index.ts
@@ -35,6 +35,7 @@ export { IconMicrosoft } from './icon/components/IconMicrosoft';
export { IconMicrosoftCalendar } from './icon/components/IconMicrosoftCalendar';
export { IconMicrosoftOutlook } from './icon/components/IconMicrosoftOutlook';
export { IconRelationManyToOne } from './icon/components/IconRelationManyToOne';
+export { IconTrashXOff } from './icon/components/IconTrashXOff';
export { IconTwentyStar } from './icon/components/IconTwentyStar';
export { IconTwentyStarFilled } from './icon/components/IconTwentyStarFilled';
export { IllustrationIconArray } from './icon/components/IllustrationIconArray';