mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-04 04:10:33 +03:00
cd9ec81006
no issue - seeing if this feels better up above than it is when inside the anchor
68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
import Component from '@glimmer/component';
|
|
import {action} from '@ember/object';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
// Options 30 and 90 need an extra day to be able to distribute ticks/gridlines evenly
|
|
const DAYS_OPTIONS = [{
|
|
name: '7 Days',
|
|
value: 7
|
|
}, {
|
|
name: '30 Days',
|
|
value: 30 + 1
|
|
}, {
|
|
name: '90 Days',
|
|
value: 90 + 1
|
|
}];
|
|
|
|
export default class DashboardDashboardV5Component extends Component {
|
|
@service dashboardStats;
|
|
|
|
daysOptions = DAYS_OPTIONS;
|
|
|
|
@action
|
|
onInsert() {
|
|
this.dashboardStats.loadSiteStatus();
|
|
}
|
|
|
|
@action
|
|
onDaysChange(selected) {
|
|
this.days = selected.value;
|
|
}
|
|
|
|
get days() {
|
|
return this.dashboardStats.chartDays;
|
|
}
|
|
|
|
set days(days) {
|
|
this.dashboardStats.chartDays = days;
|
|
}
|
|
|
|
get selectedDaysOption() {
|
|
return this.daysOptions.find(d => d.value === this.days);
|
|
}
|
|
|
|
get isLoading() {
|
|
return this.dashboardStats.siteStatus === null;
|
|
}
|
|
|
|
get totalMembers() {
|
|
return this.dashboardStats.memberCounts?.total ?? 0;
|
|
}
|
|
|
|
get isTotalMembersZero() {
|
|
return this.dashboardStats.memberCounts && this.totalMembers === 0;
|
|
}
|
|
|
|
get hasPaidTiers() {
|
|
return this.dashboardStats.siteStatus?.hasPaidTiers;
|
|
}
|
|
|
|
get areNewslettersEnabled() {
|
|
return this.dashboardStats.siteStatus?.newslettersEnabled;
|
|
}
|
|
|
|
get areMembersEnabled() {
|
|
return this.dashboardStats.siteStatus?.membersEnabled;
|
|
}
|
|
}
|