mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 01:42:29 +03:00
db998e20ec
refs https://ghost.slack.com/archives/C02G9E68C/p1679577089441659 - this allows the full Ghost version through the API so we can extract the build info from it and provide a link to GitHub
70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import Component from '@glimmer/component';
|
|
import config from 'ghost-admin/config/environment';
|
|
import semverParse from 'semver/functions/parse';
|
|
import {inject} from 'ghost-admin/decorators/inject';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
export default class AboutModal extends Component {
|
|
@service upgradeStatus;
|
|
|
|
@inject config;
|
|
|
|
constructor() {
|
|
super(...arguments);
|
|
if (this.isTesting === undefined) {
|
|
this.isTesting = config.environment === 'test';
|
|
}
|
|
}
|
|
|
|
get copyrightYear() {
|
|
const date = new Date();
|
|
return date.getFullYear();
|
|
}
|
|
|
|
get linkToGitHubReleases() {
|
|
if (this.config.version.includes('-pre.')) {
|
|
try {
|
|
const semverVersion = semverParse(this.config.version, {includePrerelease: true});
|
|
|
|
if (semverVersion && semverVersion.build?.[0]) {
|
|
return `https://github.com/TryGhost/Ghost/commit/${semverVersion.build[0]}`;
|
|
}
|
|
|
|
return false;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return `https://github.com/TryGhost/Ghost/releases/tag/v${this.config.version}`;
|
|
}
|
|
|
|
get showSystemInfo() {
|
|
const isPro = !!this.config.hostSettings?.siteId;
|
|
|
|
// Don't show any system info for Pro
|
|
if (isPro) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
get showDatabaseWarning() {
|
|
const isProduction = !!this.config.environment.match?.(/production/i);
|
|
const database = this.config.database;
|
|
|
|
// Show a warning if we're in production and not using MySQL 8
|
|
if (isProduction && database !== 'mysql8') {
|
|
return true;
|
|
}
|
|
|
|
// Show a warning if we're in development and using MySQL 5
|
|
if (!isProduction && database === 'mysql5') {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|