diff --git a/src/pages/FileDownload.jsx b/src/pages/FileDownload.jsx index c18b51c..9995ae9 100644 --- a/src/pages/FileDownload.jsx +++ b/src/pages/FileDownload.jsx @@ -1,4 +1,4 @@ -import { Link, useNavigate, useParams } from 'react-router-dom' +import { Link, useLocation, useNavigate, useParams } from 'react-router-dom' import { memo, useCallback, useEffect, useState } from 'react' import { InfoCircleFilled, CloseCircleOutlined } from '@ant-design/icons' import { Button, Result, Typography } from 'antd' @@ -20,6 +20,8 @@ const FileDownload = memo(function FileDownload() { const [isError, setIsError] = useState(false) const navigate = useNavigate() + const location = useLocation() + const isFirstOpenApp = location.key === 'default' useEffect(() => { invokeWebApiWrapperAsync( @@ -33,10 +35,8 @@ const FileDownload = memo(function FileDownload() { useEffect(() => { invokeWebApiWrapperAsync( async () => { - const files = await FileService.getFilesInfo(idWell) - // TODO Получается только одна категория файлов. - // Поменять при появлении метода получения инфы о конкретном файле - setFile(files.items.find((file) => file.id === idFile) ?? { id: idFile, idWell, name: `File_${idWell}_${idFile}` }) + const file = await FileService.getFileInfo(idFile) + setFile(file) }, null, () => { @@ -48,7 +48,7 @@ const FileDownload = memo(function FileDownload() { }, [idWell, idFile]) const download = useCallback(async () => { - if (!await downloadFile(file)) + if (!file || !await downloadFile(file)) setIsError(true) }, [file]) @@ -60,13 +60,16 @@ const FileDownload = memo(function FileDownload() { <> Вы перешли к странице загрузки файла!
- Файл "{file.name ?? ('№' + idFile)}", скважина "{well.caption ?? ('№' + idWell)}". + Файл "{file?.name ?? ('№' + idFile)}", скважина "{well.caption ?? ('№' + idWell)}". )} // subTitle={} extra={( <> - + {isFirstOpenApp + ? + : + } )}