diff --git a/services/web/frontend/js/features/history/context/hooks/use-restore-deleted-file.ts b/services/web/frontend/js/features/history/context/hooks/use-restore-deleted-file.ts index 72aba4f174..c9b07d9d73 100644 --- a/services/web/frontend/js/features/history/context/hooks/use-restore-deleted-file.ts +++ b/services/web/frontend/js/features/history/context/hooks/use-restore-deleted-file.ts @@ -71,26 +71,33 @@ export function useRestoreDeletedFile() { const restoreDeletedFile = useCallback( (selection: HistoryContextValue['selection']) => { - const { selectedFile } = selection + const { selectedFile, files } = selection if ( selectedFile && selectedFile.pathname && isFileRemoved(selectedFile) ) { - sendMB('history-v2-restore-deleted') + const file = files.find(file => file.pathname === selectedFile.pathname) + if (file && isFileRemoved(file)) { + sendMB('history-v2-restore-deleted') - setState('restoring') - restoreFile(projectId, selectedFile).then( - (data: RestoreFileResponse) => { - setRestoredFileMetadata(data) - setState('waitingForFileTree') - }, - error => { - setState('error') - handleError(error) - } - ) + setState('restoring') + + restoreFile(projectId, { + ...selectedFile, + pathname: file.newPathname ?? file.pathname, + }).then( + (data: RestoreFileResponse) => { + setRestoredFileMetadata(data) + setState('waitingForFileTree') + }, + error => { + setState('error') + handleError(error) + } + ) + } } }, [handleError, projectId]