From f8f43b62c6fd97c695a5f175feac05c1e51a26e7 Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Mon, 19 May 2025 11:50:50 +0530 Subject: [PATCH] restore page scroll after modal is closed --- src/components/common/GlobalModel.jsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/common/GlobalModel.jsx b/src/components/common/GlobalModel.jsx index bebdd5ca..afac3c42 100644 --- a/src/components/common/GlobalModel.jsx +++ b/src/components/common/GlobalModel.jsx @@ -15,7 +15,7 @@ const GlobalModel = ({ useEffect(() => { const modalElement = modalRef.current; const modalInstance = new window.bootstrap.Modal(modalElement, { - backdrop: false // Disable backdrop + backdrop: false, }); if (isOpen) { @@ -26,16 +26,27 @@ useEffect(() => { const handleHideModal = () => { closeModal(); + + // ✅ FIX: Remove any lingering body classes/styles + document.body.classList.remove('modal-open'); + document.body.style.overflow = ''; + document.body.style.paddingRight = ''; }; modalElement.addEventListener('hidden.bs.modal', handleHideModal); return () => { modalElement.removeEventListener('hidden.bs.modal', handleHideModal); + + // Also clean up just in case component unmounts + document.body.classList.remove('modal-open'); + document.body.style.overflow = ''; + document.body.style.paddingRight = ''; }; }, [isOpen, closeModal]); + // Dynamically set the modal size classes (modal-sm, modal-lg, modal-xl) const modalSizeClass = size ? `modal-${size}` : ''; // Default is empty if no size is specified