/* jshint ignore:start */ import React from 'react'; import misago from 'misago'; import escapeHtml from 'misago/utils/escape-html'; import formatFilesize from 'misago/utils/file-size'; const DATE_ABBR = '%(relative)s'; const USER_SPAN = '%(user)s'; const USER_URL = '%(user)s'; export default function(props) { if (props.attachment === null) { return (   ); } return (
{props.attachment.filename}
); } export function AttachmentPreview(props) { if (props.attachment.is_image) { return (
); } else { return (
); } } export function AttachmentIcon(props) { return ( insert_drive_file ); } export function AttachmentThumbnail(props) { const url = props.attachment.url.thumb || props.attachment.url.index; return ( ); } export function AttachmentDetails(props) { let user = null; if (props.attachment.url.uploader) { user = interpolate(USER_URL, { url: escapeHtml(props.attachment.url.uploader), user: escapeHtml(props.attachment.uploader_name) }, true); } else { user = interpolate(USER_SPAN, { user: escapeHtml(props.attachment.uploader_name) }, true); } const date = interpolate(DATE_ABBR, { absolute: escapeHtml(props.attachment.uploaded_on.format('LLL')), relative: escapeHtml(props.attachment.uploaded_on.fromNow()) }, true); const message = interpolate(escapeHtml(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")), { filetype: props.attachment.filetype, size: formatFilesize(props.attachment.size), uploader: user, uploaded_on: date }, true); return (

); }