diff --git a/src/index.css b/src/index.css index b13fa9a..6305e66 100644 --- a/src/index.css +++ b/src/index.css @@ -20,11 +20,14 @@ html * ::-webkit-scrollbar-track { } html * ::-webkit-scrollbar-thumb { width: 4px; - background-color: #9A9AAF; - color: #9A9AAF; + background-color: #7e2aea; + color: #7e2aea; border-radius: 5px; } +.cnvs { + width: 80px; +} /* ::-webkit-scrollbar — это фон самого скроллбара. diff --git a/src/pages/AccountSettings/DocumentsDialog/DocumentItem.tsx b/src/pages/AccountSettings/DocumentsDialog/DocumentItem.tsx index ec3530b..6ee36ef 100644 --- a/src/pages/AccountSettings/DocumentsDialog/DocumentItem.tsx +++ b/src/pages/AccountSettings/DocumentsDialog/DocumentItem.tsx @@ -11,7 +11,7 @@ import { Document, Page } from "react-pdf"; import { Buffer } from "buffer"; import { downloadFileToDevice } from "@root/utils/downloadFileToDevice"; import EditIcon from "@mui/icons-material/Edit"; -import { ChangeEvent, useRef } from "react"; +import { ChangeEvent, useEffect, useRef, useState } from "react"; import { SendDocumentsArgs, Verification } from "@root/model/auth"; import { updateDocument } from "@api/verification"; import { jsonToFormdata } from "@utils/jsonToFormdata"; @@ -58,6 +58,22 @@ export default function DocumentItem({ return; }; + const [readyShowDocument, setReadyShowDocument] = useState(false); + + useEffect(() => { + if (typeof documentUrl === 'string') { + if (!documentUrl.includes("pena.digital")) { + console.log(documentUrl) + fetch(documentUrl) + .then(e => { + console.log(e) + setReadyShowDocument(true) + }) + .catch(e => console.log(e)) + } + } + }, []) + async function sendDocument(e: ChangeEvent) { const target = e.target as HTMLInputElement; const file = target?.files?.[0] || null; @@ -76,7 +92,6 @@ export default function DocumentItem({ enqueueSnackbar("Данные обновлены"); } } - return ( {text} - {documentUrl && ( + {documentUrl && readyShowDocument && ( <> - + diff --git a/src/pages/AccountSettings/DocumentsDialog/DocumentUploadItem.tsx b/src/pages/AccountSettings/DocumentsDialog/DocumentUploadItem.tsx index 6961ce9..5572813 100644 --- a/src/pages/AccountSettings/DocumentsDialog/DocumentUploadItem.tsx +++ b/src/pages/AccountSettings/DocumentsDialog/DocumentUploadItem.tsx @@ -1,4 +1,4 @@ -import { ChangeEvent, useRef } from "react" +import { ChangeEvent, useEffect, useRef, useState } from "react" import axios from "axios" import { Document, Page, pdfjs } from "react-pdf" import { Box, SxProps, Theme, Typography } from "@mui/material" @@ -13,12 +13,12 @@ import { readFile } from "@root/utils/readFile" import { downloadFileToDevice } from "@root/utils/downloadFileToDevice" interface Props { - text: string; - document: UserDocument; - documentUrl?: string; - onFileChange: (event: ChangeEvent) => void; - sx?: SxProps; - accept?: string; + text: string; + document: UserDocument; + documentUrl?: string; + onFileChange: (event: ChangeEvent) => void; + sx?: SxProps; + accept?: string; } pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`; @@ -31,12 +31,31 @@ export default function DocumentUploadItem({ sx, accept = "image/*", }: Props) { + const urlOrFile = document.file || documentUrl const fileInputRef = useRef(null) function handleChooseFileClick() { fileInputRef.current?.click() } + const [readyShowDocument, setReadyShowDocument] = useState(false); + + useEffect(() => { + if (typeof urlOrFile === 'string') { + if (!urlOrFile.includes("pena.digital")) { + console.log(documentUrl) + fetch(documentUrl) + .then(e => { + console.log(e) + setReadyShowDocument(true) + }) + .catch(e => console.log(e)) + } + } else { + setReadyShowDocument(true) + } + }, []) + const downloadFile = async () => { if (!document.file && documentUrl) { const { data } = await axios.get(documentUrl, { @@ -93,16 +112,16 @@ export default function DocumentUploadItem({ multiple accept={accept} /> - {(document.file || documentUrl) && - - - } + {urlOrFile && readyShowDocument && + + + } ) } diff --git a/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx b/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx index 5029e21..d34b782 100644 --- a/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx +++ b/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx @@ -13,12 +13,7 @@ import { sendDocuments, updateDocuments } from "@root/api/verification" import { readFile } from "@root/utils/readFile" import { deleteEmptyKeys } from "@root/utils/deleteEmptyKeys" import { verify } from "../helper" -import {ChangeEvent, useState} from "react" import { theme } from "@root/utils/theme" -import makeRequest from "@api/makeRequest" -import {Verification} from "@root/model/auth" -import {jsonToFormdata} from "@utils/jsonToFormdata" -import {parseAxiosError} from "@utils/parse-error" const dialogContainerStyle = { height: "100%", @@ -174,7 +169,7 @@ export default function JuridicalDocumentsDialog() { > - + {verificationStatus === VerificationStatus.VERIFICATED ? "Ваши документы" diff --git a/src/pages/AccountSettings/DocumentsDialog/NkoDocumentsDialog.tsx b/src/pages/AccountSettings/DocumentsDialog/NkoDocumentsDialog.tsx index 7621d33..7271c57 100644 --- a/src/pages/AccountSettings/DocumentsDialog/NkoDocumentsDialog.tsx +++ b/src/pages/AccountSettings/DocumentsDialog/NkoDocumentsDialog.tsx @@ -129,6 +129,7 @@ export default function NkoDocumentsDialog() { text="1. Свидетельство о регистрации НКО" keyName="certificate" documentUrl={documentsUrl["Свидетельство о регистрации НКО"]} + /> - + {verificationStatus === VerificationStatus.VERIFICATED ? "Ваши документы"