feat: enhance poster download functionality by ensuring images load before PDF generation and adding QR readiness check

This commit is contained in:
hamed
2026-07-04 21:50:57 +03:30
parent 3344a2f77a
commit 199c843b08
6 changed files with 255 additions and 38 deletions
+5 -3
View File
@@ -1,5 +1,5 @@
"use client";
import { useRef, useState } from "react";
import { useCallback, useRef, useState } from "react";
import { styleDefault } from "@/mui";
import ShareDI from "@/components/icons/ShareDI";
@@ -11,9 +11,11 @@ import Poster from "../poster";
function Share({ data }) {
const hiddenRef = useRef();
const [open, setOpen] = useState(false);
const [qrReady, setQrReady] = useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
const handleQrReady = useCallback(() => setQrReady(true), []);
return (
<div className="w-full text-left">
@@ -28,7 +30,7 @@ function Share({ data }) {
</Button>
<div className="fixed min-w-[600px] min-h-[700px] w-[600px] h-[700px] top-0 left-0 opacity-0 pointer-events-none -z-10">
<div ref={hiddenRef}>
<Poster data={data} />
<Poster data={data} onQrReady={handleQrReady} />
</div>
</div>
<Modal open={open} onClose={handleClose}>
@@ -54,7 +56,7 @@ function Share({ data }) {
<p className="text-[#525252] text-[11px] md:text-[12px] lg:text-[14px] font-normal">
شما می توانید این پزشک را با دیگران به اشتراک بگذارید:
</p>
<List hiddenRef={hiddenRef} data={data} />
<List hiddenRef={hiddenRef} data={data} qrReady={qrReady} />
</Box>
</Modal>
</div>