diff --git a/app/soapbox/components/attachment_list.js b/app/soapbox/components/attachment_list.js deleted file mode 100644 index 52d4e6d77..000000000 --- a/app/soapbox/components/attachment_list.js +++ /dev/null @@ -1,59 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import ImmutablePureComponent from 'react-immutable-pure-component'; - -import Icon from 'soapbox/components/icon'; - -const filename = url => url.split('/').pop().split('#')[0].split('?')[0]; - -export default class AttachmentList extends ImmutablePureComponent { - - static propTypes = { - media: ImmutablePropTypes.list.isRequired, - compact: PropTypes.bool, - }; - - render() { - const { media, compact } = this.props; - - if (compact) { - return ( -
- -
- ); - } - - return ( -
-
- -
- - -
- ); - } - -} diff --git a/app/soapbox/components/attachment_list.tsx b/app/soapbox/components/attachment_list.tsx new file mode 100644 index 000000000..94c496819 --- /dev/null +++ b/app/soapbox/components/attachment_list.tsx @@ -0,0 +1,54 @@ +import React from 'react'; + +import Icon from 'soapbox/components/icon'; + +import type { Attachment as AttachmentEntity } from 'soapbox/types/entities'; + +const filename = (url: string) => url.split('/').pop()!.split('#')[0].split('?')[0]; + +interface IAttachmentList { + media: AttachmentEntity[], + compact?: boolean, +} + +const AttachmentList: React.FC = ({ media, compact }) => { + if (compact) { + return ( +
+ +
+ ); + } + + return ( +
+
+ +
+ + +
+ ); +}; + +export default AttachmentList;