Ghost/ghost/admin/app/controllers/application.js

52 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 cacheBuster() {
return Date.now();
}
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)/);
}
}