diff --git a/packages/web/src/components/modals/spaceSettingsPanels/RolesPanel.tsx b/packages/web/src/components/modals/spaceSettingsPanels/RolesPanel.tsx index 187f4394..0dfaa4bf 100644 --- a/packages/web/src/components/modals/spaceSettingsPanels/RolesPanel.tsx +++ b/packages/web/src/components/modals/spaceSettingsPanels/RolesPanel.tsx @@ -77,6 +77,7 @@ export function RolesPanel({ spaceId }: RolesPanelProps) { const loadSpaceDetail = useSpaceStore((s) => s.loadSpaceDetail); const [editingRoleId, setEditingRoleId] = useState(null); + const [isNewRole, setIsNewRole] = useState(false); const [creating, setCreating] = useState(false); const [error, setError] = useState(''); @@ -96,6 +97,7 @@ export function RolesPanel({ spaceId }: RolesPanelProps) { const uniqueName = getUniqueRoleName('new role', roles); const newRole = await api.roles.create(spaceId, { name: uniqueName }); await loadSpaceDetail(spaceId); + setIsNewRole(true); setEditingRoleId(newRole.id); } catch (err) { setError(err instanceof Error ? err.message : 'Failed to create role'); @@ -115,9 +117,10 @@ export function RolesPanel({ spaceId }: RolesPanelProps) { key={editingRoleId} role={role} spaceId={spaceId} - onBack={() => setEditingRoleId(null)} - onDeleted={() => setEditingRoleId(null)} - onCopied={(newRoleId) => setEditingRoleId(newRoleId)} + isNew={isNewRole} + onBack={() => { setIsNewRole(false); setEditingRoleId(null); }} + onDeleted={() => { setIsNewRole(false); setEditingRoleId(null); }} + onCopied={(newRoleId) => { setIsNewRole(true); setEditingRoleId(newRoleId); }} /> ); } @@ -152,7 +155,7 @@ export function RolesPanel({ spaceId }: RolesPanelProps) { return ( - {isNewlyCreated && !hasChanges && ( + {isNew && !hasChanges && (
Role created — customize it below