This commit is contained in:
Manav Rathi
2024-11-09 11:45:11 +05:30
parent cd879975d2
commit e2ce301885
3 changed files with 18 additions and 22 deletions

View File

@@ -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<FixCreationTimeProps> = ({
open,
onClose,
@@ -46,6 +52,11 @@ export const FixCreationTime: React.FC<FixCreationTimeProps> = ({
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(

View File

@@ -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,
);
}

View File

@@ -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 });
};