diff --git a/web/apps/photos/src/components/Collections/GalleryBarAndListHeader.tsx b/web/apps/photos/src/components/Collections/GalleryBarAndListHeader.tsx index 2630464b25..c03b06f6ea 100644 --- a/web/apps/photos/src/components/Collections/GalleryBarAndListHeader.tsx +++ b/web/apps/photos/src/components/Collections/GalleryBarAndListHeader.tsx @@ -48,10 +48,9 @@ type GalleryBarAndListHeaderProps = Omit< * When `true`, the bar is be hidden altogether. */ shouldHide: boolean; - collectionSummaries: CollectionSummaries; + barCollectionSummaries: CollectionSummaries; activeCollection: Collection; setActiveCollectionID: (collectionID: number) => void; - hiddenCollectionSummaries: CollectionSummaries; setPhotoListHeader: (value: TimeStampListItem) => void; filesDownloadProgressAttributesList: FilesDownloadProgressAttributes[]; } & Pick< @@ -88,12 +87,11 @@ export const GalleryBarAndListHeader: React.FC< mode, onChangeMode, user, - collectionSummaries, + barCollectionSummaries: toShowCollectionSummaries, activeCollection, activeCollectionID, setActiveCollectionID, setBlockingLoad, - hiddenCollectionSummaries, people, activePerson, emailByUserID, @@ -114,13 +112,6 @@ export const GalleryBarAndListHeader: React.FC< const [collectionsSortBy, setCollectionsSortBy] = useCollectionsSortByLocalState("updation-time-desc"); - const toShowCollectionSummaries = useMemo( - () => - mode == "hidden-albums" - ? hiddenCollectionSummaries - : collectionSummaries, - [mode, hiddenCollectionSummaries, collectionSummaries], - ); const shouldBeHidden = useMemo( () => diff --git a/web/apps/photos/src/pages/gallery.tsx b/web/apps/photos/src/pages/gallery.tsx index af4a3c83bb..84e0ed2d1b 100644 --- a/web/apps/photos/src/pages/gallery.tsx +++ b/web/apps/photos/src/pages/gallery.tsx @@ -108,7 +108,7 @@ import { import { PromiseQueue } from "ente-utils/promise"; import { t } from "i18next"; import { useRouter, type NextRouter } from "next/router"; -import { useCallback, useEffect, useRef, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { FileWithPath } from "react-dropzone"; import { Trans } from "react-i18next"; import { @@ -253,6 +253,19 @@ const Page: React.FC = () => { state.view?.type == "people" ? state.view.activePerson : undefined; const activePersonID = activePerson?.id; + // TODO: Move into reducer + const barCollectionSummaries = useMemo( + () => + barMode == "hidden-albums" + ? state.hiddenCollectionSummaries + : state.normalCollectionSummaries, + [ + barMode, + state.hiddenCollectionSummaries, + state.normalCollectionSummaries, + ], + ); + if (process.env.NEXT_PUBLIC_ENTE_TRACE) console.log("render", state); const router = useRouter(); @@ -967,8 +980,7 @@ const Page: React.FC = () => { }} mode={barMode} shouldHide={isInSearchMode} - collectionSummaries={normalCollectionSummaries} - hiddenCollectionSummaries={state.hiddenCollectionSummaries} + barCollectionSummaries={barCollectionSummaries} emailByUserID={state.emailByUserID} shareSuggestionEmails={state.shareSuggestionEmails} people={