import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsRolesQueryEffect } from '@/settings/roles/components/SettingsRolesQueryEffect'; import { SettingsRolePermissionsObjectLevelObjectPicker } from '@/settings/roles/role-permissions/object-level-permissions/components/SettingsRolePermissionsObjectLevelObjectPicker'; import { settingsDraftRoleFamilyState } from '@/settings/roles/states/settingsDraftRoleFamilyState'; import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer'; import { t } from '@lingui/core/macro'; import { Navigate, useParams, useSearchParams } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; import { SettingsPath } from 'twenty-shared/types'; import { getSettingsPath, isDefined } from 'twenty-shared/utils'; import { useFindOneAgentQuery } from '~/generated-metadata/graphql'; export const SettingsRoleAddObjectLevel = () => { const { roleId } = useParams(); const [searchParams] = useSearchParams(); const fromAgentId = searchParams.get('fromAgent'); const settingsDraftRole = useRecoilValue( settingsDraftRoleFamilyState(roleId ?? ''), ); const { data: agentData } = useFindOneAgentQuery({ variables: { id: fromAgentId || '' }, skip: !fromAgentId, }); const agent = agentData?.findOneAgent; if (!roleId) { return ; } const breadcrumbLinks = fromAgentId && isDefined(agent) ? [ { children: t`Workspace`, href: getSettingsPath(SettingsPath.Workspace), }, { children: t`AI`, href: getSettingsPath(SettingsPath.AI), }, { children: agent.label, href: getSettingsPath(SettingsPath.AIAgentDetail, { agentId: agent.id, }), }, { children: t`Add object permission`, }, ] : [ { children: t`Roles`, href: getSettingsPath(SettingsPath.Roles) }, { children: settingsDraftRole.label ?? '', href: getSettingsPath(SettingsPath.RoleDetail, { roleId }), }, { children: t`Add object permission`, href: getSettingsPath(SettingsPath.RoleAddObjectLevel, { roleId }), }, ]; return ( <> ); };