diff --git a/apps/admin/src/components/page-builder/BlockTranslationModal.tsx b/apps/admin/src/components/page-builder/BlockTranslationModal.tsx
index cbd60a4..bf1a676 100644
--- a/apps/admin/src/components/page-builder/BlockTranslationModal.tsx
+++ b/apps/admin/src/components/page-builder/BlockTranslationModal.tsx
@@ -1,4 +1,5 @@
import React, { useState, useMemo } from 'react';
+import { createPortal } from 'react-dom';
import {
X,
Copy,
@@ -357,6 +358,11 @@ export default function BlockTranslationModal({
setActiveTab(initialTab);
setParseError(null);
setSuccessMsg(null);
+ const prevOverflow = document.body.style.overflow;
+ document.body.style.overflow = 'hidden';
+ return () => {
+ document.body.style.overflow = prevOverflow;
+ };
}
}, [isOpen, initialTab]);
@@ -1407,8 +1413,8 @@ ${exportJsonString}
if (!isOpen) return null;
- return (
-
+ return createPortal(
+
{/* Header */}
@@ -2035,6 +2041,7 @@ ${exportJsonString}
-
+ ,
+ document.body
);
}
diff --git a/apps/admin/src/components/products/ProductTranslationModal.tsx b/apps/admin/src/components/products/ProductTranslationModal.tsx
index 2b2ca98..974ab19 100644
--- a/apps/admin/src/components/products/ProductTranslationModal.tsx
+++ b/apps/admin/src/components/products/ProductTranslationModal.tsx
@@ -1,4 +1,5 @@
import React, { useState, useMemo } from 'react';
+import { createPortal } from 'react-dom';
import {
X,
Copy,
@@ -142,6 +143,11 @@ export default function ProductTranslationModal({
setActiveTab(initialTab);
setParseError(null);
setSuccessMsg(null);
+ const prevOverflow = document.body.style.overflow;
+ document.body.style.overflow = 'hidden';
+ return () => {
+ document.body.style.overflow = prevOverflow;
+ };
}
}, [isOpen, initialTab]);
@@ -357,8 +363,8 @@ ${exportJsonString}
if (!isOpen) return null;
- return (
-
+ return createPortal(
+
{/* Header */}
@@ -689,6 +695,7 @@ ${exportJsonString}
-
+ ,
+ document.body
);
}