diff --git a/js/component/file-tile.js b/js/component/file-tile.js
new file mode 100644
index 000000000..8778d3755
--- /dev/null
+++ b/js/component/file-tile.js
@@ -0,0 +1,87 @@
+import React from 'react';
+import lbry from '../lbry.js';
+import {Link, DownloadLink, WatchLink} from '../component/link.js';
+import {Thumbnail, TruncatedText, CreditAmount} from '../component/common.js';
+
+let FileTile = React.createClass({
+ getInitialState: function() {
+ return {
+ downloading: false,
+ isHovered: false,
+ cost: null,
+ costIncludesData: null,
+ }
+ },
+ handleMouseOver: function() {
+ this.setState({
+ isHovered: true,
+ });
+ },
+ handleMouseOut: function() {
+ this.setState({
+ isHovered: false,
+ });
+ },
+ componentWillMount: function() {
+ if ('cost' in this.props) {
+ this.setState({
+ cost: this.props.cost,
+ costIncludesData: this.props.costIncludesData,
+ });
+ } else {
+ lbry.getCostInfoForName(this.props.name, ({cost, includesData}) => {
+ this.setState({
+ cost: cost,
+ costIncludesData: includesData,
+ });
+ });
+ }
+ },
+ render: function() {
+ var obscureNsfw = !lbry.getClientSetting('showNsfw') && this.props.nsfw;
+ return (
+
+
+ This content is Not Safe For Work.
+ To view adult content, please change your .
+
+
+
+