mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-24 11:22:19 +03:00
104 lines
5.0 KiB
Handlebars
104 lines
5.0 KiB
Handlebars
<section class="gh-canvas gh-canvas-sticky">
|
|
<GhCanvasHeader class="gh-canvas-header sticky break tablet post-header">
|
|
<GhCustomViewTitle @title={{if this.session.user.isContributor (concat this.config.blogTitle " posts") "Posts"}} @query={{reset-query-params "posts"}} />
|
|
|
|
<section class="view-actions">
|
|
<PostsList::ContentFilter
|
|
@currentUser={{this.session.user}}
|
|
@selectedType={{this.selectedType}}
|
|
@availableTypes={{this.availableTypes}}
|
|
@onTypeChange={{this.changeType}}
|
|
@selectedVisibility={{this.selectedVisibility}}
|
|
@availableVisibilities={{this.availableVisibilities}}
|
|
@onVisibilityChange={{this.changeVisibility}}
|
|
@selectedAuthor={{this.selectedAuthor}}
|
|
@availableAuthors={{this.availableAuthors}}
|
|
@onAuthorChange={{this.changeAuthor}}
|
|
@selectedTag={{this.selectedTag}}
|
|
@availableTags={{this.availableTags}}
|
|
@onTagChange={{this.changeTag}}
|
|
@selectedOrder={{this.selectedOrder}}
|
|
@availableOrders={{this.availableOrders}}
|
|
@onOrderChange={{this.changeOrder}}
|
|
/>
|
|
|
|
<div class="view-actions-top-row">
|
|
{{#if (feature 'makingItRain')}}
|
|
<span class="dropdown posts-actions-dropdown">
|
|
<GhDropdownButton
|
|
@dropdownName="posts-actions-menu"
|
|
@classNames="gh-btn gh-btn-icon icon-only gh-btn-action-icon"
|
|
@title="Posts Actions"
|
|
data-test-button="posts-actions"
|
|
>
|
|
<span>
|
|
{{svg-jar "settings"}}
|
|
<span class="hidden">Actions</span>
|
|
</span>
|
|
</GhDropdownButton>
|
|
<GhDropdown
|
|
@name="posts-actions-menu"
|
|
@tagName="ul"
|
|
@classNames="gh-post-actions-menu dropdown-menu dropdown-triangle-top-right"
|
|
>
|
|
<li class="{{if this.totalPosts "" "disabled"}}">
|
|
{{#if this.totalPosts}}
|
|
<button class="mr2" type="button" {{on "click" this.exportData}} data-test-button="export-posts">
|
|
{{#if this.showingAll}}
|
|
<span>Export post analytics</span>
|
|
{{else}}
|
|
<span>Export post analytics ({{this.totalPosts}})</span>
|
|
{{/if}}
|
|
</button>
|
|
{{else}}
|
|
<button class="mr2" disabled="true" type="button" data-test-button="export-posts">
|
|
<span>Export post analytics (0)</span>
|
|
</button>
|
|
{{/if}}
|
|
</li>
|
|
</GhDropdown>
|
|
</span>
|
|
{{/if}}
|
|
|
|
<LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-primary" data-test-new-post-button={{true}}><span>New post</span></LinkTo>
|
|
</div>
|
|
</section>
|
|
</GhCanvasHeader>
|
|
|
|
<section class="view-container content-list">
|
|
<ol class="posts-list gh-list {{unless this.postsInfinityModel "no-posts"}} feature-memberAttribution">
|
|
|
|
{{#each this.postsInfinityModel as |post|}}
|
|
<PostsList::ListItem
|
|
@post={{post}}
|
|
data-test-post-id={{post.id}}
|
|
/>
|
|
{{else}}
|
|
<li class="no-posts-box" data-test-no-posts-box>
|
|
<div class="no-posts">
|
|
{{#if this.showingAll}}
|
|
{{svg-jar "posts-placeholder" class="gh-posts-placeholder"}}
|
|
<h4>Start creating content.</h4>
|
|
<LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green" data-test-link="write-a-new-post">
|
|
<span>Write a new post</span>
|
|
</LinkTo>
|
|
{{else}}
|
|
<h4>No posts match the current filter</h4>
|
|
<LinkTo @route="posts" @query={{hash type=null author=null tag=null}} class="gh-btn" data-test-link="show-all">
|
|
<span>Show all posts</span>
|
|
</LinkTo>
|
|
{{/if}}
|
|
</div>
|
|
</li>
|
|
{{/each}}
|
|
</ol>
|
|
|
|
<GhInfinityLoader
|
|
@infinityModel={{this.postsInfinityModel}}
|
|
@scrollable=".gh-main"
|
|
@triggerOffset={{1000}} />
|
|
</section>
|
|
|
|
{{outlet}}
|
|
</section>
|