Vulcan/packages/base-components/lib/posts/list/PostList.jsx
2016-03-22 10:22:46 +09:00

37 lines
No EOL
1.1 KiB
JavaScript

const PostList = ({results, currentUser, hasMore, ready, count, totalCount, loadMore, showViews = true}) => {
({PostItem, LoadMore, PostsLoading, NoPosts, NoMorePosts, PostViews} = Telescope.components);
if (!!results.length) {
return (
<div className="postList">
{showViews ? <PostViews /> : null}
<div className="post-list-content">
{results.map(post => <PostItem post={post} currentUser={currentUser} key={post._id}/>)}
</div>
{hasMore ? (ready ? <LoadMore loadMore={loadMore} count={count} totalCount={totalCount} /> : <PostsLoading/>) : <NoMorePosts/>}
</div>
)
} else if (!ready) {
return (
<div className="postList">
{showViews ? <PostViews /> : null}
<div className="post-list-content">
<PostsLoading/>
</div>
</div>
)
} else {
return (
<div className="postList">
{showViews ? <PostViews /> : null}
<div className="post-list-content">
<NoPosts/>
</div>
</div>
)
}
};
module.exports = PostList;