Prechádzať zdrojové kódy

Better named react states (#1581)

Better named react states
Vishnu Mohandas 1 rok pred
rodič
commit
4c27fa547e

+ 6 - 6
apps/photos/src/components/PhotoFrame.tsx

@@ -52,8 +52,8 @@ interface Props {
         selected: SelectedState | ((selected: SelectedState) => SelectedState)
     ) => void;
     selected: SelectedState;
-    deletedFileIds?: Set<number>;
-    setDeletedFileIds?: (value: Set<number>) => void;
+    tempDeletedFileIds?: Set<number>;
+    setTempDeletedFileIds?: (value: Set<number>) => void;
     activeCollectionID: number;
     enableDownload?: boolean;
     fileToCollectionsMap: Map<number, number[]>;
@@ -71,8 +71,8 @@ const PhotoFrame = ({
     favItemIds,
     setSelected,
     selected,
-    deletedFileIds,
-    setDeletedFileIds,
+    tempDeletedFileIds,
+    setTempDeletedFileIds,
     activeCollectionID,
     enableDownload,
     fileToCollectionsMap,
@@ -594,8 +594,8 @@ const PhotoFrame = ({
                 gettingData={getSlideData}
                 getConvertedItem={getConvertedItem}
                 favItemIds={favItemIds}
-                deletedFileIds={deletedFileIds}
-                setDeletedFileIds={setDeletedFileIds}
+                tempDeletedFileIds={tempDeletedFileIds}
+                setTempDeletedFileIds={setTempDeletedFileIds}
                 isTrashCollection={activeCollectionID === TRASH_SECTION}
                 isInHiddenSection={isInHiddenSection}
                 enableDownload={enableDownload}

+ 5 - 5
apps/photos/src/components/PhotoViewer/index.tsx

@@ -85,8 +85,8 @@ interface Iprops {
     id?: string;
     className?: string;
     favItemIds: Set<number>;
-    deletedFileIds: Set<number>;
-    setDeletedFileIds?: (value: Set<number>) => void;
+    tempDeletedFileIds: Set<number>;
+    setTempDeletedFileIds?: (value: Set<number>) => void;
     isTrashCollection: boolean;
     isInHiddenSection: boolean;
     enableDownload: boolean;
@@ -491,13 +491,13 @@ function PhotoViewer(props: Iprops) {
     };
 
     const trashFile = async (file: EnteFile) => {
-        const { deletedFileIds, setDeletedFileIds } = props;
+        const { tempDeletedFileIds, setTempDeletedFileIds } = props;
         try {
             appContext.startLoading();
             await trashFiles([file]);
             appContext.finishLoading();
-            deletedFileIds.add(file.id);
-            setDeletedFileIds(new Set(deletedFileIds));
+            tempDeletedFileIds.add(file.id);
+            setTempDeletedFileIds(new Set(tempDeletedFileIds));
             updateItems(props.items.filter((item) => item.id !== file.id));
             needUpdate.current = true;
         } catch (e) {

+ 14 - 13
apps/photos/src/pages/gallery/index.tsx

@@ -225,10 +225,11 @@ export default function Gallery() {
     const syncInProgress = useRef(true);
     const syncInterval = useRef<NodeJS.Timeout>();
     const resync = useRef<{ force: boolean; silent: boolean }>();
-    const [deletedFileIds, setDeletedFileIds] = useState<Set<number>>(
+    // tempDeletedFileIds and tempHiddenFileIds are used to keep track of files that are deleted/hidden in the current session but not yet synced with the server.
+    const [tempDeletedFileIds, setTempDeletedFileIds] = useState<Set<number>>(
         new Set<number>()
     );
-    const [hiddenFileIds, setHiddenFileIds] = useState<Set<number>>(
+    const [tempHiddenFileIds, setTempHiddenFileIds] = useState<Set<number>>(
         new Set<number>()
     );
     const { startLoading, finishLoading, setDialogMessage, ...appContext } =
@@ -480,17 +481,17 @@ export default function Gallery() {
         if (activeCollectionID === TRASH_SECTION && !isInSearchMode) {
             return getUniqueFiles([
                 ...trashedFiles,
-                ...files.filter((file) => deletedFileIds?.has(file.id)),
+                ...files.filter((file) => tempDeletedFileIds?.has(file.id)),
             ]);
         }
 
         const filteredFiles = getUniqueFiles(
             (isInHiddenSection ? hiddenFiles : files).filter((item) => {
-                if (deletedFileIds?.has(item.id)) {
+                if (tempDeletedFileIds?.has(item.id)) {
                     return false;
                 }
 
-                if (!isInHiddenSection && hiddenFileIds?.has(item.id)) {
+                if (!isInHiddenSection && tempHiddenFileIds?.has(item.id)) {
                     return false;
                 }
 
@@ -606,8 +607,8 @@ export default function Gallery() {
         files,
         trashedFiles,
         hiddenFiles,
-        deletedFileIds,
-        hiddenFileIds,
+        tempDeletedFileIds,
+        tempHiddenFileIds,
         search,
         activeCollectionID,
         archivedCollections,
@@ -737,8 +738,8 @@ export default function Gallery() {
                     logError(e, 'syncWithRemote failed');
             }
         } finally {
-            setDeletedFileIds(new Set());
-            setHiddenFileIds(new Set());
+            setTempDeletedFileIds(new Set());
+            setTempHiddenFileIds(new Set());
             !silent && finishLoading();
         }
         syncInProgress.current = false;
@@ -879,8 +880,8 @@ export default function Gallery() {
                 await handleFileOps(
                     ops,
                     toProcessFiles,
-                    setDeletedFileIds,
-                    setHiddenFileIds,
+                    setTempDeletedFileIds,
+                    setTempHiddenFileIds,
                     setFixCreationTimeAttributes
                 );
             }
@@ -1113,8 +1114,8 @@ export default function Gallery() {
                         favItemIds={favItemIds}
                         setSelected={setSelected}
                         selected={selected}
-                        deletedFileIds={deletedFileIds}
-                        setDeletedFileIds={setDeletedFileIds}
+                        tempDeletedFileIds={tempDeletedFileIds}
+                        setTempDeletedFileIds={setTempDeletedFileIds}
                         setIsPhotoSwipeOpen={setIsPhotoSwipeOpen}
                         activeCollectionID={activeCollectionID}
                         enableDownload={true}

+ 15 - 15
apps/photos/src/utils/file/index.ts

@@ -857,11 +857,11 @@ export const shouldShowAvatar = (file: EnteFile, user: User) => {
 export const handleFileOps = async (
     ops: FILE_OPS_TYPE,
     files: EnteFile[],
-    setDeletedFileIds: (
-        deletedFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
+    setTempDeletedFileIds: (
+        tempDeletedFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
     ) => void,
-    setHiddenFileIds: (
-        hiddenFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
+    setTempHiddenFileIds: (
+        tempHiddenFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
     ) => void,
     setFixCreationTimeAttributes: (
         fixCreationTimeAttributes:
@@ -873,13 +873,13 @@ export const handleFileOps = async (
 ) => {
     switch (ops) {
         case FILE_OPS_TYPE.TRASH:
-            await deleteFileHelper(files, false, setDeletedFileIds);
+            await deleteFileHelper(files, false, setTempDeletedFileIds);
             break;
         case FILE_OPS_TYPE.DELETE_PERMANENTLY:
-            await deleteFileHelper(files, true, setDeletedFileIds);
+            await deleteFileHelper(files, true, setTempDeletedFileIds);
             break;
         case FILE_OPS_TYPE.HIDE:
-            await hideFilesHelper(files, setHiddenFileIds);
+            await hideFilesHelper(files, setTempHiddenFileIds);
             break;
         case FILE_OPS_TYPE.DOWNLOAD:
             await downloadFiles(files);
@@ -899,12 +899,12 @@ export const handleFileOps = async (
 const deleteFileHelper = async (
     selectedFiles: EnteFile[],
     permanent: boolean,
-    setDeletedFileIds: (
-        deletedFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
+    setTempDeletedFileIds: (
+        tempDeletedFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
     ) => void
 ) => {
     try {
-        setDeletedFileIds((deletedFileIds) => {
+        setTempDeletedFileIds((deletedFileIds) => {
             selectedFiles.forEach((file) => deletedFileIds.add(file.id));
             return new Set(deletedFileIds);
         });
@@ -914,25 +914,25 @@ const deleteFileHelper = async (
             await trashFiles(selectedFiles);
         }
     } catch (e) {
-        setDeletedFileIds(new Set());
+        setTempDeletedFileIds(new Set());
         throw e;
     }
 };
 
 const hideFilesHelper = async (
     selectedFiles: EnteFile[],
-    setHiddenFileIds: (
-        hiddenFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
+    setTempHiddenFileIds: (
+        tempHiddenFileIds: Set<number> | ((prev: Set<number>) => Set<number>)
     ) => void
 ) => {
     try {
-        setHiddenFileIds((hiddenFileIds) => {
+        setTempHiddenFileIds((hiddenFileIds) => {
             selectedFiles.forEach((file) => hiddenFileIds.add(file.id));
             return new Set(hiddenFileIds);
         });
         await moveToHiddenCollection(selectedFiles);
     } catch (e) {
-        setHiddenFileIds(new Set());
+        setTempHiddenFileIds(new Set());
         throw e;
     }
 };