File size: 413 Bytes
abcf568 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import { useEffect } from 'react'
export function useBodyScrollLock(shouldLock: boolean) {
useEffect(() => {
if (!shouldLock || typeof document === 'undefined') {
return undefined;
}
const { body } = document;
const previousOverflow = body.style.overflow;
body.style.overflow = 'hidden';
return () => {
body.style.overflow = previousOverflow;
};
}, [shouldLock]);
}
|