Vulcan/packages/nova-base-components/lib/posts/PostPage.jsx

55 lines
1.7 KiB
React
Raw Normal View History

import React from 'react';
import { Accounts } from 'meteor/std:accounts-ui';
2016-03-30 10:52:40 +09:00
import SmartContainers from "meteor/utilities:react-list-container";
const ListContainer = SmartContainers.ListContainer;
import Core from "meteor/nova:core";
const ModalTrigger = Core.ModalTrigger;
2016-03-25 11:30:01 +09:00
const PostPage = ({document, currentUser}) => {
2016-02-18 16:26:52 +09:00
({CommentList, CommentNew, PostItem, PostCategories, SocialShare, Vote, PostStats, HeadTags, AccountsForm} = Telescope.components);
2016-02-18 16:26:52 +09:00
const post = document;
2016-02-23 11:34:40 +09:00
const htmlBody = {__html: post.htmlBody};
2016-02-18 16:26:52 +09:00
return (
<div className="post-page">
2016-02-18 16:26:52 +09:00
{/*<HeadTags url={Posts.getLink(post)} title={post.title}/>*/}
<PostItem post={post}/>
2016-03-22 10:38:57 +09:00
<div className="post-body" dangerouslySetInnerHTML={htmlBody}></div>
2016-03-22 10:38:57 +09:00
{/*<SocialShare url={ Posts.getLink(post) } title={ post.title }/>*/}
2016-02-18 16:26:52 +09:00
2016-02-16 16:12:13 +09:00
<div className="comments-thread">
<h4 className="comments-thread-title">Comments</h4>
2016-02-18 16:26:52 +09:00
<ListContainer
collection={Comments}
publication="comments.list"
2016-02-23 11:34:40 +09:00
selector={{postId: post._id}}
terms={{postId: post._id, view: "postComments"}}
2016-02-18 16:26:52 +09:00
limit={0}
2016-02-18 17:53:04 +09:00
parentProperty="parentCommentId"
2016-03-19 18:19:28 +09:00
joins={Comments.getJoins()}
><CommentList/></ListContainer>
2016-02-23 16:49:56 +09:00
{ currentUser ?
<div className="post-new-comment">
<h4>New Comment:</h4>
<CommentNew type="comment" postId={post._id} />
</div> :
<div>
<ModalTrigger size="small" component={<a>Please log in to comment</a>}>
<AccountsForm/>
</ModalTrigger>
</div> }
2016-02-16 16:12:13 +09:00
</div>
2016-02-18 16:26:52 +09:00
</div>
)
};
2016-03-25 11:30:01 +09:00
module.exports = PostPage;