import React from "react" import escapeHtml from "misago/utils/escape-html" const LAST_POSTER_URL = '%(user)s' const LAST_POSTER_SPAN = '%(user)s' const LAST_REPLY = '%(relative)s' export function Weight(props) { if (props.thread.weight == 2) { return (
  • bookmark {gettext("Pinned globally")}
  • ) } else if (props.thread.weight == 1) { return (
  • bookmark_border {gettext("Pinned locally")}
  • ) } else { return null } } export function Unapproved(props) { if (props.thread.is_unapproved) { return (
  • remove_circle {gettext("Unapproved")}
  • ) } else if (props.thread.has_unapproved_posts) { return (
  • remove_circle_outline {gettext("Unapproved posts")}
  • ) } else { return null } } export function IsHidden(props) { if (props.thread.is_hidden) { return (
  • visibility_off {gettext("Hidden")}
  • ) } else { return null } } export function IsClosed(props) { if (props.thread.is_closed) { return (
  • lock_outline {gettext("Closed")}
  • ) } else { return null } } export function Replies(props) { const message = ngettext( "%(replies)s reply", "%(replies)s replies", props.thread.replies ) const legend = interpolate(message, { replies: props.thread.replies }, true) return (
  • forum {legend}
  • ) } export function LastReply(props) { let user = null if (props.thread.url.last_poster) { user = interpolate( LAST_POSTER_URL, { url: escapeHtml(props.thread.url.last_poster), user: escapeHtml(props.thread.last_poster_name) }, true ) } else { user = interpolate( LAST_POSTER_SPAN, { user: escapeHtml(props.thread.last_poster_name) }, true ) } const date = interpolate( LAST_REPLY, { absolute: escapeHtml(props.thread.last_post_on.format("LLL")), relative: escapeHtml(props.thread.last_post_on.fromNow()) }, true ) const message = interpolate( escapeHtml(gettext("last reply by %(user)s %(date)s")), { date, user }, true ) return (
  • ) } export default function(props) { return (
    ) }