]> cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/components/attachment_list.js
Revert Font Awesome 5 upgrade (#8810)
[mastodon.git] / app / javascript / mastodon / components / attachment_list.js
1 import React from 'react';
2 import ImmutablePropTypes from 'react-immutable-proptypes';
3 import PropTypes from 'prop-types';
4 import ImmutablePureComponent from 'react-immutable-pure-component';
5
6 const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
7
8 export default class AttachmentList extends ImmutablePureComponent {
9
10 static propTypes = {
11 media: ImmutablePropTypes.list.isRequired,
12 compact: PropTypes.bool,
13 };
14
15 render () {
16 const { media, compact } = this.props;
17
18 if (compact) {
19 return (
20 <div className='attachment-list compact'>
21 <ul className='attachment-list__list'>
22 {media.map(attachment => {
23 const displayUrl = attachment.get('remote_url') || attachment.get('url');
24
25 return (
26 <li key={attachment.get('id')}>
27 <a href={displayUrl} target='_blank' rel='noopener'><i className='fa fa-link' /> {filename(displayUrl)}</a>
28 </li>
29 );
30 })}
31 </ul>
32 </div>
33 );
34 }
35
36 return (
37 <div className='attachment-list'>
38 <div className='attachment-list__icon'>
39 <i className='fa fa-link' />
40 </div>
41
42 <ul className='attachment-list__list'>
43 {media.map(attachment => {
44 const displayUrl = attachment.get('remote_url') || attachment.get('url');
45
46 return (
47 <li key={attachment.get('id')}>
48 <a href={displayUrl} target='_blank' rel='noopener'>{filename(displayUrl)}</a>
49 </li>
50 );
51 })}
52 </ul>
53 </div>
54 );
55 }
56
57 }
This page took 0.101806 seconds and 6 git commands to generate.