Ghost/ghost/admin/app/controllers/application.js
Daniel Lockyer 8098f8c53e Updated Admin extensions script functionality
fixes https://github.com/TryGhost/Toolbox/issues/587

- this commit changes two things surrounding the extensions script:
  - moves the script tag from the nav menu to the application template
    so we always load the script irregardless of if the current page has
    a nav menu
  - opens up showing the script to all logged-in users and not just
    Owners as previous
2023-06-02 14:05:40 +02:00

48 lines
1.3 KiB
JavaScript

import Controller from '@ember/controller';
import {inject} from 'ghost-admin/decorators/inject';
import {inject as service} from '@ember/service';
export default class ApplicationController extends Controller {
@service billing;
@service explore;
@service router;
@service session;
@service settings;
@service ui;
@service upgradeStatus;
@inject config;
get showBilling() {
return this.config.hostSettings?.billing?.enabled;
}
get showScriptExtension() {
const {session} = this;
if (!session.isAuthenticated || !session.user) {
return false;
}
return this.config.clientExtensions?.script;
}
get showNavMenu() {
let {router, session, ui} = this;
// if we're in fullscreen mode don't show the nav menu
if (ui.isFullScreen) {
return false;
}
// we need to defer showing the navigation menu until the session.user
// is populated so that gh-user-can-admin has the correct data
if (!session.isAuthenticated || !session.user) {
return false;
}
return (router.currentRouteName !== 'error404' || session.isAuthenticated)
&& !router.currentRouteName.match(/(signin|signup|setup|reset)/);
}
}