Ghost/ghost/admin/app/templates/posts.hbs
Kevin Ansfield 142f322338 Switched per-user custom views to shared custom views
requires fdeb7daf40

- swapped to using settings model for storing custom views instead of user accessibility field
- added conditional that checks current user is an admin/owner when displaying the manage custom views button in the content filter (only admins/owners can edit settings model)
  - passed `session.user` into the `<GhContentFilter>` component as an argument so that the conditional getter doesn't need to handle async user access
- fixed no-shadow linting error in settings service
2020-06-04 21:30:06 +01:00

68 lines
3.0 KiB
Handlebars

<section class="gh-canvas">
<GhCanvasHeader class="gh-canvas-header post-header">
<GhCustomViewTitle @title="Posts" @query={{reset-query-params "posts"}} />
<section class="view-actions">
<GhContentfilter
@currentUser={{this.session.user}}
@selectedType={{this.selectedType}}
@availableTypes={{this.availableTypes}}
@onTypeChange={{action "changeType"}}
@selectedAuthor={{this.selectedAuthor}}
@availableAuthors={{this.availableAuthors}}
@onAuthorChange={{action "changeAuthor"}}
@selectedTag={{this.selectedTag}}
@availableTags={{this.availableTags}}
@onTagChange={{action "changeTag"}}
@selectedOrder={{this.selectedOrder}}
@availableOrders={{this.availableOrders}}
@onOrderChange={{action "changeOrder"}}
/>
<LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green" data-test-new-post-button={{true}}><span>New post</span></LinkTo>
</section>
</GhCanvasHeader>
<section class="content-list">
<ol class="posts-list gh-list {{unless this.postsInfinityModel "no-posts"}}">
{{#if this.postsInfinityModel}}
<li class="gh-list-row header">
<div class="gh-list-header no-padding">{{!--Favorite indicator column: no header--}}</div>
<div class="gh-list-header gh-posts-title-header">Title</div>
<div class="gh-list-header gh-posts-status-header">Status</div>
<div class="gh-list-header gh-posts-lastupdate-header">Last update</div>
</li>
{{/if}}
{{#each this.postsInfinityModel as |post|}}
<GhPostsListItem
@post={{post}}
data-test-post-id={{post.id}} />
{{else}}
<li class="no-posts-box">
<div class="no-posts">
{{#if this.showingAll}}
{{svg-jar "posts-placeholder" class="gh-posts-placeholder"}}
<h3>You haven't written any posts yet!</h3>
<LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green gh-btn-lg">
<span>Write a new post</span>
</LinkTo>
{{else}}
<h3>No posts match the current filter</h3>
<LinkTo @route="posts" @query={{hash type=null author=null tag=null}} class="gh-btn gh-btn-lg">
<span>Show all posts</span>
</LinkTo>
{{/if}}
</div>
</li>
{{/each}}
</ol>
<GhInfinityLoader
@infinityModel={{this.postsInfinityModel}}
@scrollable=".gh-main"
@triggerOffset={{1000}} />
</section>
{{outlet}}
</section>