diff --git a/apps/admin-x-settings/src/MainContent.tsx b/apps/admin-x-settings/src/MainContent.tsx index a05b7bbe1b95..d47bc02dcf03 100644 --- a/apps/admin-x-settings/src/MainContent.tsx +++ b/apps/admin-x-settings/src/MainContent.tsx @@ -5,7 +5,7 @@ import Users from './components/settings/general/Users'; import useFeatureFlag from './hooks/useFeatureFlag'; import {Heading, confirmIfDirty, topLevelBackdropClasses, useGlobalDirtyState} from '@tryghost/admin-x-design-system'; import {ReactNode, useEffect} from 'react'; -import {canAccessSettings, isEditorUser, isOwnerUser} from '@tryghost/admin-x-framework/api/users'; +import {canAccessSettings, hasAdminAccess, isEditorUser} from '@tryghost/admin-x-framework/api/users'; import {toast} from 'react-hot-toast'; import {useGlobalData} from './components/providers/GlobalDataProvider'; import {useRouting} from '@tryghost/admin-x-framework/routing'; @@ -35,7 +35,7 @@ const MainContent: React.FC = () => { const handleKeyDown = (event: KeyboardEvent) => { if (event.key === 'Escape') { confirmIfDirty(isDirty, () => { - if (hasActivityPub && isOwnerUser(currentUser)) { + if (hasActivityPub && hasAdminAccess(currentUser)) { navigateAway('/activitypub'); } else { navigateAway('/dashboard'); @@ -49,7 +49,7 @@ const MainContent: React.FC = () => { return () => { window.removeEventListener('keydown', handleKeyDown); }; - }, [isDirty, hasActivityPub]); + }, [isDirty, hasActivityPub, currentUser]); useEffect(() => { // resets any toasts that may have been left open on initial load diff --git a/apps/admin-x-settings/src/components/ExitSettingsButton.tsx b/apps/admin-x-settings/src/components/ExitSettingsButton.tsx index 2f8f13862e42..f0a835de6510 100644 --- a/apps/admin-x-settings/src/components/ExitSettingsButton.tsx +++ b/apps/admin-x-settings/src/components/ExitSettingsButton.tsx @@ -1,7 +1,7 @@ import React from 'react'; import useFeatureFlag from '../hooks/useFeatureFlag'; import {Button, confirmIfDirty, useGlobalDirtyState} from '@tryghost/admin-x-design-system'; -import {isOwnerUser} from '@tryghost/admin-x-framework/api/users'; +import {hasAdminAccess} from '@tryghost/admin-x-framework/api/users'; import {useGlobalData} from './providers/GlobalDataProvider'; const ExitSettingsButton: React.FC = () => { @@ -10,7 +10,7 @@ const ExitSettingsButton: React.FC = () => { const hasActivityPub = useFeatureFlag('ActivityPub'); const navigateAway = () => { - window.location.hash = (hasActivityPub && isOwnerUser(currentUser)) ? '/activitypub' : '/dashboard'; + window.location.hash = (hasActivityPub && hasAdminAccess(currentUser)) ? '/activitypub' : '/dashboard'; }; return ( diff --git a/ghost/admin/app/components/gh-nav-menu/main.hbs b/ghost/admin/app/components/gh-nav-menu/main.hbs index c1fe87a98d4a..770596604cb0 100644 --- a/ghost/admin/app/components/gh-nav-menu/main.hbs +++ b/ghost/admin/app/components/gh-nav-menu/main.hbs @@ -26,7 +26,7 @@ {{#unless this.session.user.isContributor}}