mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-20 09:22:49 +03:00
096dffb817
closes: https://github.com/TryGhost/Ghost/issues/15505 When starting Ghost with a missing active theme, the design settings screen and change theme screen both end up in a broken state with the user unable to select a new theme as the active one. The design screen has no default (or blank) slate, and so shows a preview of an empty theme. - First added a new default screen to serve as a placeholder for when the state contains no active theme. - Added a check for when there was no active theme, then redirects the user to the default screen . The change theme screen wants to set an active property on the theme that should be active in the theme list. - Added a check to see whether there is an active theme set. - If there isn't one, don't bother trying to add the active property.
17 lines
511 B
JavaScript
17 lines
511 B
JavaScript
import AuthenticatedRoute from 'ghost-admin/routes/authenticated';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
export default class SettingsDesignNoThemeRoute extends AuthenticatedRoute {
|
|
@service store;
|
|
|
|
themes = this.store.peekAll('theme');
|
|
|
|
afterModel() {
|
|
super.afterModel(...arguments);
|
|
let activeTheme = this.themes.findBy('active', true);
|
|
if (typeof activeTheme !== 'undefined') {
|
|
return this.transitionTo('settings.design.index');
|
|
}
|
|
}
|
|
}
|