Skip to content

Commit 9e1a116

Browse files
committed
Enabled ActivityPub menu for Admin users
ref https://linear.app/ghost/issue/AP-985/display-ap-views-for-both-owners-and-admins - ActivityPub is now available to Owner and Admin staff users
1 parent dd1d4f7 commit 9e1a116

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

apps/admin-x-settings/src/MainContent.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import Users from './components/settings/general/Users';
55
import useFeatureFlag from './hooks/useFeatureFlag';
66
import {Heading, confirmIfDirty, topLevelBackdropClasses, useGlobalDirtyState} from '@tryghost/admin-x-design-system';
77
import {ReactNode, useEffect} from 'react';
8-
import {canAccessSettings, isEditorUser, isOwnerUser} from '@tryghost/admin-x-framework/api/users';
8+
import {canAccessSettings, hasAdminAccess, isEditorUser} from '@tryghost/admin-x-framework/api/users';
99
import {toast} from 'react-hot-toast';
1010
import {useGlobalData} from './components/providers/GlobalDataProvider';
1111
import {useRouting} from '@tryghost/admin-x-framework/routing';
@@ -35,7 +35,7 @@ const MainContent: React.FC = () => {
3535
const handleKeyDown = (event: KeyboardEvent) => {
3636
if (event.key === 'Escape') {
3737
confirmIfDirty(isDirty, () => {
38-
if (hasActivityPub && isOwnerUser(currentUser)) {
38+
if (hasActivityPub && hasAdminAccess(currentUser)) {
3939
navigateAway('/activitypub');
4040
} else {
4141
navigateAway('/dashboard');
@@ -49,7 +49,7 @@ const MainContent: React.FC = () => {
4949
return () => {
5050
window.removeEventListener('keydown', handleKeyDown);
5151
};
52-
}, [isDirty, hasActivityPub]);
52+
}, [isDirty, hasActivityPub, currentUser]);
5353

5454
useEffect(() => {
5555
// resets any toasts that may have been left open on initial load

apps/admin-x-settings/src/components/ExitSettingsButton.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22
import useFeatureFlag from '../hooks/useFeatureFlag';
33
import {Button, confirmIfDirty, useGlobalDirtyState} from '@tryghost/admin-x-design-system';
4-
import {isOwnerUser} from '@tryghost/admin-x-framework/api/users';
4+
import {hasAdminAccess} from '@tryghost/admin-x-framework/api/users';
55
import {useGlobalData} from './providers/GlobalDataProvider';
66

77
const ExitSettingsButton: React.FC = () => {
@@ -10,7 +10,7 @@ const ExitSettingsButton: React.FC = () => {
1010
const hasActivityPub = useFeatureFlag('ActivityPub');
1111

1212
const navigateAway = () => {
13-
window.location.hash = (hasActivityPub && isOwnerUser(currentUser)) ? '/activitypub' : '/dashboard';
13+
window.location.hash = (hasActivityPub && hasAdminAccess(currentUser)) ? '/activitypub' : '/dashboard';
1414
};
1515

1616
return (

ghost/admin/app/components/gh-nav-menu/main.hbs

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@
2626
{{#unless this.session.user.isContributor}}
2727
<div class="gh-nav-top">
2828
<ul class="gh-nav-list gh-nav-main">
29-
{{#if (and (feature "ActivityPub") this.session.user.isOwnerOnly)}}
29+
{{#if (and (feature "ActivityPub") this.session.user.isAdmin)}}
3030
<li>
3131
<LinkTo @route="activitypub-x" @current-when="activitypub-x">{{svg-jar "house"}}Home</LinkTo>
3232
</li>
3333
{{/if}}
3434
{{#if (gh-user-can-admin this.session.user)}}
3535
<li class="relative gh-nav-list-home">
3636
<LinkTo @route="dashboard" @alt="Dashboard" data-test-nav="dashboard">
37-
{{#if (and (feature "ActivityPub") this.session.user.isOwnerOnly)}}
37+
{{#if (and (feature "ActivityPub") this.session.user.isAdmin)}}
3838
{{svg-jar "gauge"}}
3939
{{else}}
4040
{{svg-jar "house"}}
@@ -61,7 +61,7 @@
6161
</li>
6262
{{/if}}
6363
{{#if (gh-user-can-admin this.session.user)}}
64-
{{#if (not (and (feature "ActivityPub") this.session.user.isOwnerOnly))}}
64+
{{#if (not (and (feature "ActivityPub") this.session.user.isAdmin))}}
6565
<li class="relative">
6666
<a href="javascript:void(0)" class={{if this.explore.exploreWindowOpen "active" }} {{on "click" (fn
6767
this.toggleExploreWindow "" )}} data-test-nav="explore">

ghost/admin/app/routes/home.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default class HomeRoute extends Route {
1414
return this.router.transitionTo('setup.done');
1515
}
1616

17-
if (this.feature.ActivityPub && this.session.user.isOwnerOnly) {
17+
if (this.feature.ActivityPub && this.session.user.isAdmin) {
1818
this.router.transitionTo('activitypub-x');
1919
} else {
2020
this.router.transitionTo('dashboard');

0 commit comments

Comments
 (0)