Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 63x | import { TMerchantDocument } from "@components/Merchants/MerchantPreview/data.types";
import { useCustomThemeV2 } from "@theme/hooks/useCustomThemeV2";
import { downloadDocument } from "@hooks/common/documents/utils";
import { useMerchantSidePanelContext } from "features/Merchants/MerchantSidePanel/Provider/MerchantSidePanelProvider";
import IDUploader from "features/Merchants/MerchantSidePanel/components/PrimaryAccountHolderSection/IDUploader";
import { TBusinessOwner } from "@components/common/BusinessOwners/types";
import { extractExtensionFromURL } from "@utils/helpers";
import { getOwnerIdImage } from "@components/Merchants/MerchantPreview/utils";
import useDocumentPreviewV2 from "@shared/FilePreview/hooks/useDocumentPreviewV2";
interface Props {
owner: TBusinessOwner;
idFile?: TMerchantDocument | any;
merchantId?: number;
}
export const BOIDDisplay = ({ owner, idFile, merchantId }: Props) => {
const { id } = useMerchantSidePanelContext();
const { isDesktopView } = useCustomThemeV2();
const isLocalFile = idFile && "meta" in idFile;
const idUrl = getOwnerIdImage(
isLocalFile,
idFile?.meta?.previewUrl,
idFile?.fileURL,
owner?.idImageUrl,
);
const idName = isLocalFile ? idFile.meta?.name : idFile?.fileName;
const idFileType = isLocalFile
? idFile?.meta?.type.split("/")[1]
: idFile?.fileType;
const idFileId = isLocalFile ? idFile?.meta?.id : idFile?.id;
const isConfirmMatch = owner?.pepStatusName === "confirmed_match";
const downloadID = async () => {
if (!idUrl) return;
downloadDocument(
{
fileName: idName || "business-owner",
fileURL: idUrl || "",
},
isDesktopView,
true,
);
};
const { handlePreview } = useDocumentPreviewV2({
entityId: merchantId as number,
});
const previewDocument = () => {
// if no file url, skip preview
if (!idUrl) return;
const extension = idFileType ? "" : extractExtensionFromURL(idUrl);
const fileToPreview = {
fileURL: idUrl,
fileName: idName || "business-owner." + extension,
fileType: idFileType || extension,
id: idFileId || 1,
tag: "legal_principal",
} as TMerchantDocument;
handlePreview(fileToPreview, true);
};
const { isMobileView } = useCustomThemeV2();
return (
<IDUploader
type={"businessOwnerID"}
isMobile={isMobileView}
disabled={false}
merchantId={merchantId as number}
docUrl={idUrl}
downloadHandler={downloadID}
previewDocument={previewDocument}
isUploadAllowed={false}
isDeleteAllowed={isConfirmMatch}
fileId={idFile?.id || 1}
/>
);
};
|