diff --git a/js/lbry.js b/js/lbry.js index 381dde98f..c783748e6 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -283,21 +283,25 @@ lbry.imagePath = function(file) return lbry.rootPath + '/img/' + file; } -lbry.getMediaType = function(filename) { - var dotIndex = filename.lastIndexOf('.'); - if (dotIndex == -1) { - return 'unknown'; - } - - var ext = filename.substr(dotIndex + 1); - if (/^mp4|mov|m4v|flv|f4v$/i.test(ext)) { - return 'video'; - } else if (/^mp3|m4a|aac|wav|flac|ogg$/i.test(ext)) { - return 'audio'; - } else if (/^html|htm|pdf|odf|doc|docx|md|markdown|txt$/i.test(ext)) { - return 'document'; +lbry.getMediaType = function(contentType, fileName) { + if (contentType) { + return /^[^/]+/.exec(contentType); } else { - return 'unknown'; + var dotIndex = filename.lastIndexOf('.'); + if (dotIndex == -1) { + return 'unknown'; + } + + var ext = filename.substr(dotIndex + 1); + if (/^mp4|mov|m4v|flv|f4v$/i.test(ext)) { + return 'video'; + } else if (/^mp3|m4a|aac|wav|flac|ogg$/i.test(ext)) { + return 'audio'; + } else if (/^html|htm|pdf|odf|doc|docx|md|markdown|txt$/i.test(ext)) { + return 'document'; + } else { + return 'unknown'; + } } } diff --git a/js/page/discover.js b/js/page/discover.js index 11fb00cef..cb9ec24c6 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -105,7 +105,7 @@ var SearchResultRow = React.createClass({
lbry://{this.props.name}

{this.props.title}

- + {this.props.mediaType == 'video' ? : null}

{this.props.description}

@@ -175,8 +175,8 @@ var FeaturedContentItem = React.createClass({ return (
+ description={this.state.metadata.description} mediaType={lbry.getMediaType(this.state.metadata.content_type)} + cost={this.state.amount} nsfw={this.state.metadata.nsfw} available={this.state.available} />
); } }); diff --git a/js/page/my_files.js b/js/page/my_files.js index c311e5b2b..45798766e 100644 --- a/js/page/my_files.js +++ b/js/page/my_files.js @@ -195,7 +195,9 @@ var MyFilesPage = React.createClass({ } var ratioLoaded = written_bytes / total_bytes; - var showWatchButton = (lbry.getMediaType(file_name) == 'video' || lbry.getMediaType(file_name) == 'audio'); + + var mediaType = lbry.getMediaType(metadata.content_type, file_name); + var showWatchButton = (mediaType == 'video'); content.push(
- + {mediaType == 'video' ? : null}