mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-24 23:48:13 -05:00
Hid members data in dashboard when signup access is "Nobody"
refs https://github.com/TryGhost/Team/issues/579 Members is essentially disabled when signup access is set to "Nobody" so it doesn't make sense to show members related charts and actions in the dashboard. - adds `showMembersData` property to the dashboard controller that returns `false` when members is disabled - wraps members related sections of the dashboard in conditionals
This commit is contained in:
parent
a271aa53fd
commit
139ba9413a
2 changed files with 78 additions and 70 deletions
|
@ -42,6 +42,10 @@ export default class DashboardController extends Controller {
|
|||
});
|
||||
}
|
||||
|
||||
get showMembersData() {
|
||||
return this.settings.get('membersSignupAccess') !== 'none';
|
||||
}
|
||||
|
||||
initialise() {
|
||||
this.loadEvents();
|
||||
this.loadTopMembers();
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{else}}
|
||||
{{else if this.showMembersData}}
|
||||
<section class="gh-dashboard-area charts">
|
||||
<div class="gh-dashboard-box mrr">
|
||||
<div class="flex items-center justify-between">
|
||||
|
@ -141,13 +141,15 @@
|
|||
<div class="gh-dashboard-container start-contents">
|
||||
<div class="gh-dashboard-box blogpost">
|
||||
<h2>Start creating content</h2>
|
||||
<LinkTo @route="members">
|
||||
<span class="icon">{{svg-jar "members"}}</span>
|
||||
<div>
|
||||
<h4>Create your first member</h4>
|
||||
<p>Add yourself or import members from CSV</p>
|
||||
</div>
|
||||
</LinkTo>
|
||||
{{#if this.showMembersData}}
|
||||
<LinkTo @route="members">
|
||||
<span class="icon">{{svg-jar "members"}}</span>
|
||||
<div>
|
||||
<h4>Create your first member</h4>
|
||||
<p>Add yourself or import members from CSV</p>
|
||||
</div>
|
||||
</LinkTo>
|
||||
{{/if}}
|
||||
<LinkTo @route="editor.new" @model="post">
|
||||
<span class="icon green">{{svg-jar "posts"}}</span>
|
||||
<div>
|
||||
|
@ -181,7 +183,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<a class="gh-dashboard-container" href="https://ghost.org/blog/membership-business-small-audience/" target="_blank" rel="noopener noreferrer">
|
||||
<div class="gh-dashboard-box blogpost thebrowser">
|
||||
<div class="content">
|
||||
|
@ -256,75 +258,77 @@
|
|||
</section>
|
||||
|
||||
<section class="gh-dashboard-area members-activity">
|
||||
{{#if this.topMembersData}}
|
||||
<div class="gh-dashboard-box grey top-members">
|
||||
<div class="gh-dashboard-header-container">
|
||||
<h4 class="gh-dashboard-header">Top members</h4>
|
||||
{{#if this.topMembersDataHasOpenRates}}
|
||||
<h4 class="gh-dashboard-header secondary">Open rate</h4>
|
||||
{{else}}
|
||||
<h4 class="gh-dashboard-header secondary">Member since</h4>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="gh-dashboard-list">
|
||||
{{#if this.topMembersLoading}}
|
||||
Loading...
|
||||
{{else}}
|
||||
{{#if this.topMembersError}}
|
||||
<p class="tc">
|
||||
There was an error loading member events.
|
||||
<code class="hidden">{{this.events.error.message}}</code>
|
||||
</p>
|
||||
{{#if this.showMembersData}}
|
||||
{{#if this.topMembersData}}
|
||||
<div class="gh-dashboard-box grey top-members">
|
||||
<div class="gh-dashboard-header-container">
|
||||
<h4 class="gh-dashboard-header">Top members</h4>
|
||||
{{#if this.topMembersDataHasOpenRates}}
|
||||
<h4 class="gh-dashboard-header secondary">Open rate</h4>
|
||||
{{else}}
|
||||
<ul class="gh-dashboard-top-members">
|
||||
{{#each this.topMembersData as |member|}}
|
||||
<li class="gh-dashboard-top-member">
|
||||
<LinkTo class="member-details" @route="member" @model="{{member.id}}">
|
||||
<GhMemberAvatar @member={{member}} @containerClass="w9 h9 mr3 flex-shrink-0" />
|
||||
{{#if member.name}}
|
||||
<span class="name">{{member.name}}</span>
|
||||
{{else}}
|
||||
<span class="email">{{member.email}}</span>
|
||||
{{/if}}
|
||||
</LinkTo>
|
||||
{{#if member.emailOpenRate}}
|
||||
<span class="open-rate">{{member.emailOpenRate}}%</span>
|
||||
{{else}}
|
||||
<span class="open-rate">
|
||||
{{moment-format member.createdAtUTC "D MMM YYYY"}}
|
||||
</span>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<h4 class="gh-dashboard-header secondary">Member since</h4>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="gh-dashboard-top-members-footer">
|
||||
<LinkTo @route="members">See all members {{svg-jar "arrow-right"}}</LinkTo>
|
||||
</div>
|
||||
<div class="gh-dashboard-list">
|
||||
{{#if this.topMembersLoading}}
|
||||
Loading...
|
||||
{{else}}
|
||||
{{#if this.topMembersError}}
|
||||
<p class="tc">
|
||||
There was an error loading member events.
|
||||
<code class="hidden">{{this.events.error.message}}</code>
|
||||
</p>
|
||||
{{else}}
|
||||
<ul class="gh-dashboard-top-members">
|
||||
{{#each this.topMembersData as |member|}}
|
||||
<li class="gh-dashboard-top-member">
|
||||
<LinkTo class="member-details" @route="member" @model="{{member.id}}">
|
||||
<GhMemberAvatar @member={{member}} @containerClass="w9 h9 mr3 flex-shrink-0" />
|
||||
{{#if member.name}}
|
||||
<span class="name">{{member.name}}</span>
|
||||
{{else}}
|
||||
<span class="email">{{member.email}}</span>
|
||||
{{/if}}
|
||||
</LinkTo>
|
||||
{{#if member.emailOpenRate}}
|
||||
<span class="open-rate">{{member.emailOpenRate}}%</span>
|
||||
{{else}}
|
||||
<span class="open-rate">
|
||||
{{moment-format member.createdAtUTC "D MMM YYYY"}}
|
||||
</span>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="gh-dashboard-top-members-footer">
|
||||
<LinkTo @route="members">See all members {{svg-jar "arrow-right"}}</LinkTo>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#unless (and this.session.user.isOwner (not this.feature.launchComplete))}}
|
||||
<div class="gh-dashboard-box grey activity-feed">
|
||||
<h4 class="gh-dashboard-header">Activity feed</h4>
|
||||
<div class="content">
|
||||
{{#if this.eventsLoading}}
|
||||
Loading...
|
||||
{{else}}
|
||||
{{#if this.eventsError}}
|
||||
<p class="error">
|
||||
There was an error loading events
|
||||
<code>{{this.eventsError.message}}</code>
|
||||
</p>
|
||||
{{#unless (and this.session.user.isOwner (not this.feature.launchComplete))}}
|
||||
<div class="gh-dashboard-box grey activity-feed">
|
||||
<h4 class="gh-dashboard-header">Activity feed</h4>
|
||||
<div class="content">
|
||||
{{#if this.eventsLoading}}
|
||||
Loading...
|
||||
{{else}}
|
||||
<GhEventTimeline @events={{this.eventsData}}/>
|
||||
{{#if this.eventsError}}
|
||||
<p class="error">
|
||||
There was an error loading events
|
||||
<code>{{this.eventsError.message}}</code>
|
||||
</p>
|
||||
{{else}}
|
||||
<GhEventTimeline @events={{this.eventsData}}/>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
{{#unless (or whatsNewEntriesLoading whatsNewEntriesError)}}
|
||||
<div class="gh-dashboard-box whats-new">
|
||||
|
|
Loading…
Add table
Reference in a new issue