From e2ce301885781f7533a26d1b90edd536defea6d6 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Sat, 9 Nov 2024 11:45:11 +0530 Subject: [PATCH] Ref fin --- .../photos/src/components/FixCreationTime.tsx | 13 ++++++++++++- web/apps/photos/src/pages/gallery.tsx | 8 ++++---- web/apps/photos/src/utils/file/index.ts | 19 ++----------------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/web/apps/photos/src/components/FixCreationTime.tsx b/web/apps/photos/src/components/FixCreationTime.tsx index af2a75107d..d5b3ab587a 100644 --- a/web/apps/photos/src/components/FixCreationTime.tsx +++ b/web/apps/photos/src/components/FixCreationTime.tsx @@ -30,12 +30,18 @@ import { import { useFormik } from "formik"; import { t } from "i18next"; import { GalleryContext } from "pages/gallery"; -import React, { useContext, useState } from "react"; +import React, { useContext, useEffect, useState } from "react"; type FixCreationTimeProps = ModalVisibilityProps & { + /** + * The {@link EnteFile}s whose creation time the user wishes to modify. + */ files: EnteFile[]; }; +/** + * A dialog allowing the user to modify the creation time of selected files. + */ export const FixCreationTime: React.FC = ({ open, onClose, @@ -46,6 +52,11 @@ export const FixCreationTime: React.FC = ({ const galleryContext = useContext(GalleryContext); + useEffect(() => { + // Reset the step whenever the dialog is reopened. + if (open) setStep(undefined); + }, [open]); + const onSubmit = async (values: FormValues) => { setStep("running"); const completedWithErrors = await updateFiles( diff --git a/web/apps/photos/src/pages/gallery.tsx b/web/apps/photos/src/pages/gallery.tsx index 27ce8ff4f4..0f75fb4f4f 100644 --- a/web/apps/photos/src/pages/gallery.tsx +++ b/web/apps/photos/src/pages/gallery.tsx @@ -428,9 +428,6 @@ export default function Gallery() { useEffect(() => { collectionNamerAttributes && setCollectionNamerView(true); }, [collectionNamerAttributes]); - useEffect(() => { - fixCreationTimeAttributes && setFixCreationTimeView(true); - }, [fixCreationTimeAttributes]); useEffect(() => { if (typeof activeCollectionID === "undefined" || !router.isReady) { @@ -741,7 +738,10 @@ export default function Gallery() { () => dispatch({ type: "clearTempDeleted" }), (files) => dispatch({ type: "markTempHidden", files }), () => dispatch({ type: "clearTempHidden" }), - setFixCreationTimeAttributes, + (files) => { + setFixCreationTimeFiles(files); + showFixCreationTime(); + }, setFilesDownloadProgressAttributesCreator, ); } diff --git a/web/apps/photos/src/utils/file/index.ts b/web/apps/photos/src/utils/file/index.ts index 01680217db..487b4f49be 100644 --- a/web/apps/photos/src/utils/file/index.ts +++ b/web/apps/photos/src/utils/file/index.ts @@ -534,13 +534,7 @@ export const handleFileOps = async ( clearTempDeleted: () => void, markTempHidden: (tempHiddenFiles: EnteFile[]) => void, clearTempHidden: () => void, - setFixCreationTimeAttributes: ( - fixCreationTimeAttributes: - | { - files: EnteFile[]; - } - | ((prev: { files: EnteFile[] }) => { files: EnteFile[] }), - ) => void, + fixCreationTime: (files: EnteFile[]) => void, setFilesDownloadProgressAttributesCreator: SetFilesDownloadProgressAttributesCreator, ) => { switch (ops) { @@ -583,7 +577,7 @@ export const handleFileOps = async ( break; } case FILE_OPS_TYPE.FIX_TIME: - fixTimeHelper(files, setFixCreationTimeAttributes); + fixCreationTime(files); break; case FILE_OPS_TYPE.ARCHIVE: await changeFilesVisibility(files, ItemVisibility.archived); @@ -596,12 +590,3 @@ export const handleFileOps = async ( break; } }; - -const fixTimeHelper = async ( - selectedFiles: EnteFile[], - setFixCreationTimeAttributes: (fixCreationTimeAttributes: { - files: EnteFile[]; - }) => void, -) => { - setFixCreationTimeAttributes({ files: selectedFiles }); -};