diff --git a/src/admin/components/ConfirmModal.tsx b/src/admin/components/ConfirmModal.tsx index fb4f692..166e62a 100644 --- a/src/admin/components/ConfirmModal.tsx +++ b/src/admin/components/ConfirmModal.tsx @@ -1,6 +1,7 @@ import { useEffect, type ReactNode } from "react"; import { motion, AnimatePresence } from "framer-motion"; import useReducedMotion from "../hooks/useReducedMotion"; +import useModalLock from "../hooks/useModalLock"; interface ConfirmModalProps { isOpen: boolean; @@ -93,6 +94,8 @@ export default function ConfirmModal({ loading, }: ConfirmModalProps) { const reducedMotion = useReducedMotion(); + // Lock body scroll while open (ref-counted, nesting-safe) — matches FormModal. + useModalLock(isOpen); useEffect(() => { if (!isOpen) return; @@ -119,7 +122,10 @@ export default function ConfirmModal({ exit={{ opacity: 0 }} transition={{ duration: reducedMotion ? 0 : 0.18 }} > -
+