UX: Improvements to posts route (#30968)
This update makes some small improvements to the posts route front-end. Specifically, it adds a title to the page, and it improves the positioning of expand/collapse caret.
This commit is contained in:
parent
a8c89cbc79
commit
5d4bb4b54e
|
@ -3,6 +3,7 @@ import { action } from "@ember/object";
|
|||
import RouteTemplate from "ember-route-template";
|
||||
import PostList from "discourse/components/post-list";
|
||||
import Posts from "discourse/models/posts";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
export default RouteTemplate(
|
||||
class extends Component {
|
||||
|
@ -15,11 +16,14 @@ export default RouteTemplate(
|
|||
}
|
||||
|
||||
<template>
|
||||
<PostList
|
||||
@posts={{@model}}
|
||||
@fetchMorePosts={{this.loadMorePosts}}
|
||||
@titlePath="topic_html_title"
|
||||
/>
|
||||
<section class="posts-page">
|
||||
<h2 class="posts-page__title">{{i18n "post_list.title"}}</h2>
|
||||
<PostList
|
||||
@posts={{@model}}
|
||||
@fetchMorePosts={{this.loadMorePosts}}
|
||||
@titlePath="topic_html_title"
|
||||
/>
|
||||
</section>
|
||||
</template>
|
||||
}
|
||||
);
|
||||
|
|
|
@ -34,6 +34,13 @@
|
|||
}
|
||||
}
|
||||
|
||||
.expand-item,
|
||||
.collapse-item {
|
||||
padding: 0;
|
||||
margin-right: 0.75rem;
|
||||
margin-top: 0.15rem;
|
||||
}
|
||||
|
||||
.stream-topic-title {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
|
|
@ -3763,6 +3763,7 @@ en:
|
|||
deleted_by_author_simple: "(topic deleted by author)"
|
||||
|
||||
post_list:
|
||||
title: "Latest posts"
|
||||
empty: "There are no posts"
|
||||
aria_post_number: "%{title} - post #%{postNumber}"
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module PageObjects
|
||||
module Pages
|
||||
class Posts < PageObjects::Pages::Base
|
||||
POSTS_PAGE_SELECTOR = ".posts-page"
|
||||
|
||||
def visit
|
||||
page.visit("/posts")
|
||||
self
|
||||
end
|
||||
|
||||
def has_page_title?
|
||||
page.find("#{POSTS_PAGE_SELECTOR} .posts-page__title")
|
||||
end
|
||||
|
||||
def has_posts?(count)
|
||||
page.has_css?("#{POSTS_PAGE_SELECTOR} .post-list .post-list-item", count: count)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
describe "Posts page", type: :system do
|
||||
fab!(:post)
|
||||
fab!(:post_2) { Fabricate(:post) }
|
||||
fab!(:post_3) { Fabricate(:post) }
|
||||
fab!(:user)
|
||||
let(:posts_page) { PageObjects::Pages::Posts.new }
|
||||
|
||||
before { sign_in(user) }
|
||||
|
||||
it "renders the posts page with posts" do
|
||||
posts_page.visit
|
||||
expect(posts_page).to have_page_title
|
||||
expect(posts_page).to have_posts(3)
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue