about summary refs log tree commit diff
path: root/app/javascript/mastodon/features/account_gallery/components/media_item.js
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-05-20 01:28:25 +0200
committerGitHub <noreply@github.com>2017-05-20 01:28:25 +0200
commitde475cf8d32744330f8029f13c539237a6567029 (patch)
treeeaad397dac2ea78230500fd3a7e150021b960d57 /app/javascript/mastodon/features/account_gallery/components/media_item.js
parentb369fc2de4ab0242775a56fb6208d9dbf2109d91 (diff)
Add account media gallery view to web UI (#3120)
* Add account media gallery view to web UI

* Link media view from account dropdown

* Adjust link
Diffstat (limited to 'app/javascript/mastodon/features/account_gallery/components/media_item.js')
-rw-r--r--app/javascript/mastodon/features/account_gallery/components/media_item.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/javascript/mastodon/features/account_gallery/components/media_item.js b/app/javascript/mastodon/features/account_gallery/components/media_item.js
new file mode 100644
index 000000000..7d8dddf87
--- /dev/null
+++ b/app/javascript/mastodon/features/account_gallery/components/media_item.js
@@ -0,0 +1,39 @@
+import React from 'react';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import Permalink from '../../../components/permalink';
+
+class MediaItem extends ImmutablePureComponent {
+
+  static propTypes = {
+    media: ImmutablePropTypes.map.isRequired
+  };
+
+  render () {
+    const { media } = this.props;
+    const status = media.get('status');
+
+    let content, style;
+
+    if (media.get('type') === 'gifv') {
+      content = <span className='media-gallery__gifv__label'>GIF</span>;
+    }
+
+    if (!status.get('sensitive')) {
+      style = { backgroundImage: `url(${media.get('preview_url')})` };
+    }
+
+    return (
+      <div className='account-gallery__item'>
+        <Permalink
+          to={`/statuses/${status.get('id')}`}
+          href={status.get('url')}
+          style={style}>
+          {content}
+        </Permalink>
+      </div>
+    );
+  }
+}
+
+export default MediaItem;