diff --git a/src/renderer/component/fileList/view.jsx b/src/renderer/component/fileList/view.jsx index 9c926e825..1af98000b 100644 --- a/src/renderer/component/fileList/view.jsx +++ b/src/renderer/component/fileList/view.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import lbry from 'lbry.js'; import { buildURI } from 'lbryURI'; import FormField from 'component/formField'; import FileTile from 'component/fileTile'; @@ -49,12 +50,8 @@ class FileList extends React.PureComponent { : fileInfos, title: fileInfos => fileInfos.slice().sort((fileInfo1, fileInfo2) => { - const title1 = fileInfo1.value - ? fileInfo1.value.stream.metadata.title.toLowerCase() - : fileInfo1.claim_name; - const title2 = fileInfo2.value - ? fileInfo2.value.stream.metadata.title.toLowerCase() - : fileInfo2.claim_name; + const title1 = lbry.getFileTitle(fileInfo1).toLowerCase(); + const title2 = lbry.getFileTitle(fileInfo2).toLowerCase(); if (title1 < title2) { return -1; } else if (title1 > title2) { diff --git a/src/renderer/lbry.js b/src/renderer/lbry.js index 79855b4ce..f6887be1e 100644 --- a/src/renderer/lbry.js +++ b/src/renderer/lbry.js @@ -204,6 +204,20 @@ Lbry.getAppVersionInfo = () => ipcRenderer.send('version-info-requested'); }); +Lbry.getFileTitle = fileInfo => { + const { value, metadata, claim_name, name } = fileInfo; + if (metadata) { + // downloaded claim + return metadata.title || claim_name; + } else if (value) { + // published claim + const { title } = value.stream.metadata; + return title || name; + } + // Invalid claim + return ''; +}; + /** * Wrappers for API methods to simulate missing or future behavior. Unlike the old-style stubs, * these are designed to be transparent wrappers around the corresponding API methods.