mirror of
https://github.com/discourse/discourse.git
synced 2025-02-07 11:58:27 +00:00
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 RouteTemplate from "ember-route-template";
|
||||||
import PostList from "discourse/components/post-list";
|
import PostList from "discourse/components/post-list";
|
||||||
import Posts from "discourse/models/posts";
|
import Posts from "discourse/models/posts";
|
||||||
|
import { i18n } from "discourse-i18n";
|
||||||
|
|
||||||
export default RouteTemplate(
|
export default RouteTemplate(
|
||||||
class extends Component {
|
class extends Component {
|
||||||
@ -15,11 +16,14 @@ export default RouteTemplate(
|
|||||||
}
|
}
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<section class="posts-page">
|
||||||
|
<h2 class="posts-page__title">{{i18n "post_list.title"}}</h2>
|
||||||
<PostList
|
<PostList
|
||||||
@posts={{@model}}
|
@posts={{@model}}
|
||||||
@fetchMorePosts={{this.loadMorePosts}}
|
@fetchMorePosts={{this.loadMorePosts}}
|
||||||
@titlePath="topic_html_title"
|
@titlePath="topic_html_title"
|
||||||
/>
|
/>
|
||||||
|
</section>
|
||||||
</template>
|
</template>
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -34,6 +34,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.expand-item,
|
||||||
|
.collapse-item {
|
||||||
|
padding: 0;
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
.stream-topic-title {
|
.stream-topic-title {
|
||||||
overflow-wrap: anywhere;
|
overflow-wrap: anywhere;
|
||||||
}
|
}
|
||||||
|
@ -3763,6 +3763,7 @@ en:
|
|||||||
deleted_by_author_simple: "(topic deleted by author)"
|
deleted_by_author_simple: "(topic deleted by author)"
|
||||||
|
|
||||||
post_list:
|
post_list:
|
||||||
|
title: "Latest posts"
|
||||||
empty: "There are no posts"
|
empty: "There are no posts"
|
||||||
aria_post_number: "%{title} - post #%{postNumber}"
|
aria_post_number: "%{title} - post #%{postNumber}"
|
||||||
|
|
||||||
|
22
spec/system/page_objects/pages/posts_page.rb
Normal file
22
spec/system/page_objects/pages/posts_page.rb
Normal file
@ -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
|
17
spec/system/posts_page_spec.rb
Normal file
17
spec/system/posts_page_spec.rb
Normal file
@ -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…
x
Reference in New Issue
Block a user