Skip to content

Commit 3380f08

Browse files
Merge pull request Expensify#88753 from MobileMage/MobileMage/fix/87470-file-validation-stale-state
Fix stale isValidatingMultipleFiles state in file validation error modal
2 parents 5e86e48 + 99a74c8 commit 3380f08

1 file changed

Lines changed: 4 additions & 9 deletions

File tree

src/hooks/useFilesValidation.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {Str} from 'expensify-common';
22
import React, {useEffect, useRef, useState} from 'react';
33
// eslint-disable-next-line no-restricted-imports
44
import {InteractionManager} from 'react-native';
5-
import type {ValueOf} from 'type-fest';
65
import ConfirmModal from '@components/ConfirmModal';
76
import {useFullScreenLoaderActions} from '@components/FullScreenLoaderContext';
87
import PDFThumbnail from '@components/PDFThumbnail';
@@ -114,11 +113,6 @@ function useFilesValidation(onFilesValidated: (files: FileObject[], dataTransfer
114113
});
115114
};
116115

117-
const setErrorAndOpenModal = (error: ValueOf<typeof CONST.FILE_VALIDATION_ERRORS>) => {
118-
setFileError({error, isValidatingMultipleFiles});
119-
setIsErrorModalVisible(true);
120-
};
121-
122116
const checkIfAllValidatedAndProceed = () => {
123117
if (!validatedPDFs.current || !validFiles.current) {
124118
return;
@@ -265,9 +259,9 @@ function useFilesValidation(onFilesValidated: (files: FileObject[], dataTransfer
265259
} else {
266260
const errorMessage = result.reason instanceof Error ? result.reason.message : undefined;
267261
if (errorMessage === CONST.FILE_VALIDATION_ERRORS.IMAGE_DIMENSIONS_TOO_LARGE) {
268-
collectedErrors.current.push({error: CONST.FILE_VALIDATION_ERRORS.IMAGE_DIMENSIONS_TOO_LARGE, isValidatingMultipleFiles});
262+
collectedErrors.current.push({error: CONST.FILE_VALIDATION_ERRORS.IMAGE_DIMENSIONS_TOO_LARGE, isValidatingMultipleFiles: validationState.isValidatingMultipleFiles});
269263
} else {
270-
collectedErrors.current.push({error: CONST.FILE_VALIDATION_ERRORS.FILE_CORRUPTED, isValidatingMultipleFiles});
264+
collectedErrors.current.push({error: CONST.FILE_VALIDATION_ERRORS.FILE_CORRUPTED, isValidatingMultipleFiles: validationState.isValidatingMultipleFiles});
271265
}
272266
}
273267
}
@@ -347,7 +341,8 @@ function useFilesValidation(onFilesValidated: (files: FileObject[], dataTransfer
347341
if (items) {
348342
dataTransferItemList.current = items.slice(0, CONST.API_ATTACHMENT_VALIDATIONS.MAX_FILE_LIMIT);
349343
}
350-
setErrorAndOpenModal(CONST.FILE_VALIDATION_ERRORS.MAX_FILE_LIMIT_EXCEEDED);
344+
setFileError({error: CONST.FILE_VALIDATION_ERRORS.MAX_FILE_LIMIT_EXCEEDED, isValidatingMultipleFiles: validationState.isValidatingMultipleFiles});
345+
setIsErrorModalVisible(true);
351346
} else {
352347
validateAndResizeFiles(files, items ?? [], validationState);
353348
}

0 commit comments

Comments
 (0)