import * as React from 'react'; import IPost from '../../interfaces/IPost'; import IPostStatus from '../../interfaces/IPostStatus'; import PostStatusSelect from './PostStatusSelect'; import PostStatusLabel from '../shared/PostStatusLabel'; import Comments from '../../containers/Comments'; import { MutedText } from '../shared/CustomTexts'; import friendlyDate from '../../helpers/friendlyDate'; interface Props { postId: number; post: IPost; postStatuses: Array; isLoggedIn: boolean; isPowerUser: boolean; authenticityToken: string; requestPost(postId: number): void; changePostStatus( postId: number, newPostStatusId: number, authenticityToken: string, ): void; } class PostP extends React.Component { componentDidMount() { this.props.requestPost(this.props.postId); } render() { const { post, postStatuses, isPowerUser, authenticityToken, changePostStatus, } = this.props; return (

{post.title}

{ isPowerUser && post ? changePostStatus(post.id, newPostStatusId, authenticityToken) } /> : postStatus.id === post.postStatusId)} /> }

{post.description}

{friendlyDate(post.createdAt)}
); } } export default PostP;