/* jshint ignore:start */
import React from 'react';
import Controls from './controls';
import Select from './select';
import {StatusIcon, getStatusClassName, getStatusDescription} from 'misago/components/user-status';
import PostChangelog from 'misago/components/post-changelog';
import modal from 'misago/services/modal';
export default function(props) {
return (
);
}
export function PosterStatus(props) {
if (!props.post.poster) {
return null;
}
return (
);
}
export function Poster(props) {
if (props.post.poster) {
return (
{props.post.poster.username}
);
} else {
return (
{props.post.poster_name}
);
}
}
export function PosterRank(props) {
if (props.post.poster) {
if (!props.post.poster.rank.is_default) {
const rankClass = 'label-' + (props.post.poster.rank.css_class || 'default');
if (props.post.poster.rank.is_tab) {
return
{props.post.poster.short_title}
;
} else {
return
{props.post.poster.short_title}
;
}
} else {
return null; // we don't display default ranks
}
} else {
return
{gettext("Unregistered")}
;
}
}
export function PostedOn(props) {
const tooltip = interpolate(gettext("posted %(posted_on)s"), {
'posted_on': props.post.posted_on.format('LL, LT')
}, true);
const message = interpolate(gettext("posted %(posted_on)s"), {
'posted_on': props.post.posted_on.fromNow()
}, true);
return
{message}
;
}
export class PostEdits extends React.Component {
onClick = () => {
modal.show(
)
};
render() {
const isHidden = this.props.post.is_hidden && !this.props.post.acl.can_see_hidden;
const isUnedited = this.props.post.edits === 0;
if (isHidden || isUnedited) return null;
const message = ngettext(
"This post was edited %(edits)s time.",
"This post was edited %(edits)s times.",
this.props.post.edits
);
const title = interpolate(message, {
'edits': this.props.post.edits
}, true);
return (
)
}
}
export function UnreadLabel(props) {
if (!props.post.is_read) {
return
{gettext("New")}
;
} else {
return null;
}
}
export function ProtectedLabel(props) {
const postAuthor = props.post.poster && props.post.poster.id === props.user.id;
const hasAcl = props.post.acl.can_protect;
const isVisible = props.user.id && props.post.is_protected && (postAuthor || hasAcl);
if (!isVisible) {
return null;
}
return (
{gettext("Protected")}
);
}