/* 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 (
|
);
}
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 (
);
}