This commit is contained in:
Manav Rathi
2025-06-17 18:50:13 +05:30
parent 21d3f42e2a
commit 44ea3d92e2
9 changed files with 41 additions and 49 deletions

View File

@@ -36,8 +36,6 @@ import {
GalleryItemsSummary,
} from "ente-new/photos/components/gallery/ListHeader";
import {
ALL_SECTION,
HIDDEN_ITEMS_SECTION,
isHiddenCollection,
leaveSharedCollection,
renameCollection,
@@ -45,9 +43,10 @@ import {
updateCollectionSortOrder,
updateCollectionVisibility,
} from "ente-new/photos/services/collection";
import type {
CollectionSummary,
CollectionSummaryType,
import {
PseudoCollectionID,
type CollectionSummary,
type CollectionSummaryType,
} from "ente-new/photos/services/collection-summary";
import {
clearLocalTrash,
@@ -207,12 +206,12 @@ const CollectionOptions: React.FC<CollectionHeaderProps> = ({
const deleteCollectionAlongWithFiles = wrap(async () => {
await CollectionAPI.deleteCollection(activeCollection.id, false);
setActiveCollectionID(ALL_SECTION);
setActiveCollectionID(PseudoCollectionID.all);
});
const deleteCollectionButKeepFiles = wrap(async () => {
await CollectionAPI.deleteCollection(activeCollection.id, true);
setActiveCollectionID(ALL_SECTION);
setActiveCollectionID(PseudoCollectionID.all);
});
const confirmEmptyTrash = () =>
@@ -229,7 +228,7 @@ const CollectionOptions: React.FC<CollectionHeaderProps> = ({
const doEmptyTrash = wrap(async () => {
await emptyTrash();
await clearLocalTrash();
setActiveCollectionID(ALL_SECTION);
setActiveCollectionID(PseudoCollectionID.all);
});
const _downloadCollection = () => {
@@ -275,7 +274,7 @@ const CollectionOptions: React.FC<CollectionHeaderProps> = ({
const leaveSharedAlbum = wrap(async () => {
await leaveSharedCollection(activeCollection.id);
setActiveCollectionID(ALL_SECTION);
setActiveCollectionID(PseudoCollectionID.all);
});
const pinAlbum = wrap(() =>
@@ -291,7 +290,7 @@ const CollectionOptions: React.FC<CollectionHeaderProps> = ({
activeCollection,
ItemVisibility.hidden,
);
setActiveCollectionID(ALL_SECTION);
setActiveCollectionID(PseudoCollectionID.all);
});
const unhideAlbum = wrap(async () => {
@@ -299,7 +298,7 @@ const CollectionOptions: React.FC<CollectionHeaderProps> = ({
activeCollection,
ItemVisibility.visible,
);
setActiveCollectionID(HIDDEN_ITEMS_SECTION);
setActiveCollectionID(PseudoCollectionID.hiddenItems);
});
const changeSortOrderAsc = wrap(() =>

View File

@@ -8,11 +8,11 @@ import {
type GalleryBarImplProps,
} from "ente-new/photos/components/gallery/BarImpl";
import { PeopleHeader } from "ente-new/photos/components/gallery/PeopleHeader";
import { ALL_SECTION } from "ente-new/photos/services/collection";
import {
areOnlySystemCollections,
collectionsSortBy,
isSystemCollection,
PseudoCollectionID,
shouldShowOnCollectionBar,
type CollectionsSortBy,
type CollectionSummaries,
@@ -108,7 +108,7 @@ export const GalleryBarAndListHeader: React.FC<CollectionsProps> = ({
() =>
shouldHide ||
(areOnlySystemCollections(toShowCollectionSummaries) &&
activeCollectionID === ALL_SECTION),
activeCollectionID === PseudoCollectionID.all),
[shouldHide, toShowCollectionSummaries, activeCollectionID],
);

View File

@@ -17,7 +17,6 @@ import { useBaseContext } from "ente-base/context";
import type { Collection } from "ente-media/collection";
import type { CollectionSelectorAttributes } from "ente-new/photos/components/CollectionSelector";
import type { GalleryBarMode } from "ente-new/photos/components/gallery/reducer";
import { ALL_SECTION } from "ente-new/photos/services/collection";
import { PseudoCollectionID } from "ente-new/photos/services/collection-summary";
import { t } from "i18next";
import { type CollectionOp } from "utils/collection";
@@ -338,14 +337,14 @@ const SelectedFileOptions = ({
</IconButton>
</Tooltip>
)}
{activeCollectionID === ALL_SECTION && (
{activeCollectionID === PseudoCollectionID.all && (
<Tooltip title={t("archive")}>
<IconButton onClick={handleFileOp("archive")}>
<ArchiveIcon />
</IconButton>
</Tooltip>
)}
{activeCollectionID !== ALL_SECTION &&
{activeCollectionID !== PseudoCollectionID.all &&
activeCollectionID != PseudoCollectionID.archiveItems &&
!isFavoriteCollection && (
<>

View File

@@ -71,8 +71,11 @@ import {
import { useIsOffline } from "ente-new/photos/components/utils/use-is-offline";
import { usePeopleStateSnapshot } from "ente-new/photos/components/utils/use-snapshot";
import { shouldShowWhatsNew } from "ente-new/photos/services/changelog";
import { ALL_SECTION, createAlbum } from "ente-new/photos/services/collection";
import { areOnlySystemCollections } from "ente-new/photos/services/collection-summary";
import { createAlbum } from "ente-new/photos/services/collection";
import {
areOnlySystemCollections,
PseudoCollectionID,
} from "ente-new/photos/services/collection-summary";
import { getAllLocalCollections } from "ente-new/photos/services/collections";
import exportService from "ente-new/photos/services/export";
import {
@@ -183,7 +186,7 @@ const Page: React.FC = () => {
ownCount: 0,
count: 0,
collectionID: 0,
context: { mode: "albums", collectionID: ALL_SECTION },
context: { mode: "albums", collectionID: PseudoCollectionID.all },
});
const [blockingLoad, setBlockingLoad] = useState(false);
const [shouldDisableDropzone, setShouldDisableDropzone] = useState(false);
@@ -375,7 +378,7 @@ const Page: React.FC = () => {
return;
}
let collectionURL = "";
if (activeCollectionID !== ALL_SECTION) {
if (activeCollectionID !== PseudoCollectionID.all) {
// TODO: Is this URL param even used?
collectionURL = `?collection=${activeCollectionID}`;
}
@@ -1080,7 +1083,7 @@ const Page: React.FC = () => {
!isFirstLoad &&
!normalFiles?.length &&
!hiddenFiles?.length &&
activeCollectionID === ALL_SECTION ? (
activeCollectionID === PseudoCollectionID.all ? (
<GalleryEmptyState
isUploadInProgress={uploadManager.isUploadInProgress()}
onUpload={openUploader}

View File

@@ -54,10 +54,8 @@ import {
GalleryItemsHeaderAdapter,
GalleryItemsSummary,
} from "ente-new/photos/components/gallery/ListHeader";
import {
ALL_SECTION,
isHiddenCollection,
} from "ente-new/photos/services/collection";
import { isHiddenCollection } from "ente-new/photos/services/collection";
import { PseudoCollectionID } from "ente-new/photos/services/collection-summary";
import { sortFiles } from "ente-new/photos/services/files";
import { usePhotosAppContext } from "ente-new/photos/types/context";
import { CustomError, parseSharingErrorCodes } from "ente-shared/error";
@@ -520,7 +518,7 @@ export default function PublicCollectionGallery() {
selectable={downloadEnabled}
selected={selected}
setSelected={setSelected}
activeCollectionID={ALL_SECTION}
activeCollectionID={PseudoCollectionID.all}
setFilesDownloadProgressAttributesCreator={
setFilesDownloadProgressAttributesCreator
}

View File

@@ -9,12 +9,12 @@ import {
createAlbum,
defaultHiddenCollectionUserFacingName,
findDefaultHiddenCollectionIDs,
HIDDEN_ITEMS_SECTION,
isHiddenCollection,
isIncomingShare,
moveToCollection,
restoreToCollection,
} from "ente-new/photos/services/collection";
import { PseudoCollectionID } from "ente-new/photos/services/collection-summary";
import {
getAllLocalCollections,
getLocalCollections,
@@ -113,7 +113,7 @@ export async function downloadDefaultHiddenCollectionHelper(
const setFilesDownloadProgressAttributes =
setFilesDownloadProgressAttributesCreator(
defaultHiddenCollectionUserFacingName,
HIDDEN_ITEMS_SECTION,
PseudoCollectionID.hiddenItems,
true,
);

View File

@@ -16,9 +16,7 @@ import { includes } from "ente-utils/type-guards";
import { t } from "i18next";
import React, { useReducer } from "react";
import {
ALL_SECTION,
findDefaultHiddenCollectionIDs,
HIDDEN_ITEMS_SECTION,
isDefaultHiddenCollection,
isIncomingShare,
} from "../../services/collection";
@@ -534,7 +532,7 @@ const galleryReducer: React.Reducer<GalleryState, GalleryAction> = (
);
const view = {
type: "albums" as const,
activeCollectionSummaryID: ALL_SECTION,
activeCollectionSummaryID: PseudoCollectionID.all,
activeCollection: undefined,
};
@@ -1011,7 +1009,7 @@ const galleryReducer: React.Reducer<GalleryState, GalleryAction> = (
pendingSearchSuggestions: [],
view: {
type: "albums",
activeCollectionSummaryID: ALL_SECTION,
activeCollectionSummaryID: PseudoCollectionID.all,
activeCollection: undefined,
},
isInSearchMode: false,
@@ -1028,7 +1026,7 @@ const galleryReducer: React.Reducer<GalleryState, GalleryAction> = (
pendingSearchSuggestions: [],
view: {
type: "hidden-albums",
activeCollectionSummaryID: HIDDEN_ITEMS_SECTION,
activeCollectionSummaryID: PseudoCollectionID.hiddenItems,
activeCollection: undefined,
},
isInSearchMode: false,
@@ -1073,7 +1071,7 @@ const galleryReducer: React.Reducer<GalleryState, GalleryAction> = (
? "hidden-albums"
: "albums",
activeCollectionSummaryID:
action.collectionSummaryID ?? ALL_SECTION,
action.collectionSummaryID ?? PseudoCollectionID.all,
activeCollection: state.normalCollections
.concat(state.hiddenCollections)
.find(({ id }) => id === action.collectionSummaryID),
@@ -1292,9 +1290,9 @@ const deriveNormalCollectionSummaries = (
normalFiles,
archivedFileIDs,
);
normalCollectionSummaries.set(ALL_SECTION, {
normalCollectionSummaries.set(PseudoCollectionID.all, {
...pseudoCollectionOptionsForFiles(allSectionFiles),
id: ALL_SECTION,
id: PseudoCollectionID.all,
type: "all",
attributes: ["all"],
name: t("section_all"),
@@ -1347,9 +1345,9 @@ const deriveHiddenCollectionSummaries = (
const defaultHiddenFiles = uniqueFilesByID(
hiddenFiles.filter((file) => dhcIDs.has(file.collectionID)),
);
hiddenCollectionSummaries.set(HIDDEN_ITEMS_SECTION, {
hiddenCollectionSummaries.set(PseudoCollectionID.hiddenItems, {
...pseudoCollectionOptionsForFiles(defaultHiddenFiles),
id: HIDDEN_ITEMS_SECTION,
id: PseudoCollectionID.hiddenItems,
name: t("hidden_items"),
type: "hiddenItems",
attributes: ["hiddenItems"],
@@ -1579,7 +1577,8 @@ const deriveAlbumsViewAndSelectedID = (
selectedCollectionSummaryID: activeCollectionSummaryID,
view: {
type: "albums" as const,
activeCollectionSummaryID: activeCollectionSummaryID ?? ALL_SECTION,
activeCollectionSummaryID:
activeCollectionSummaryID ?? PseudoCollectionID.all,
activeCollection,
},
};
@@ -1606,7 +1605,7 @@ const deriveHiddenAlbumsViewAndSelectedID = (
view: {
type: "hidden-albums" as const,
activeCollectionSummaryID:
activeCollectionSummaryID ?? HIDDEN_ITEMS_SECTION,
activeCollectionSummaryID ?? PseudoCollectionID.hiddenItems,
activeCollection,
},
};
@@ -1859,7 +1858,7 @@ const deriveAlbumsFilteredFiles = (
return activeCollectionSummaryID === file.collectionID;
}
if (activeCollectionSummaryID === ALL_SECTION) {
if (activeCollectionSummaryID === PseudoCollectionID.all) {
// Archived files (whether individually archived, or part of some
// archived album) should not be shown in "All".
if (archivedFileIDs.has(file.id)) {
@@ -1890,9 +1889,9 @@ const deriveHiddenAlbumsFilteredFiles = (
const filteredFiles = hiddenFiles.filter((file) => {
if (tempDeletedFileIDs.has(file.id)) return false;
// "Hidden" shows all standalone hidden files.
// "Hidden items" shows all individually hidden files.
if (
activeCollectionSummaryID === HIDDEN_ITEMS_SECTION &&
activeCollectionSummaryID == PseudoCollectionID.hiddenItems &&
defaultHiddenCollectionIDs.has(file.collectionID)
) {
return true;

View File

@@ -72,9 +72,6 @@ export const PseudoCollectionID = {
hiddenItems: -4,
} as const;
export const HIDDEN_ITEMS_SECTION = -4;
export const ALL_SECTION = 0;
/**
* A massaged version of a collection or a pseudo-collection suitable for being
* directly shown in the UI.

View File

@@ -50,9 +50,6 @@ const defaultHiddenCollectionName = ".hidden";
export const defaultHiddenCollectionUserFacingName = "Hidden";
const favoritesCollectionName = "Favorites";
export const HIDDEN_ITEMS_SECTION = -4;
export const ALL_SECTION = 0;
/**
* Return the "user facing" name of the given collection.
*