fix collection file count

This commit is contained in:
Abhinav 2022-06-18 22:53:13 +05:30
parent 40545ad50d
commit a56fa6058b
3 changed files with 21 additions and 12 deletions

View file

@ -19,7 +19,6 @@ import {
syncCollections,
getFavItemIds,
getLocalCollections,
getNonEmptyCollections,
createCollection,
getCollectionSummaries,
} from 'services/collectionService';
@ -371,13 +370,11 @@ export default function Gallery() {
}
const favItemIds = await getFavItemIds(files);
setFavItemIds(favItemIds);
const nonEmptyCollections = getNonEmptyCollections(collections, files);
const archivedCollections = getArchivedCollections(nonEmptyCollections);
const archivedCollections = getArchivedCollections(collections);
setArchivedCollections(archivedCollections);
const collectionSummaries = getCollectionSummaries(
nonEmptyCollections,
collections,
files,
archivedCollections
);

View file

@ -714,8 +714,10 @@ export const getNonEmptyCollections = (
) => {
const nonEmptyCollectionsIds = new Set<number>();
for (const file of files) {
if (!file.isTrashed) {
nonEmptyCollectionsIds.add(file.collectionID);
}
}
return collections.filter((collection) =>
nonEmptyCollectionsIds.has(collection.id)
);
@ -810,7 +812,8 @@ export function getCollectionSummaries(
collectionLatestFiles
)
);
return collectionSummaries;
return filterOutEmptyCollectionSummary(collectionSummaries);
}
function getCollectionsFileCount(files: EnteFile[]): CollectionFilesCount {
@ -882,3 +885,12 @@ function getTrashedCollectionSummaries(
updationTime: collectionsLatestFile.get(TRASH_SECTION)?.updationTime,
};
}
function filterOutEmptyCollectionSummary(
collectionSummaries: CollectionSummaries
) {
return new Map(
// eslint-disable-next-line @typescript-eslint/no-unused-vars
[...collectionSummaries.entries()].filter(([_, v]) => v.fileCount > 0)
) as CollectionSummaries;
}

View file

@ -147,13 +147,13 @@ export function sortFilesIntoCollections(files: EnteFile[]) {
if (!collectionWiseFiles.has(file.collectionID)) {
collectionWiseFiles.set(file.collectionID, []);
}
if (file.isTrashed) {
collectionWiseFiles.get(TRASH_SECTION).push(file);
} else {
collectionWiseFiles.get(file.collectionID).push(file);
if (IsArchived(file)) {
collectionWiseFiles.get(ARCHIVE_SECTION).push(file);
}
if (file.isTrashed) {
collectionWiseFiles.get(TRASH_SECTION).push(file);
}
}
return collectionWiseFiles;