From de39b082d008ca751ff181353ed6f5eac9cab561 Mon Sep 17 00:00:00 2001 From: Diptesh Choudhuri Date: Sat, 26 Oct 2024 22:44:01 +0530 Subject: [PATCH] fix(website): add guard to prevent multiple initializations --- apps/website/app/routes/me.tsx | 37 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/apps/website/app/routes/me.tsx b/apps/website/app/routes/me.tsx index fc44aae4ab..cb8c47a03d 100644 --- a/apps/website/app/routes/me.tsx +++ b/apps/website/app/routes/me.tsx @@ -66,24 +66,25 @@ export default function Index() { const [paddle, setPaddle] = useState(); useEffect(() => { - initializePaddle({ - token: loaderData.clientToken, - environment: loaderData.isSandbox ? "sandbox" : undefined, - }).then((paddleInstance) => { - if (paddleInstance) { - paddleInstance.Update({ - eventCallback: (data) => { - if (data.name === CheckoutEventNames.CHECKOUT_COMPLETED) { - paddleInstance.Checkout.close(); - toast.success( - "Purchase successful. Your order will be shipped shortly.", - ); - } - }, - }); - setPaddle(paddleInstance); - } - }); + if (!paddle) + initializePaddle({ + token: loaderData.clientToken, + environment: loaderData.isSandbox ? "sandbox" : undefined, + }).then((paddleInstance) => { + if (paddleInstance) { + paddleInstance.Update({ + eventCallback: (data) => { + if (data.name === CheckoutEventNames.CHECKOUT_COMPLETED) { + paddleInstance.Checkout.close(); + toast.success( + "Purchase successful. Your order will be shipped shortly.", + ); + } + }, + }); + setPaddle(paddleInstance); + } + }); }, []); return (