From 9d6ae6afea4abe38b3ddff56882d073de9417dd0 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Tue, 26 Oct 2021 16:42:32 +0530 Subject: [PATCH] show empty trash button only when trash has files --- src/pages/gallery/index.tsx | 11 +++++++++-- src/services/trashService.ts | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages/gallery/index.tsx b/src/pages/gallery/index.tsx index f70582e1d..3f63ae794 100644 --- a/src/pages/gallery/index.tsx +++ b/src/pages/gallery/index.tsx @@ -87,6 +87,7 @@ import { getLocalTrash, getTrashedFiles, syncTrash, + Trash, } from 'services/trashService'; import DeleteBtn from 'components/DeleteBtn'; @@ -200,6 +201,7 @@ export default function Gallery() { useState(false); const [isFavCollectionActive, setIsFavCollectionActive] = useState(false); + const [trash, setTrash] = useState([]); useEffect(() => { const key = getKey(SESSION_KEYS.ENCRYPTION_KEY); @@ -221,6 +223,7 @@ export default function Gallery() { const trashedFile = getTrashedFiles(trash); setFiles([...files, ...trashedFile]); setCollections(collections); + setTrash(trash); await setDerivativeState(collections, files); await checkSubscriptionPurchase( setDialogMessage, @@ -290,7 +293,8 @@ export default function Gallery() { setCollections(collections); const files = await syncFiles(collections, setFiles); await setDerivativeState(collections, files); - await syncTrash(collections, setFiles, files); + const trash = await syncTrash(collections, setFiles, files); + setTrash(trash); } catch (e) { switch (e.message) { case ServerErrorCodes.SESSION_EXPIRED: @@ -506,6 +510,9 @@ export default function Gallery() { loadingBar.current?.continuousStart(); try { await emptyTrash(); + if (selected.collectionID === TRASH_SECTION) { + clearSelection(); + } } catch (e) { setDialogMessage({ title: constants.ERROR, @@ -682,7 +689,7 @@ export default function Gallery() { isFavoriteCollection={isFavCollectionActive} /> )} - {activeCollection === TRASH_SECTION && ( + {activeCollection === TRASH_SECTION && trash?.length > 0 && ( )} diff --git a/src/services/trashService.ts b/src/services/trashService.ts index 9cbd4aceb..ca2b551f8 100644 --- a/src/services/trashService.ts +++ b/src/services/trashService.ts @@ -72,6 +72,7 @@ export async function syncTrash( trash ); cleanTrashCollections(updatedTrash); + return updatedTrash; } export const updateTrash = async (