diff --git a/src/services/fileService.ts b/src/services/fileService.ts index aff0bf5c3..14381b57a 100644 --- a/src/services/fileService.ts +++ b/src/services/fileService.ts @@ -233,12 +233,11 @@ export const getFiles = async ( time = resp.data.diff.slice(-1)[0].updationTime; } setFiles( - [...(files || []), ...decryptedFiles] - .filter((item) => !item.isDeleted) - .sort( - (a, b) => - b.metadata.creationTime - a.metadata.creationTime + sortFiles( + [...(files || []), ...decryptedFiles].filter( + (item) => !item.isDeleted ) + ) ); } while (resp.data.diff.length === limit); return decryptedFiles; diff --git a/src/utils/file/index.ts b/src/utils/file/index.ts index 70bf2373a..71482bdd3 100644 --- a/src/utils/file/index.ts +++ b/src/utils/file/index.ts @@ -140,8 +140,13 @@ export function sortFiles(files: File[]) { files = files .map((file, index) => ({ index, file })) .sort((a, b) => { - let diff = - b.file.metadata.creationTime - a.file.metadata.creationTime; + const fileACreationTime = + a.file.pubMagicMetadata?.data.creationTime ?? + a.file.metadata.creationTime; + const fileBCreationTime = + b.file.pubMagicMetadata?.data.creationTime ?? + a.file.metadata.creationTime; + let diff = fileBCreationTime - fileACreationTime; if (diff === 0) { diff = a.index - b.index; }