diff --git a/src/components/pdfRenderer/PdfRenderer.tsx b/src/components/pdfRenderer/PdfRenderer.tsx index 9ea815a1..2a692538 100644 --- a/src/components/pdfRenderer/PdfRenderer.tsx +++ b/src/components/pdfRenderer/PdfRenderer.tsx @@ -8,6 +8,8 @@ import RNFetchBlob from 'react-native-blob-util'; import SuspenseLoader from '@rn-ui-lib/components/suspense_loader/SuspenseLoader'; import Text from '@rn-ui-lib/components/Text'; import { isFunction } from '@components/utlis/commonFunctions'; +import { getFileType } from '@screens/caseDetails/PDFUtil'; +import { DocumentContentType } from '@screens/caseDetails/interface'; const ERROR_STATE = 'ERROR'; @@ -29,8 +31,16 @@ const PdfRenderer: React.FC = ({ docId, url, onPageChange }) => { setPdfFilePath(ERROR_STATE); } else if (highQualityResponse.respInfo.status === 200) { const highQualityImageBase64 = await highQualityResponse.base64(); + const documentType = await getFileType(highQualityImageBase64); + if (documentType !== DocumentContentType.PDF) { + setPdfFilePath(ERROR_STATE); + return; + } await RNFetchBlob.fs.writeFile(cacheFilePath, highQualityImageBase64, 'base64'); - setPdfFilePath(cacheFilePath); + const exists = await RNFetchBlob.fs.exists(cacheFilePath); + if (exists) { + setPdfFilePath(cacheFilePath); + } } }; diff --git a/src/screens/trainingMaterial/TrainingMaterialDetail.tsx b/src/screens/trainingMaterial/TrainingMaterialDetail.tsx index 787c9dcd..c14cfae9 100644 --- a/src/screens/trainingMaterial/TrainingMaterialDetail.tsx +++ b/src/screens/trainingMaterial/TrainingMaterialDetail.tsx @@ -23,7 +23,7 @@ const TrainingMaterialDetail: React.FC = (props) => params: { trainingMaterialData }, }, } = props; - const { title, fileType, referenceId } = trainingMaterialData; + const { title, fileType, referenceId } = trainingMaterialData || {}; const isVideo = fileType === TrainingMaterialContentType.VIDEO; const [fileDetails, setFileDetails] = React.useState({ referenceId: '',